From 8f28d62dc5e1d150f30fcfb4f5f8072e15d9c5dd Mon Sep 17 00:00:00 2001 From: yasincaliskan Date: Mon, 16 Oct 2023 13:14:57 +0000 Subject: [PATCH] deploy: e58bb7306dff58306ae7f7dea167cdd7043e1f73 --- asset-manifest.json | 14 +++++++------- index.html | 2 +- static/js/2.3a3ebdd1.chunk.js.map | 1 - .../{2.3a3ebdd1.chunk.js => 2.9c63d0da.chunk.js} | 6 +++--- ...LICENSE.txt => 2.9c63d0da.chunk.js.LICENSE.txt} | 0 static/js/2.9c63d0da.chunk.js.map | 1 + static/js/main.265de2ae.chunk.js | 2 ++ static/js/main.265de2ae.chunk.js.map | 1 + static/js/main.ced98873.chunk.js | 2 -- static/js/main.ced98873.chunk.js.map | 1 - 10 files changed, 15 insertions(+), 15 deletions(-) delete mode 100644 static/js/2.3a3ebdd1.chunk.js.map rename static/js/{2.3a3ebdd1.chunk.js => 2.9c63d0da.chunk.js} (99%) rename static/js/{2.3a3ebdd1.chunk.js.LICENSE.txt => 2.9c63d0da.chunk.js.LICENSE.txt} (100%) create mode 100644 static/js/2.9c63d0da.chunk.js.map create mode 100644 static/js/main.265de2ae.chunk.js create mode 100644 static/js/main.265de2ae.chunk.js.map delete mode 100644 static/js/main.ced98873.chunk.js delete mode 100644 static/js/main.ced98873.chunk.js.map diff --git a/asset-manifest.json b/asset-manifest.json index ae81803..66aac14 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,26 +1,26 @@ { "files": { "main.css": "/pera-demo-dapp/static/css/main.c74028e2.chunk.css", - "main.js": "/pera-demo-dapp/static/js/main.ced98873.chunk.js", - "main.js.map": "/pera-demo-dapp/static/js/main.ced98873.chunk.js.map", + "main.js": "/pera-demo-dapp/static/js/main.265de2ae.chunk.js", + "main.js.map": "/pera-demo-dapp/static/js/main.265de2ae.chunk.js.map", "runtime-main.js": "/pera-demo-dapp/static/js/runtime-main.f7fecec0.js", "runtime-main.js.map": "/pera-demo-dapp/static/js/runtime-main.f7fecec0.js.map", "static/css/2.61444cb8.chunk.css": "/pera-demo-dapp/static/css/2.61444cb8.chunk.css", - "static/js/2.3a3ebdd1.chunk.js": "/pera-demo-dapp/static/js/2.3a3ebdd1.chunk.js", - "static/js/2.3a3ebdd1.chunk.js.map": "/pera-demo-dapp/static/js/2.3a3ebdd1.chunk.js.map", + "static/js/2.9c63d0da.chunk.js": "/pera-demo-dapp/static/js/2.9c63d0da.chunk.js", + "static/js/2.9c63d0da.chunk.js.map": "/pera-demo-dapp/static/js/2.9c63d0da.chunk.js.map", "static/js/3.1456b3a2.chunk.js": "/pera-demo-dapp/static/js/3.1456b3a2.chunk.js", "static/js/3.1456b3a2.chunk.js.map": "/pera-demo-dapp/static/js/3.1456b3a2.chunk.js.map", "index.html": "/pera-demo-dapp/index.html", "static/css/2.61444cb8.chunk.css.map": "/pera-demo-dapp/static/css/2.61444cb8.chunk.css.map", "static/css/main.c74028e2.chunk.css.map": "/pera-demo-dapp/static/css/main.c74028e2.chunk.css.map", - "static/js/2.3a3ebdd1.chunk.js.LICENSE.txt": "/pera-demo-dapp/static/js/2.3a3ebdd1.chunk.js.LICENSE.txt", + "static/js/2.9c63d0da.chunk.js.LICENSE.txt": "/pera-demo-dapp/static/js/2.9c63d0da.chunk.js.LICENSE.txt", "static/media/close.950baffa.svg": "/pera-demo-dapp/static/media/close.950baffa.svg" }, "entrypoints": [ "static/js/runtime-main.f7fecec0.js", "static/css/2.61444cb8.chunk.css", - "static/js/2.3a3ebdd1.chunk.js", + "static/js/2.9c63d0da.chunk.js", "static/css/main.c74028e2.chunk.css", - "static/js/main.ced98873.chunk.js" + "static/js/main.265de2ae.chunk.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index 2cc14e2..e0bea95 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Pera Wallet Example dApp
\ No newline at end of file +Pera Wallet Example dApp
\ No newline at end of file diff --git a/static/js/2.3a3ebdd1.chunk.js.map b/static/js/2.3a3ebdd1.chunk.js.map deleted file mode 100644 index 625c18f..0000000 --- a/static/js/2.3a3ebdd1.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../src/index.ts","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/react/jsx-runtime.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../../src/encoding/address.ts","../../../../../src/client/v2/basemodel.ts","../node_modules/@hipo/react-ui-toolkit/dist/index.js","../node_modules/react/index.js","../../../../../src/client/v2/jsonrequest.ts","../../../src/browser.ts","../../../src/json.ts","../../../src/local.ts","../../../src/mobile.ts","../../../src/constants.ts","../../../src/encoding.ts","../../../src/misc.ts","../../../src/validators.ts","../../../src/ethereum.ts","../../../src/payload.ts","../../../src/url.ts","../../../src/session.ts","../../../../src/nacl/naclWrappers.ts","../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/nonIterableRest.js","../node_modules/node-libs-browser/node_modules/buffer/index.js","../../../../src/encoding/encoding.ts","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../src/transaction.ts","../../../../src/utils/utils.ts","../node_modules/classnames/index.js","../../../../src/constants/length.ts","../../../../src/constants/default.ts","../../../../src/constants/operations.ts","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../../src/types/transactions/base.ts","../../../src/logicsig.ts","../node_modules/@hipo/react-ui-toolkit/dist/_tslib-b1014349.js","../../../../src/abi/transaction.ts","../../../../src/abi/reference.ts","../../../../src/abi/method.ts","../../../../src/abi/contract.ts","../../../../src/abi/interface.ts","../../../src/multisig.ts","../../../../../../src/client/v2/algod/models/types.ts","../../../../src/encoding/bigint.ts","../../../../src/lib/browser.ts","../node_modules/tweetnacl/nacl-fast.js","../node_modules/webpack/buildin/global.js","../node_modules/process/browser.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@hipo/react-ui-toolkit/dist/keyboardEventConstants-5e9cc0de.js","../../../src/group.ts","../../../../src/types/intDecoding.ts","../node_modules/@hipo/react-ui-toolkit/dist/ListItem.js","../node_modules/@hipo/react-ui-toolkit/dist/numberUtils-17dd20cc.js","../node_modules/@hipo/react-ui-toolkit/dist/Spinner.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../../../../../src/mnemonic/wordlists/english.ts","../../../../src/mnemonic/mnemonic.ts","../../../src/makeTxn.ts","../../../src/error.ts","../node_modules/hi-base32/src/base32.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../../src/convert.ts","../../../../../../src/client/v2/indexer/models/types.ts","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../../src/client/v2/serviceClient.ts","../../../../../../src/client/v2/indexer/lookupAccountTransactions.ts","../../../../src/abi/abi_type.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../../src/browser/index.ts","../node_modules/@hipo/react-ui-toolkit/dist/List.js","../node_modules/@hipo/react-ui-toolkit/dist/Button.js","../../../../src/logic/logic.ts","../../../../src/logicTemplates/templates.js","../node_modules/react-dom/index.js","../../../../src/encoding/uint64.ts","../../../../src/helpers/index.ts","../../../src/signer.ts","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/bn.js/lib/bn.js","../node_modules/@hipo/react-ui-toolkit/dist/Input.js","../node_modules/webpack/buildin/amd-options.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/v1.js","../node_modules/uuid/dist/esm-browser/parse.js","../node_modules/uuid/dist/esm-browser/v35.js","../node_modules/uuid/dist/esm-browser/md5.js","../node_modules/uuid/dist/esm-browser/v3.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/uuid/dist/esm-browser/sha1.js","../node_modules/uuid/dist/esm-browser/v5.js","../node_modules/uuid/dist/esm-browser/nil.js","../node_modules/uuid/dist/esm-browser/version.js","../../../src/main.ts","../../../src/wait.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../src/client/client.ts","../../../../../../src/client/v2/algod/compile.ts","../../../src/rpc.ts","../node_modules/cross-fetch/dist/browser-ponyfill.js","../node_modules/react-modal/lib/index.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@hipo/react-ui-toolkit/dist/arrayUtils-3b3eed7f.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/bowser/es5.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../../../src/errors.ts","../../../src/events.ts","../../../src/storage.ts","../node_modules/is-typedarray/index.js","../node_modules/js-sha3/src/sha3.js","../../../../../../src/client/v2/algod/sendRawTransaction.ts","../node_modules/@perawallet/connect/dist/index.js","../node_modules/query-string/index.js","../MessagePack/webpack/universalModuleDefinition","../MessagePack/webpack/bootstrap","../MessagePack/src/utils/utf8.ts","../MessagePack/src/ExtData.ts","../MessagePack/src/utils/int.ts","../MessagePack/src/timestamp.ts","../MessagePack/src/ExtensionCodec.ts","../MessagePack/src/utils/typedArrays.ts","../MessagePack/src/Encoder.ts","../MessagePack/src/encode.ts","../MessagePack/src/utils/prettyByte.ts","../MessagePack/src/CachedKeyDecoder.ts","../MessagePack/src/Decoder.ts","../MessagePack/src/decode.ts","../MessagePack/src/utils/stream.ts","../MessagePack/src/decodeAsync.ts","../node_modules/@hipo/react-ui-toolkit/dist/FileInput.js","../node_modules/@hipo/react-ui-toolkit/dist/Radio.js","../node_modules/@hipo/react-ui-toolkit/dist/TypeaheadInput.js","../node_modules/@hipo/react-ui-toolkit/dist/Dropdown-bd5bde03.js","../node_modules/@perawallet/connect/dist/index-d147afec.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../../src/env.ts","../../../src/format.ts","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../../../src/browser/aes.ts","../../../../src/browser/hmac.ts","../../../../src/helpers/env.ts","../../../../src/helpers/validators.ts","../node_modules/bignumber.js/bignumber.js","../../../../src/client/algod.js","../../../../src/client/kmd.ts","../../../src/account.ts","../../../src/dryrun.ts","../../../src/composer.ts","../node_modules/prop-types/index.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../../../../../../src/client/v2/algod/accountInformation.ts","../../../../../../src/client/v2/algod/accountAssetInformation.ts","../../../../../../src/client/v2/algod/accountApplicationInformation.ts","../../../../../../src/client/v2/algod/block.ts","../../../../../../src/client/v2/algod/genesis.ts","../../../../../../src/client/v2/algod/getAssetByID.ts","../../../../../../src/client/v2/algod/getApplicationByID.ts","../../../../../../src/client/v2/algod/getBlockHash.ts","../../../../../../src/client/v2/algod/getApplicationBoxes.ts","../../../../../../src/client/v2/algod/healthCheck.ts","../../../../../../src/client/v2/algod/pendingTransactionInformation.ts","../../../../../../src/client/v2/algod/pendingTransactions.ts","../../../../../../src/client/v2/algod/pendingTransactionsByAddress.ts","../../../../../../src/client/v2/algod/getTransactionProof.ts","../../../../../../src/client/v2/algod/status.ts","../../../../../../src/client/v2/algod/statusAfterBlock.ts","../../../../../../src/client/v2/algod/suggestedParams.ts","../../../../../../src/client/v2/algod/supply.ts","../../../../../../src/client/v2/algod/versions.ts","../../../../../../src/client/v2/algod/lightBlockHeaderProof.ts","../../../../../../src/client/v2/algod/stateproof.ts","../../../../../../src/client/v2/algod/algod.ts","../../../../../../src/client/v2/indexer/makeHealthCheck.ts","../../../../../../src/client/v2/indexer/lookupAssetBalances.ts","../../../../../../src/client/v2/indexer/lookupAssetTransactions.ts","../../../../../../src/client/v2/indexer/lookupBlock.ts","../../../../../../src/client/v2/indexer/lookupTransactionByID.ts","../../../../../../src/client/v2/indexer/lookupAccountByID.ts","../../../../../../src/client/v2/indexer/lookupAccountAssets.ts","../../../../../../src/client/v2/indexer/lookupAccountCreatedAssets.ts","../../../../../../src/client/v2/indexer/lookupAccountAppLocalStates.ts","../../../../../../src/client/v2/indexer/lookupAccountCreatedApplications.ts","../../../../../../src/client/v2/indexer/lookupAssetByID.ts","../../../../../../src/client/v2/indexer/lookupApplications.ts","../../../../../../src/client/v2/indexer/lookupApplicationLogs.ts","../../../../../../src/client/v2/indexer/searchAccounts.ts","../../../../../../src/client/v2/indexer/searchForTransactions.ts","../../../../../../src/client/v2/indexer/searchForAssets.ts","../../../../../../src/client/v2/indexer/searchForApplications.ts","../../../../../../src/client/v2/indexer/searchForApplicationBoxes.ts","../../../../../../src/client/v2/indexer/indexer.ts","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/use-composed-ref/dist/use-composed-ref.esm.js","../node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js","../node_modules/use-latest/dist/use-latest.esm.js","../node_modules/vlq/src/index.js","../../../../src/logic/sourcemap.ts","../node_modules/detect-browser/es/index.js","../node_modules/typedarray-to-buffer/index.js","../../../src/network.ts","../node_modules/js-sha512/src/sha512.js","../node_modules/json-bigint/index.js","../../../src/boxStorage.ts","../../../../src/logicTemplates/index.js","../../../src/bid.ts","../../../../src/client/urlTokenBaseHTTPClient.ts","../../../../../../src/client/v2/algod/dryrun.ts","../../../../../../src/client/v2/algod/getApplicationBoxByName.ts","../../../../../../src/client/v2/indexer/lookupApplicationBoxByIDandName.ts","../node_modules/@perawallet/onramp/dist/index.js","../../../src/sdk.ts","../../../src/notifications.ts","../../../src/channel.ts","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/timers-browserify/main.js","../node_modules/setimmediate/setImmediate.js","../node_modules/@hipo/react-ui-toolkit/dist/FormField.js","../node_modules/@hipo/react-ui-toolkit/dist/PasswordInput.js","../node_modules/@hipo/react-ui-toolkit/dist/Checkbox.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@hipo/react-ui-toolkit/dist/RadioGroup.js","../node_modules/@hipo/react-ui-toolkit/dist/TypeaheadSelect.js","../node_modules/@hipo/react-ui-toolkit/dist/FileUploadButton.js","../node_modules/@hipo/react-ui-toolkit/dist/Textarea.js","../node_modules/@hipo/react-ui-toolkit/dist/Toggle.js","../node_modules/@hipo/react-ui-toolkit/dist/Switch.js","../node_modules/@hipo/react-ui-toolkit/dist/DateTimer-b05daf68.js","../node_modules/@hipo/react-ui-toolkit/dist/ProgressBar.js","../node_modules/@hipo/react-ui-toolkit/dist/Toast-d1e1da95.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/@babel/runtime/helpers/isNativeFunction.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/webpack/buildin/module.js","../node_modules/tslib/tslib.es6.js","../../../src/crypto.ts","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/strict-uri-encode/index.js","../node_modules/decode-uri-component/index.js","../node_modules/split-on-first/index.js","../node_modules/ws/browser.js","../node_modules/json-bigint/lib/stringify.js","../node_modules/json-bigint/lib/parse.js","../../../../src/logicTemplates/dynamicfee.js","../../../../src/logicTemplates/htlc.js","../node_modules/js-sha256/src/sha256.js","../../../../src/logicTemplates/limitorder.js","../../../../src/logicTemplates/split.js","../../../../src/logicTemplates/periodicpayment.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/@perawallet/connect/dist/App-38248cd1.js","../QRCodeStyling/webpack/universalModuleDefinition","../QRCodeStyling/node_modules/qrcode-generator/qrcode.js","../QRCodeStyling/src/tools/merge.ts","../QRCodeStyling/src/tools/downloadURI.ts","../QRCodeStyling/src/tools/toDataUrl.ts","../QRCodeStyling/src/constants/qrTypes.ts","../QRCodeStyling/src/constants/errorCorrectionPercents.ts","../QRCodeStyling/src/figures/dot/QRDot.ts","../QRCodeStyling/src/constants/dotTypes.ts","../QRCodeStyling/src/figures/cornerSquare/QRCornerSquare.ts","../QRCodeStyling/src/constants/cornerSquareTypes.ts","../QRCodeStyling/src/figures/cornerDot/QRCornerDot.ts","../QRCodeStyling/src/constants/cornerDotTypes.ts","../QRCodeStyling/src/constants/shapeTypes.ts","../QRCodeStyling/src/core/QRSVG.ts","../QRCodeStyling/src/tools/calculateImageSize.ts","../QRCodeStyling/src/constants/gradientTypes.ts","../QRCodeStyling/src/constants/drawTypes.ts","../QRCodeStyling/src/core/QROptions.ts","../QRCodeStyling/src/constants/errorCorrectionLevels.ts","../QRCodeStyling/src/tools/sanitizeOptions.ts","../QRCodeStyling/src/index.ts","../QRCodeStyling/src/core/QRCodeStyling.ts","../QRCodeStyling/src/tools/getMode.ts","../QRCodeStyling/src/constants/modes.ts","../QRCodeStyling/webpack/bootstrap","../QRCodeStyling/webpack/startup","../webpack:/QRCodeStyling/webpack/runtime/compat get default export","../webpack:/QRCodeStyling/webpack/runtime/define property getters","../webpack:/QRCodeStyling/webpack/runtime/hasOwnProperty shorthand","../node_modules/@evanhahn/lottie-web-light/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/warning/warning.js","../node_modules/exenv/index.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/react-modal/lib/helpers/bodyTrap.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js"],"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","arg","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","_defineProperties","target","props","descriptor","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_inherits","subClass","superClass","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","Reflect","construct","arguments","apply","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","module","require","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","source","getOwnPropertyDescriptors","defineProperties","val","e","default","t","r","s","a","o","n","d","u","c","p","l","m","x","b","q","T","j","v","f","C","h","I","_","D","y","forwardRef","id","title","description","customClassNames","testid","role","container","createElement","ref","className","E","tab","onClick","index","isActive","customClassName","isDisabled","clickableListItemProps","icon","content","FormField","List","ListItem","Input","Spinner","Button","PasswordInput","FileInput","CheckboxInput","RadioInput","RadioGroup","TypeaheadInput","Dropdown","TypeaheadSelect","FileUploadButton","Textarea","Toggle","Switch","DateTimer","useDateTimer","ProgressBar","Toast","ToastContext","ToastContextProvider","useToastContext","useToaster","DescriptionTerm","Tab","items","initialActiveTabIndex","activeTabIndex","children","onTabChange","__read","useState","local","Uint8Array","arrBuf","parsePersonalSign","params","test","address","txData","code","sign","_slicedToArray","arr","Array","isArray","_i","_s","_e","_arr","_n","_d","unsupportedIterableToArray","base64","ieee754","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","from","ArrayBuffer","array","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","fromString","isBuffer","len","checked","copy","buffer","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","compare","concat","list","pos","swap16","swap32","swap64","equals","inspect","max","match","join","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","step","_e2","classNames","classes","argType","inner","LENGTH_512","ENCRYPT_OP","DECRYPT_OP","_toConsumableArray","arrayLikeToArray","INTERNAL_ERROR","SERVER_ERROR","message","return","__assign","assign","__rest","propertyIsEnumerable","__spread","argsEnd","bigIntToBytes","bi","nacl","gf","init","Float64Array","randombytes","_0","_9","gf0","gf1","_121665","D2","X","Y","ts64","vn","xi","yi","crypto_verify_16","crypto_verify_32","crypto_core_salsa20","inp","k","j0","j1","j2","j3","j4","j5","j6","j7","j8","j9","j10","j11","j12","j13","j14","j15","x0","x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13","x14","x15","core_salsa20","crypto_core_hsalsa20","core_hsalsa20","sigma","crypto_stream_salsa20_xor","cpos","mpos","z","crypto_stream_salsa20","crypto_stream","sn","crypto_stream_xor","poly1305","t0","t1","t2","t3","t4","t5","t6","t7","Uint16Array","pad","leftover","fin","crypto_onetimeauth","outpos","update","crypto_onetimeauth_verify","hpos","crypto_secretbox","crypto_secretbox_open","set25519","car25519","sel25519","pack25519","neq25519","par25519","unpack25519","A","Z","M","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","b11","b12","b13","b14","b15","S","inv25519","pow2523","crypto_scalarmult","x32","x16","crypto_scalarmult_base","crypto_box_keypair","crypto_box_beforenm","blocks","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","hibit","h0","h1","h2","h3","h4","h5","h6","h7","h8","h9","r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","mac","macpos","mask","g","want","crypto_box_afternm","crypto_box_open_afternm","K","crypto_hashblocks_hl","hh","hl","bh0","bh1","bh2","bh3","bh4","bh5","bh6","bh7","bl0","bl1","bl2","bl3","bl4","bl5","bl6","bl7","th","tl","wh","Int32Array","wl","ah0","ah1","ah2","ah3","ah4","ah5","ah6","ah7","al0","al1","al2","al3","al4","al5","al6","al7","crypto_hash","add","cswap","pack","tx","ty","zi","scalarmult","scalarbase","crypto_sign_keypair","pk","sk","seeded","L","modL","carry","reduce","crypto_sign","sm","smlen","crypto_sign_open","chk","num","den","den2","den4","den6","unpackneg","crypto_secretbox_BOXZEROBYTES","crypto_sign_BYTES","crypto_sign_PUBLICKEYBYTES","crypto_sign_SECRETKEYBYTES","checkLengths","checkArrayTypes","cleanup","lowlevel","crypto_box","crypto_box_open","crypto_secretbox_KEYBYTES","crypto_secretbox_NONCEBYTES","crypto_secretbox_ZEROBYTES","crypto_scalarmult_BYTES","crypto_scalarmult_SCALARBYTES","crypto_box_PUBLICKEYBYTES","crypto_box_SECRETKEYBYTES","crypto_box_BEFORENMBYTES","crypto_box_NONCEBYTES","crypto_box_ZEROBYTES","crypto_box_BOXZEROBYTES","crypto_sign_SEEDBYTES","crypto_hash_BYTES","randomBytes","secretbox","msg","nonce","open","box","keyLength","nonceLength","overheadLength","scalarMult","base","scalarLength","groupElementLength","publicKey","secretKey","before","checkBoxLengths","after","keyPair","fromSecretKey","publicKeyLength","secretKeyLength","sharedKeyLength","signedMsg","tmp","mlen","detached","sig","verify","fromSeed","seed","seedLength","signatureLength","hash","hashLength","setPRNG","crypto","msCrypto","getRandomValues","Function","window","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","_getPrototypeOf","bind","_defineProperty","KEYBOARD_EVENT_KEY","ENTER","SPACE","ESCAPE","TAB","BACKSPACE","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","CMD","SHIFT","ariaSelected","listItemRef","tabIndex","onKeyPress","navigator","language","locale","style","Intl","NumberFormat","format","toLocaleString","is","NaN","formatToParts","THOUSANDTHS_SEPARATOR","find","DECIMAL_NUMBER_SEPARATOR","MINUS_SIGN","useGrouping","split","LOCALE_NEGATIVE_ZERO","LOCALE_NEGATIVE_DOUBLE_ZERO","DEFAULT_NEGATIVE_ZERO","DEFAULT_NEGATIVE_DOUBLE_ZERO","formatNumber","getNegativeZero","getNumberSeparators","getThousandthSeparatorCount","parseFloat","isNonNegativeNumber","mapDigitsToLocalVersion","map","Map","get","parseNumber","maximumFractionDigits","RegExp","N","O","removeLeadingZeros","color","width","height","viewBox","xmlns","fillRule","clipRule","y1","y2","gradientUnits","stopColor","stopOpacity","__esModule","root","HI_BASE32_NO_NODE_JS","node","COMMON_JS","HI_BASE32_NO_COMMON_JS","AMD","BASE32_ENCODE_CHAR","BASE32_DECODE_CHAR","throwInvalidUtf8","position","partial","decodeAsBytes","base32Str","v1","v2","v3","v4","v5","v6","v7","v8","count","remain","decode","asciiOnly","followingChars","toUtf8String","encode","input","notString","encodeBytes","encodeAscii","encodeUtf8","asBytes","base32","Parent","Class","isNativeReflectConstruct","_cache","has","Wrapper","MICROALGOS_TO_ALGOS_RATIO","INVALID_MICROALGOS_ERROR_MSG","_unsupportedIterableToArray","minLen","_setPrototypeOf","_assertThisInitialized","ReferenceError","_objectWithoutProperties","excluded","sourceSymbolKeys","listItemKeyGenerator","listItemTestId","item","placeholderProps","emptyStateProps","Fragment","shouldDisplayPlaceholder","placeholder","shouldDisplayEmptyState","emptyState","customSpinner","shouldPreventDefault","shouldStopPropagation","shouldFocus","shouldDisplaySpinner","Boolean","autoFocus","preventDefault","stopPropagation","disabled","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","encodeUint64","_arrayLikeToArray","arr2","assert","inherits","superCtor","super_","TempCtor","BN","number","endian","isBN","negative","words","red","_init","wordSize","parseHex","parseBase","left","right","cmp","_initNumber","_initArray","_parseHex","_parseBase","strip","toArray","ceil","w","limbLen","limbPow","total","mod","word","imuln","_iaddn","dest","clone","_expand","_normSign","zeros","groupSizes","groupBases","smallMulTo","ncarry","rword","maxJ","padding","groupSize","groupBase","isZero","modn","idivn","toNumber","toBuffer","toArrayLike","ArrayType","reqLength","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","zeroBits","toTwos","abs","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","xor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","iadd","isub","comb10MulTo","mid","a0","a1","a2","a3","a4","a5","a6","a7","a8","al8","ah8","a9","al9","ah9","bl8","bh8","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","jumboMulTo","FFTM","mulp","mulTo","hncarry","bigMulTo","makeRBT","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","rtwdf","cos","PI","itwdf","sin","rtwdf_","itwdf_","re","ie","ro","io","rx","guessLen13b","odd","conjugate","normalize13b","ws","round","convert13b","stub","ph","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","toBitArray","iushln","bits","carryMask","newCarry","ishln","hint","extended","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","shift","_wordDiv","mode","bhi","diff","qj","div","divmod","positive","divn","umod","divRound","dm","half","acc","egcd","B","isEven","yp","xp","im","isOdd","jm","gcd","_invmp","delta","cmpn","invm","bincn","ucmp","gtn","gt","gten","gte","ltn","lt","lten","lte","eqn","eq","Red","toRed","ctx","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","sqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","imulK","output","outLen","mod3","one","nOne","lpow","inv","wnd","current","currentLen","mont","userAgent","vendor","some","hasError","leftIcon","rightIcon","localizationOptions","autoComplete","autoCorrect","onChange","shouldFormatToLocaleString","R","U","P","isInteger","V","G","$","useEffect","currentTarget","selectionStart","requestAnimationFrame","selectionEnd","__webpack_amd_options__","rnds8","rng","validate","uuid","REGEX","byteToHex","stringify","_nodeId","_clockseq","_lastMSecs","_lastNSecs","options","clockseq","seedBytes","random","msecs","Date","now","nsecs","dt","tmh","parse","hashfunc","generateUUID","namespace","unescape","encodeURIComponent","stringToBytes","DNS","URL","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","cnt","md5ff","md5gg","md5hh","md5ii","md5","v35","length32","hexTab","hex","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","rnds","ROTL","sha1","H","_i2","W","_t","_t2","_objectWithoutPropertiesLoose","sourceKeys","_typeof","_isNativeReflectConstruct","sham","Proxy","valueOf","_possibleConstructorReturn","chunk","__self__","fetch","DOMException","support","Blob","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","Headers","headers","append","header","getOwnPropertyNames","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","view","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","text","readAsText","readBlobAsText","chars","readArrayBufferAsText","formData","json","JSON","oldValue","callback","thisArg","entries","methods","Request","url","credentials","signal","upcased","toUpperCase","normalizeMethod","referrer","form","decodeURIComponent","parseHeaders","rawHeaders","line","parts","Response","bodyInit","status","ok","statusText","response","redirectStatuses","redirect","location","stack","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","getAllResponseHeaders","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","ponyfill","_Modal","_Modal2","objectWithoutPropertiesLoose","filterOutItemsByKey","limitArrayLengthFromTheEnd","updateAtIndex","splice","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chrome","chromium","electron","epiphany","firefox","focus","generic","googlebot","google_search","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","platform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","isBrowser","compareVersion","isEngine","search","versionName","model","canUseDOM","SafeNodeList","SafeHTMLCollection","_exenv","EE","SafeHTMLElement","HTMLElement","HTMLCollection","NodeList","ERROR_SESSION_CONNECTED","ERROR_SESSION_DISCONNECTED","isTypedArray","strict","isStrictTypedArray","loose","isLooseTypedArray","names","Int8Array","Int16Array","Uint8ClampedArray","Float32Array","INPUT_ERROR","WINDOW","JS_SHA3_NO_WINDOW","WEB_WORKER","JS_SHA3_NO_NODE_JS","JS_SHA3_NO_COMMON_JS","ARRAY_BUFFER","JS_SHA3_NO_ARRAY_BUFFER","HEX_CHARS","CSHAKE_PADDING","RC","BITS","SHAKE_BITS","OUTPUT_TYPES","CSHAKE_BYTEPAD","JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW","createOutputMethod","outputType","Keccak","createShakeOutputMethod","outputBits","createCshakeOutputMethod","createKmacOutputMethod","createOutputMethods","createMethod","algorithms","bytepad","Kmac","methodNames","algorithm","methodName","newMethodName","finalized","block","blockCount","byteCount","outputBlocks","extraBytes","lastByteIndex","unshift","encodeString","strs","paddingBytes","finalize","digest","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","b16","b17","b18","b19","b20","b21","b22","b23","b24","b25","b26","b27","b28","b29","b30","b31","b32","b33","b34","b35","b36","b37","b38","b39","b40","b41","b42","b43","b44","b45","b46","b47","b48","b49","PeraWalletConnect","closePeraWalletSignTxnToast","strictUriEncode","decodeComponent","splitOnFirst","validateArrayFormatSeparator","keysSorter","sort","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","parseBooleans","arrayFormat","arrayFormatSeparator","formatter","accumulator","exec","newValue","parserForArrayFormat","param","shouldFilter","skipNull","skipEmptyString","encoderForArrayFormat","objectCopy","parseUrl","query","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","installedModules","__webpack_require__","moduleId","modules","getter","ns","property","TEXT_ENCODING_AVAILABLE","TextEncoder","TextDecoder","utf8Count","strLength","extra","sharedTextEncoder","TEXT_ENCODER_THRESHOLD","utf8EncodeTE","encodeInto","outputOffset","utf8DecodeJs","inputOffset","byte1","byte2","byte3","unit","sharedTextDecoder","TEXT_DECODER_THRESHOLD","setInt64","high","low","setUint32","getInt64","getInt32","getUint32","exceeds_min_safe_int","MIN_SAFE_INTEGER","exceeds_max_safe_int","MAX_SAFE_INTEGER","BigInt","EXT_TIMESTAMP","encodeTimeSpecToTimestamp","sec","nsec","rv","secHigh","secLow","encodeDateToTimeSpec","date","msec","getTime","nsecInSec","encodeTimestampExtension","decodeTimestampToTimeSpec","nsec30AndSecHigh2","decodeTimestampExtension","timeSpec","timestampExtension","builtInEncoders","builtInDecoders","encoders","decoders","register","tryToEncode","encoder","ExtData","decoder","defaultCodec","ExtensionCodec","ensureUint8Array","extensionCodec","maxDepth","initialBufferSize","sortKeys","forceFloat32","ignoreUndefined","forceIntegerToFloat","getUint8Array","reinitializeState","doEncode","depth","encodeNil","encodeBoolean","encodeNumber","encodebigint","encodeObject","ensureBufferSizeToWrite","sizeToWrite","requiredSize","resizeBuffer","newSize","newBuffer","newBytes","newView","writeU8","isSafeInteger","writeU16","writeU32","writeU64","writeI8","writeI16","writeI32","writeI64","writeF32","writeF64","writeBig64","writeStringHeader","encodeExtension","encodeArray","encodeBinary","encodeMap","writeU8a","countWithoutUndefined","setUint8","setInt8","setUint16","setInt16","setInt32","setFloat32","setFloat64","defaultEncodeOptions","prettyByte","byte","padStart","maxKeyLength","maxLengthPerKey","hit","miss","caches","canBeCached","records","recordsLength","FIND_CHUNK","recordBytes","store","cachedValue","slicedCopyOfBytes","EMPTY_VIEW","EMPTY_BYTES","DataViewIndexOutOfBoundsError","getInt8","MORE_DATA","sharedCachedKeyDecoder","maxStrLength","maxBinLength","maxArrayLength","maxMapLength","maxExtLength","keyDecoder","totalPos","headByte","setBuffer","bufferView","appendBuffer","hasRemaining","remainingData","newData","concated","createNoExtraBytesError","posToShow","doDecodeSingleSync","doDecodeSync","decodeAsync","stream","decoded","decodeArrayStream","decodeMultiAsync","decodeStream","isArrayHeaderRequired","arrayItemsLeft","readArraySize","DECODE","readHeadByte","pushMapState","pushArrayState","decodeUtf8String","readF32","readF64","readU8","readU16","readU32","readU64","readI8","readI16","readI32","readI64","lookU8","lookU16","lookU32","decodeBinary","decodeExtension","keyType","readCount","headerOffset","stateIsMapKey","stringBytes","headOffset","extType","getUint8","getUint16","getInt16","getFloat32","getFloat64","defaultDecodeOptions","assertNonNull","ensureAsyncIterabe","streamLike","getReader","releaseLock","htmlFor","acceptedFileTypes","customLabelClassName","isPending","isMultiple","accept","multiple","onSelect","isSelected","inputProps","onFocus","onBlur","onKeyDown","onQueryChange","initialValue","queryChangeDebounceTimeout","useRef","styles","option","selectedOption","focusedOption","onMouseDown","onMouseUp","canSelectAlreadySelected","focusedItemRef","subtitle","CustomContent","onMouseEnter","isVisible","ariaLabelledBy","ariaHidden","isMultiSelect","noOptionsMessage","useLayoutEffect","scrollTop","clientHeight","offsetTop","findIndex","CaretDownIcon","hasHeaderBoxShadow","hasDeselectOption","isMenuOpenHook","headerWithoutButton","shouldCloseOnSelect","onMenuVisibilityChange","areOptionsFetching","deselectOptionTitle","headerButtonClassName","shouldJumpToQuery","shouldShowEmptyOptions","J","Q","canOpenDropdownMenu","ee","te","ne","oe","se","ae","de","le","ce","ue","pe","me","fe","Ee","he","we","ve","toLocaleLowerCase","startsWith","be","Oe","De","ge","Se","Ce","Re","Me","ye","contains","document","documentElement","classList","remove","hidden","Ne","throw","captureStackTrace","listener","channel","onReceiveMessage","close","targetWindow","origin","postMessage","targetOrigin","querySelector","HTMLMetaElement","favicon","getElementsByTagName","getAttribute","protocol","host","pathname","setInterval","clearInterval","closed","sendMessage","setupListener","setAttribute","appendChild","innerHTML","getElementById","localStorage","setItem","accounts","selectedAccount","getItem","removeItem","bridgeURL","webWalletURL","isWebWalletAvailable","shouldDisplayNewBadge","shouldUseSound","silent","promoteMobile","cache","web_wallet","web_wallet_url","display_new_badge","use_sound","promote_mobile","servers","log","atob","jsonrpc","ROOT","CONNECT","TRANSACTION_SIGN","signTxnRequestParams","signer","chainId","txn","event","newPeraWalletTab","signedTxns","signedTxn","signedData","detail","addresses","compactMode","PERA_DOWNLOAD_URL","PERA_WALLET_APP_DEEP_LINK","PERA_WALLET_CONNECT_MODAL_ID","PERA_WALLET_MODAL_CLASSNAME","PERA_WALLET_REDIRECT_MODAL_ID","PERA_WALLET_SIGN_TXN_MODAL_ID","PERA_WALLET_SIGN_TXN_TOAST_ID","bridge","connector","shouldShowSignTxnToast","connected","killSession","isCompactMode","onWebWalletConnect","qrcodeModal","createSession","shadowRoot","isConnected","disconnect","sendCustomRequest","forcePushNotification","flatMap","signers","encodeUnsignedTransaction","authAddr","msig","signTransactionWithWeb","signTransactionWithMobile","signDataWithWeb","signDataWithMobile","detectBrowser","brave","isAndroid","isIOS","isMobile","removeModalWrapperFromDOM","possibleConstructorReturn","assertThisInitialized","isNativeFunction","_wrapNativeSuper","arrayWithoutHoles","iterableToArray","nonIterableSpread","globalObject","BigNumber","isNumeric","mathceil","mathfloor","bignumberError","tooManyDigits","BASE","LOG_BASE","POWS_TEN","SQRT_BASE","MAX","bitFloor","coeffToString","xc","yc","intCheck","toExponential","toFixedPoint","zs","configObject","convertBase","parseNumeric","ONE","DECIMAL_PLACES","ROUNDING_MODE","TO_EXP_NEG","TO_EXP_POS","MIN_EXP","MAX_EXP","CRYPTO","MODULO_MODE","POW_PRECISION","FORMAT","prefix","secondaryGroupSize","groupSeparator","decimalSeparator","fractionGroupSize","fractionGroupSeparator","suffix","ALPHABET","alphabetHasNormalDecimalDigits","alphabet","caseChanged","isNum","_isBigNumber","substring","DEBUG","rm","maxOrMin","normalise","sd","ni","rd","pows10","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","config","EXPONENTIAL_AT","RANGE","isBigNumber","maximum","minimum","pow2_53","random53bitInt","dp","rand","sum","plus","decimal","toBaseOut","baseIn","baseOut","arrL","callerIsToString","multiply","temp","xlo","xhi","klo","khi","aL","bL","subtract","more","prod","prodL","qc","rem","remL","rem0","xL","yc0","yL","yz","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","p1","p2","absoluteValue","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","idiv","exponentiatedBy","isModExp","nIsBig","nIsNeg","nIsOdd","times","integerValue","isEqualTo","isGreaterThan","isGreaterThanOrEqualTo","isLessThan","isLessThanOrEqualTo","isNegative","isPositive","minus","xLTy","xe","modulo","multipliedBy","xcL","ycL","ylo","yhi","zc","sqrtBase","negated","precision","shiftedBy","squareRoot","rep","toFixed","toFormat","g1","g2","intPart","fractionPart","intDigits","toFraction","md","exp","n0","n1","toPrecision","HTTPClient","setSendTransactionHeaders","findTabbableDescendants","element","descendants","querySelectorAll","finished","el","tabbable","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","getComputedStyle","displayValue","getPropertyValue","scrollWidth","scrollHeight","isNotOverflowing","warn","focusable","isTabIndexNotNaN","nodeName","href","parentElement","rootNode","getRootNode","parentNode","visible","isTabIndexNaN","resetState","globalElement","removeAttribute","assertNodeList","setElement","useElement","_safeHTMLElement","validateElement","hide","appElement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","show","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","documentNotReadyOrSSRTesting","_warning","_warning2","nodeList","selector","portalOpenInstances","openInstances","PortalOpenInstances","_this","openInstance","deregister","subscribe","subscribers","eventType","subscriber","_extends","updateRef","useComposedRef","libRef","userRef","prevUserRef","useCallback","HIDDEN_TEXTAREA_STYLE","visibility","overflow","top","forceHiddenStyles","setProperty","hiddenTextarea","SIZING_STYLE","isIE","currentStyle","useWindowResizeListener","latestListener","React","useIsomorphicLayoutEffect","useLatest","handler","TextareaAutosize","_ref","cacheMeasurements","maxRows","minRows","_ref$onChange","_ref$onHeightChange","onHeightChange","isControlled","heightRef","measurementsCacheRef","resizeTextarea","nodeSizingData","sizingStyle","prop","boxSizing","borderRightWidth","borderLeftWidth","paddingRight","paddingLeft","paddingSize","paddingBottom","paddingTop","borderSize","borderBottomWidth","borderTopWidth","getSizingData","_calculateNodeHeight","sizingData","_key","getHeight","rowHeight","minHeight","maxHeight","calculateNodeHeight","char_to_integer","integer_to_char","char","integer","has_continuation_bit","should_negate","__spreadArrays","il","jl","BrowserInfo","NodeInfo","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOT_OS_REGEX","userAgentRules","operatingSystemRules","detect","parseUserAgent","product","matchUserAgent","ua","matched","_a","regex","uaMatch","matchedRule","versionParts","ii","createVersionParts","detectOS","searchBotMatch","JS_SHA512_NO_WINDOW","JS_SHA512_NO_NODE_JS","JS_SHA512_NO_COMMON_JS","JS_SHA512_NO_ARRAY_BUFFER","EXTRA","JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW","Sha512","createHmacOutputMethod","HmacSha512","createHmacMethod","sharedMemory","h0h","h0l","h1h","h1l","h2h","h2l","h3h","h3l","h4h","h4l","h5h","h5l","h6h","h6l","h7h","h7l","hBytes","hashed","oKeyPad","iKeyPad","s0h","s0l","s1h","s1l","abh","abl","dah","dal","cdh","cdl","bch","bcl","majh","majl","t1h","t1l","t2h","t2l","chh","chl","ah","al","bh","bl","ch","cl","dh","dl","eh","fh","fl","gh","gl","dataView","copyTo","attrs","innerHash","sha512","sha384","sha512_256","sha512_224","hmac","json_stringify","json_parse","reference","dynamicFeeTemplate","htlcTemplate","limitOrderTemplate","splitTemplate","periodicPayTemplate","Bid","insertAt","head","firstChild","insertBefore","styleSheet","cssText","createTextNode","ADDRESS","AVAILABLE_ASSETS","PLATFORM","OPT_IN_ENABLED","innerHeight","attachShadow","render","textContent","cloneNode","iframe","accountAddress","availableAssets","optInEnabled","baseUrl","searchParams","getGenericAttribute","closeModal","clientWidth","messagePromise","messageResolve","messageReject","OPT_IN_REQUEST","assetID","ADD_FUNDS_COMPLETED","ADD_FUNDS_FAILED","customElements","Channel","_superPropBase","receiver","desc","for","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","isReactComponent","setState","forceUpdate","isPureReactComponent","__self","__source","defaultProps","$$typeof","_owner","escape","_status","_result","transition","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","Children","only","Component","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","_context","createFactory","createRef","isValidElement","lazy","_payload","memo","startTransition","unstable_act","useContext","useDebugValue","useDeferredValue","useId","useImperativeHandle","useInsertionEffect","useMemo","useReducer","useSyncExternalStore","useTransition","aa","ca","da","Set","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","tag","Qa","Ra","Sa","Ta","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","ab","bb","cb","db","ownerDocument","eb","fb","selected","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","namespaceURI","removeChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","sb","tb","menuitem","area","br","col","embed","hr","img","keygen","link","meta","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","pc","LN2","rc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","Uc","jd","kd","ld","nd","od","keyCode","charCode","pd","qd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","documentMode","datetime","email","month","password","range","tel","time","week","qe","ze","oninput","Ae","detachEvent","Be","attachEvent","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","HTMLIFrameElement","contentWindow","contentEditable","focusedElem","selectionRange","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","Pe","Qe","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","hf","lf","mf","nf","Ub","of","pf","qf","rf","sf","capture","passive","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","eventTime","lane","payload","ih","jh","kh","nh","_reactInternals","lh","mh","oh","shouldComponentUpdate","contextType","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","_stringRef","uh","vh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","ci","baseQueue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","ji","ki","getSnapshot","li","mi","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useMutableSource","unstable_isNewReconciler","identifierPrefix","Ki","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","createElementNS","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","qk","rk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","pendingChildren","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","scope","Timeout","clearFn","_id","_clearFn","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","installMessageChannelImplementation","html","script","installReadyStateChangeImplementation","task","label","labelledBy","labelFor","errorMessages","helperMessages","hideIcon","revealIcon","customIcon","selectedItem","stroke","onRemove","tags","handleTagRemove","dropdownOptions","selectedOptions","typeaheadProps","onTagRemove","onKeywordChange","selectedOptionLimit","shouldDisplaySelectedOptions","shouldFilterOptionsByKeyword","initialKeyword","controlledKeyword","onFileSelect","files","onKeyUp","autoSizeProps","onJustEnterPressed","isRequired","onShiftEnter","textarea","required","selectedItems","onToggle","canSelectMultiple","dataId","ToggleContext","isToggledOn","days","hours","minutes","seconds","cadence","timerType","onEnd","timerInterval","alwaysShowSeconds","titleMap","ariaLabel","ariaValueText","ariaDescribedBy","percentage","trackColor","backgroundColor","completedColor","toastId","customRootId","toastStack","autoCloseToasts","defaultAutoCloseTimeout","toastData","radix","substringStartIndex","hideAll","autoClose","CloseButton","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","maxChunkLength","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","_construct","webpackPolyfill","deprecate","paths","extendStatics","__extends","__","__decorate","decorators","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","fulfilled","__generator","trys","ops","verb","op","__createBinding","k2","__exportStar","__values","ar","__asyncGenerator","resume","fulfill","settle","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","__importDefault","__classPrivateFieldGet","privateMap","__classPrivateFieldSet","arrayWithHoles","iterableToArrayLimit","nonIterableRest","token","singleMatcher","multiMatcher","decodeComponents","components","tokens","encodedURI","replaceMap","customDecodeURIComponent","separator","separatorIndex","gap","indent","escapable","quote","lastIndex","holder","mind","replacer","space","suspectProtoRx","suspectConstructorRx","_options","storeAsString","alwaysParseAsBig","useNativeBigInt","protoAction","constructorAction","at","escapee","uffff","startAt","white","reviver","walk","group","logic","logicSig","templates","transaction","sha256","keccak256","ERROR","JS_SHA256_NO_WINDOW","NODE_JS","JS_SHA256_NO_NODE_JS","JS_SHA256_NO_COMMON_JS","JS_SHA256_NO_ARRAY_BUFFER","JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW","is224","Sha256","nodeWrap","eval","nodeMethod","createHash","HmacSha256","first","s0","s1","maj","sha224","makeTxn","utils","logicsig","onClose","image","dotsOptions","imageOptions","crossOrigin","margin","cornersSquareOptions","cornersDotOptions","handleAccordion","mobileWalletOption","createContextualFragment","webWalletOption","handleChangeView","onClickDownload","onClickBack","webWalletConnect","renderQRCode","checkWebWalletAvaliability","Element","toggle","onClickLaunch","addAudioForConnection","renderLottieAnimation","autoplay","loop","loadAnimation","renderer","path","qrcode","typeNumber","errorCorrectionLevel","_typeNumber","_errorCorrectionLevel","QRErrorCorrectionLevel","_modules","_moduleCount","_dataCache","_dataList","makeImpl","maskPattern","moduleCount","row","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","QRUtil","getPatternPosition","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","maskFunc","getMaskFunction","dark","dataList","rsBlocks","QRRSBlock","getRSBlocks","qrBitBuffer","put","getMode","getLength","getLengthInBits","totalDataCount","dataCount","putBit","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","getBuffer","rsPoly","getErrorCorrectPolynomial","modPoly","qrPolynomial","modIndex","getAt","totalCodeCount","addData","qrNumber","qrAlphaNum","qr8BitByte","qrKanji","isDark","getModuleCount","make","minLostPoint","pattern","lostPoint","getLostPoint","createTableTag","cellSize","qrHtml","createSvgTag","alt","opts","mr","rect","qrSvg","scalable","escapeXml","createDataURL","createImgTag","escaped","createASCII","blocksLastLineNoMargin","ascii","black","renderTo2dContext","fillStyle","fillRect","stringToBytesFuncs","createStringToBytes","unicodeData","numChars","unicodeMap","bin","base64DecodeInputStream","unknownChar","PATTERN_POSITION_TABLE","G15","G18","getBCHDigit","digit","errorCorrectLength","QRMath","gexp","sameCount","darkCount","EXP_TABLE","LOG_TABLE","_num","glog","ratio","RS_BLOCK_TABLE","qrRSBlock","rsBlock","_buffer","_length","bufIndex","_data","strToNum","chatToNum","getCode","_bytes","byteArrayOutputStream","writeByte","_str","_pos","_buflen","getPixel","gif","_width","_height","pixel","writeString","writeShort","raster","getLZWRaster","writeBytes","lzwMinCodeSize","clearCode","endCode","table","lzwTable","_out","_bitLength","_bitBuffer","byteOut","bitOut","dataIndex","flush","_map","_size","setPixel","_base64","writeEncoded","padlen","utf8","charcode","isObject","mergeDeep","sources","targetValue","sourceValue","downloadURI","uri","download","click","toDataURL","onloadend","readAsDataURL","svg","_svg","_type","draw","getNeighbor","drawFunction","_drawDot","_drawClassy","_drawClassyRounded","_drawRounded","_drawExtraRounded","_drawSquare","_rotateFigure","rotation","cx","cy","_element","_basicDot","_basicSquare","_basicSideRounded","_basicCornerRounded","_basicCornerExtraRounded","_basicCornersRounded","leftNeighbor","rightNeighbor","topNeighbor","bottomNeighbor","neighborsCount","dotSize","_basicExtraRounded","squareMask","dotMask","_defs","getElement","drawQR","qr","minSize","realQRSize","shape","shapeTypes","drawImageSize","hideXDots","hideYDots","_qr","loadImage","_image","qrOptions","coverLevel","imageSize","errorCorrectionPercents","maxHiddenDots","originalHeight","originalWidth","maxHiddenAxisDots","hideDots","drawBackground","drawDots","hideBackgroundDots","drawCorners","drawImage","gradientOptions","backgroundOptions","gradient","_createColor","additionalRotation","_backgroundClipPath","xBeginning","yBeginning","dot","_dotsClipPath","xOffset","yOffset","additionalDots","fakeCount","xFakeBeginning","yFakeBeginning","center","cornersSquareSize","cornersDotSize","column","cornersSquareClipPath","cornersDotClipPath","_cornersSquareClipPath","_cornersDotClipPath","cornersSquare","cornersDot","Image","dx","dy","dw","imageUrl","positiveRotation","y0","tan","colorStops","qrTypes","drawTypes","sanitizeGradient","newGradient","colorStop","sanitizeOptions","newOptions","_clearContainer","_setupSvg","qrSVG","_svgDrawingPromise","_extension","_setupCanvas","_canvas","_canvasDrawingPromise","xml","XMLSerializer","serializeToString","image64","btoa","getContext","_getElement","extension","QRCodeStyling","_container","applyExtension","deleteExtension","getRawData","serializer","toBlob","downloadOptions","__webpack_module_cache__","__webpack_modules__","definition","expressionsPlugin","svgNS","locationHref","initialDefaultFrame","_useWebWorker","subframeEnabled","idPrefix","isSafari","bmPow","bmSqrt","bmFloor","bmMin","BMMath","ProjectInterface","propertyNames","absArr","createSizedArray","defaultCurveSegments","degToRads","roundCorner","roundValues","flag","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","direction","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","colorMap","BaseEvent","triggerEvent","eventName","_cbs","callbacks","createTypedArray","createRegularArray","createTypedArrayFactory","createNS","createTag","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","_isAnimated","iterateDynamicProperties","_mdf","initDynamicPropertyContainer","getBlendMode","blendModeEnums","lineCapEnum","lineJoinEnum","Matrix","_cos","_sin","_tan","_rnd","rotate","angle","mCos","mSin","rotateX","rotateY","rotateZ","shear","sx","sy","skew","ax","ay","skewFromAxis","scale","sz","setTransform","translate","tz","e2","f2","i2","l2","m2","n2","o2","_p","_identityCalculated","e1","f1","i1","k1","l1","m1","o1","isIdentity","_identity","matr","cloneFromProps","applyToPoint","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","pt","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","pt1","pt2","pt3","p0","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","pool","math","nodecrypto","chunks","digits","rngname","startdenom","significance","seedrandom","shortseed","mixkey","flatten","entropy","tostring","autoseed","arc4","ARC4","prng","int32","quick","double","pass","is_math_call","keylen","typ","smear","stringseed","plugins","screen","BezierFactory","getBezierEasing","beziers","nm","bezEasing","BezierEasing","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","binarySubdivide","aX","aA","aB","mX1","mX2","currentX","currentT","newtonRaphsonIterate","aGuessT","currentSlope","points","_mSampleValues","_precomputed","mY1","mY2","_precompute","_getTForX","_calcSampleValues","mSampleValues","intervalStart","currentSample","lastSample","guessForT","initialSlope","extendPrototype","destination","sourcePrototype","attr","createProxyFunction","ProxyFunction","bezFunction","pointOnLine2D","y3","det1","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","getBezierLength","pt4","ptCoord","perc","ptDistance","curveSegments","addedLength","point","lastPoint","lengthData","bezierLengthPool","newElement","percents","lengths","getSegmentsLength","shapeData","segmentsLength","segmentsLengthPool","pathV","pathO","pathI","totalLength","BezierData","segmentLength","PointData","partialLength","buildBezierData","storedData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","getPointInSegment","percent","u1","bezierSegmentPoints","getNewSegment","startPerc","endPerc","u0","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","lastTime","vendors","cancelAnimationFrame","currTime","timeToCall","bez","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","_workerSelf","createWorker","Worker","createObjectURL","setupWorker","dataFunctionManager","completeLayers","layers","comps","layerData","jLen","kLen","completed","tt","hasMask","maskProps","masksProperties","convertPathsToAbsoluteValues","findCompLayers","refId","completeShapes","shapes","completeText","__used","ks","checkVersion","animVersionString","animVersion","checkText","minimumVersion","updateTextLayer","textLayer","documentData","iterateLayers","animationData","assets","checkChars","pathData","__converted","checkPathProperties","checkColors","iterateShapes","checkShapes","completeClosingShapes","completeData","__complete","singleShape","moduleOb","assetLoader","formatResponse","contentTypeHeader","getResponseHeader","loadAsset","fullPath","errorCallback","load","onComplete","createProcess","processId","loadData","completeAnimation","anim","getFontProperties","fontData","fStyle","fWeight","weight","FontManager","maxWaitingTime","emptyChar","combinedCharacters","surrogateModifiers","zeroWidthJoiner","trimFontOptions","font","familyArray","enabledFamilies","setUpNode","family","fontFamily","innerText","fontSize","fontVariant","fontStyle","letterSpacing","parent","checkLoadedFonts","fonts","loadedCount","loaded","fOrigin","monoCase","sansCase","initTime","checkLoadedFontsBinded","setIsLoadedBinded","createHelper","def","tHelper","fontProps","fFamily","fClass","addFonts","defs","isLoaded","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","fPath","rel","helper","addChars","getCharData","_warned","measureText","fontName","getFontByName","doubleSize","getComputedTextLength","singleSize","fName","isModifier","firstCharCode","secondCharCode","isZeroWidthJoiner","isCombinedCharacter","setIsLoaded","Font","typekitLoaded","fontPrototype","PropertyFactory","initFrame","mathAbs","interpolateValue","frameNum","caching","offsetTime","propType","pv","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","keyframes","keyframesMetadata","endValue","nextKeyTime","keyTime","to","ind","__fnct","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","quaternionToEuler","slerp","createQuaternion","omega","cosom","sinom","scale0","scale1","az","aw","bx","by","bz","bw","acos","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","bank","s2","s3","getValueAtCurrentTime","comp","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","processEffectsSequence","elem","globalData","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","st","KeyframedMultidimensionalProperty","arrLen","getProp","TransformPropertyFactory","defaultVector","applyToMatrix","mat","rz","ry","px","py","pz","processKeys","forceRender","_isDirty","precalculateMatrix","frameRate","pre","appliedTransformations","autoOriented","getValueAtTime","autoOrient","_addDynamicProperty","TransformProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","pointPool","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","newPath","vertices","outPoints","inPoints","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","localShapeCollection","shapesEqual","shape1","shape2","shapePool","releaseShapes","addShape","ShapeProperty","shapeCollectionPool","newShapeCollection","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","_cw","_v","StarShapeProperty","StarShapePropertyFactory","ir","convertToPath","convertStarToPath","convertPolygonToPath","rad","roundness","perimSegment","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","v0","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","ShapeModifiers","modifiers","registerModifier","factory","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","dataProps","dashStr","dashArray","dashoffset","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","initModifierProperties","addShapeToModifier","setAsAnimated","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segments","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","release","processShapes","shapePaths","totalShapeLength","edges","newShapesData","addShapes","lastShape","addPaths","newPaths","addSegment","shapePath","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","segment","processPath","clonedPath","currentV","currentI","currentO","closerV","distance","newPosPerc","amount","centerPoint","pathLength","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","itemsTransform","cont","hasReloaded","copies","ix","reloadShapes","elems","transformData","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","comparePoints","buildShapeString","pathNodes","_o","shapeString","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","pause","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","proxyImage","canvas","imageLoaded","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","assetsPath","originalPath","imagePath","testImageLoaded","intervalId","getBBox","_imageLoaded","createImageData","_elementHelper","createImgData","createFootageData","footageData","_footageLoaded","loadAssets","images","_createImageData","setPath","setAssetsPath","getAsset","loadedImages","loadedFootages","setCacheType","elementHelper","ImagePreloaderFactory","featureSupport","maskType","filtersFactory","createFilter","filId","skipCoordinates","fil","createAlphaToLuminanceFilter","feColorMatrix","TextAnimatorProperty","textData","renderType","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","sw","fs","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lineWidths","ls","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","animators","matrixHelper","mHelper","renderedLettersCount","letters","tLength","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","currentLine","letterM","letterP","defaultPropsArray","animatorJustifyOffset","animatorFirstCharOffset","justifyOffsetMult","isNewLine","getMult","anIndexes","totalChars","an","animatorOffset","rot","atan","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","charactersArray","shouldCombine","newLineFlag","charData","fontManager","anchorGrouping","currentSize","currentPos","lineWidth","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","animatorData","letterData","based","indexes","rn","newInd","currentInd","updateDocumentData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorPropFactory","_currentTextLength","finalS","finalE","textProperty","easer","tot","smoothness","threshold","newCharsFlag","divisor","poolFactory","initialLength","_create","_release","pooling","cloned","shapeCollection","markerParser","parsePayloadLines","lines","keysCount","_markers","markers","_marker","markerData","tm","duration","dr","cm","BaseRenderer","SVGRenderer","animationItem","svgElement","titleElement","titleId","descElement","descId","maskElement","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","contentVisibility","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","filterSize","pendingElements","destroyed","rendererType","MaskElement","viewData","solidPath","expansor","feMorph","properties","currentMasks","layerId","maskRef","lastPath","filterID","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","level","lvl","pElem","msElem","SVGShapeData","transformers","lStr","SVGTransformData","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","ip","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","AudioElement","FootageElement","buildAllItems","includeLayers","newLayers","setProjectInterface","pInterface","projectInterface","initItems","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","animData","fontsContainer","getAssetData","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextLottieElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","wrapper","maskId","updateContainerSize","appendElementInPos","setMatte","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","nextElement","isFirstFrame","finalMat","finalTransform","mProp","getMaskelement","pathString","pathShapeValue","initHierarchy","_isParent","prepareProperties","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","transforms","ptNew","initRenderable","isInRange","isTransparent","renderableComponents","component","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","cst","opacityId","opFill","ms","ost","SVGElementsRenderer","_identityMatrix","_matrixHelper","createRenderFunction","renderFill","renderGradient","renderGradientStroke","renderStroke","renderPath","renderContentTransform","styleData","itemData","pathStringTransformed","redraw","iterations","lLen","styleElem","hasOpacity","attr1","attr2","cValues","oValues","ang","dist","ShapeTransformManager","sequences","sequenceList","transform_key_count","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","_currentTime","_placeholder","supports3d","textSpans","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","feMergeNode","feMerge","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feComposite","originalNodeAdded","addTransformSequence","sequence","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","effectsInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","textInterface","TextExpressionInterface","setBlendMode","blendModeValue","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","layerElementParent","masker","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","ln","cp","clipId","cpGroup","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","timeRemapped","setElements","getElements","destroyElements","pr","volumeValue","textContainer","buildTextContents","textArray","textContents","currentTextContent","tSpan","usesGlyphs","cachedSpansLength","tElement","justify","textBox","bbox","renderedLetter","textSpan","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","colorBlack","colorWhite","kBlurrinessToSigma","dimensions","sigmaX","sigmaY","edgeMode","initialize","groupPath","elemChildren","childNodes","pathMasker","dasharrayValue","getTotalLength","lineLength","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","outputDelta","inputDelta","_svgMatteSymbols","SVGMatte3Effect","filterElem","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","symbol","animationManager","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","isPaused","subtractPlayingCount","registerAnimation","AnimationItem","setupAnimation","setData","getRegisteredAnimations","lenAnims","animations","addPlayingCount","activate","setParams","setSpeed","setDirection","nowTime","advanceTime","goToAndStop","isFrame","togglePause","searchAnimations","standalone","animElements","getElementsByClassName","resize","freeze","unfreeze","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","onSetupError","onSegmentComplete","animType","CanvasRenderer","rendererSettings","HybridRenderer","autoloadSegments","initialSegment","fileName","trigger","wrapperAttributes","attributes","getNamedItem","prerender","loadNextSegment","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","getMarkerData","markerName","numValue","frameModifier","goToAndPlay","playSegments","nextValue","_isComplete","checkSegments","adjustSegment","setSegment","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","getPath","getDuration","lottie","setLocationHref","setSubframeRendering","setIDPrefix","setQuality","inBrowser","installPlugin","plugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","pair","useWebWorker","__getFactory","scripts","myScript","jsx","jsxs","bodyOpenClassName","portalClassName","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement2","_reactLifecyclesCompat","isReact16","createHTMLElement","getCreatePortal","getParentElement","parentSelector","Modal","_Component","_temp","_len","removePortal","portalRef","portal","renderPortal","defaultStyles","prevProps","prevParent","nextParent","snapshot","_props","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","propTypes","bool","overlay","htmlOpenClassName","oneOfType","afterOpen","overlayClassName","instanceOf","arrayOf","onAfterOpen","func","onRequestClose","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","preventScroll","aria","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","overlayElement","contentElement","contentEl","bottom","border","background","WebkitOverflowScrolling","borderRadius","outline","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","any","objectOf","oneOf","exact","checkPropTypes","PropTypes","focusManager","_scopeTab2","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","parentDocument","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","beforeOpen","closeTimer","setupScopedFocus","markForFocusLater","openAnimationFrame","overlayEl","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","isTabKey","isEscKey","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","additional","attributesFromObject","moveFromContentToOverlay","prevState","_props2","contentStyles","overlayStyles","overlayProps","contentProps","modal","testId","focusLaterElements","handleBlur","handleFocus","toFocus","modalElement","_tabbable","_tabbable2","needToFocus","getActiveElement","checkSafari","warning","ExecutionEnvironment","canUseWorkers","canUseEventListeners","canUseViewport","htmlElement","cls","htmlClassList","removeClass","_cls","docBodyClassList","classString","classListRef","poll","incrementReference","decrementReference","instances","_arr2","check","_portalOpenInstances","nextProps","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","__suppressDeprecationWarning"],"mappings":"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A,SACA,QACA,WACA,SACA,UACA,SACA,UACA,UACA,UACA,MACA,QACA,UACA,SACA,QACA,UACA,QACA,OACA,SACA,OACA,QACA,QACA,MACA,QACA,QACA,OACA,SACA,UACA,SACA,SACA,QACA,MACA,WACA,SACA,UACA,MACA,SACA,UACA,QACA,SACA,SACA,SACA,UACA,OACA,SACA,SACA,WACA,UACA,UACA,QACA,SACA,OACA,SACA,OACA,SACA,UACA,UACA,QACA,QACA,QACA,OACA,UACA,QACA,UACA,OACA,OACA,WACA,QACA,QACA,MACA,UACA,UACA,OACA,SACA,SACA,SACA,MACA,SACA,UACA,SACA,OACA,QACA,SACA,SACA,QACA,OACA,SACA,UACA,SACA,OACA,SACA,QACA,SACA,SACA,UACA,QACA,OACA,QACA,UACA,OACA,SACA,SACA,UACA,SACA,UACA,MACA,OACA,OACA,UACA,OACA,QACA,SACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,SACA,SACA,SACA,OACA,SACA,SACA,MACA,MACA,UACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,SACA,QACA,SACA,QACA,QACA,WACA,SACA,SACA,QACA,UACA,QACA,QACA,SACA,QACA,SACA,UACA,QACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,QACA,MACA,WACA,OACA,SACA,QACA,OACA,UACA,QACA,QACA,SACA,OACA,OACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,UACA,UACA,UACA,MACA,SACA,OACA,QACA,SACA,QACA,OACA,OACA,OACA,SACA,SACA,SACA,MACA,UACA,QACA,WACA,SACA,SACA,QACA,UACA,OACA,UACA,SACA,SACA,SACA,UACA,SACA,UACA,QACA,QACA,WACA,SACA,QACA,UACA,SACA,QACA,OACA,QACA,QACA,SACA,OACA,SACA,QACA,UACA,QACA,QACA,UACA,SACA,SACA,UACA,UACA,QACA,QACA,QACA,WACA,SACA,UACA,OACA,QACA,QACA,OACA,UACA,OACA,OACA,QACA,QACA,SACA,QACA,SACA,QACA,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,UACA,SACA,QACA,QACA,UACA,OACA,SACA,OACA,OACA,UACA,QACA,SACA,UACA,OACA,UACA,QACA,SACA,UACA,UACA,UACA,UACA,WACA,UACA,WACA,UACA,WACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,UACA,OACA,SACA,QACA,UACA,SACA,SACA,SACA,QACA,SACA,QACA,SACA,QACA,OACA,QACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,OACA,UACA,QACA,QACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,SACA,UACA,SACA,QACA,MACA,UACA,OACA,UACA,MACA,WACA,UACA,UACA,UACA,QACA,UACA,SACA,OACA,QACA,MACA,SACA,OACA,QACA,SACA,SACA,OACA,WACA,OACA,MACA,OACA,SACA,SACA,SACA,WACA,SACA,UACA,WACA,WACA,OACA,UACA,SACA,OACA,SACA,QACA,UACA,SACA,SACA,SACA,UACA,OACA,SACA,SACA,UACA,QACA,SACA,SACA,WACA,SACA,SACA,OACA,UACA,UACA,SACA,SACA,UACA,SACA,SACA,UACA,OACA,UACA,QACA,OACA,SACA,OACA,SACA,UACA,UACA,UACA,SACA,WACA,SACA,OACA,WACA,WACA,UACA,OACA,UACA,WACA,UACA,WACA,SACA,SACA,UACA,QACA,SACA,WACA,MACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,OACA,SACA,OACA,QACA,SACA,QACA,UACA,OACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,OACA,OACA,MACA,OACA,OACA,OACA,SACA,OACA,QACA,OACA,QACA,UACA,QACA,QACA,QACA,OACA,QACA,SACA,OACA,OACA,OACA,UACA,UACA,OACA,OACA,UACA,SACA,MACA,QACA,SACA,QACA,QACA,WACA,UACA,UACA,WACA,WACA,QACA,OACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,QACA,SACA,QACA,MACA,UACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,QACA,SACA,SACA,SACA,SACA,SACA,QACA,SACA,QACA,WACA,UACA,QACA,QACA,MACA,QACA,QACA,UACA,QACA,QACA,SACA,QACA,UACA,SACA,UACA,SACA,WACA,OACA,QACA,SACA,QACA,UACA,SACA,WACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,QACA,QACA,OACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,SACA,QACA,MACA,UACA,SACA,OACA,UACA,OACA,QACA,QACA,OACA,QACA,OACA,SACA,SACA,MACA,QACA,UACA,OACA,UACA,MACA,QACA,SACA,UACA,QACA,WACA,UACA,WACA,UACA,MACA,OACA,OACA,SACA,QACA,WACA,QACA,QACA,MACA,QACA,UACA,QACA,SACA,OACA,OACA,SACA,QACA,OACA,OACA,SACA,SACA,OACA,OACA,QACA,SACA,OACA,MACA,UACA,MACA,OACA,QACA,QACA,OACA,SACA,OACA,SACA,OACA,QACA,QACA,QACA,SACA,QACA,QACA,MACA,OACA,QACA,MACA,OACA,OACA,SACA,OACA,OACA,QACA,SACA,SACA,OACA,UACA,QACA,UACA,SACA,SACA,QACA,MACA,UACA,QACA,WACA,QACA,SACA,SACA,OACA,QACA,QACA,QACA,SACA,QACA,OACA,MACA,QACA,UACA,OACA,SACA,SACA,OACA,SACA,UACA,OACA,MACA,SACA,UACA,SACA,SACA,UACA,MACA,OACA,OACA,SACA,QACA,OACA,UACA,SACA,QACA,SACA,UACA,UACA,QACA,QACA,OACA,SACA,SACA,UACA,OACA,OACA,OACA,SACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,QACA,OACA,OACA,OACA,UACA,OACA,OACA,QACA,UACA,SACA,SACA,SACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,UACA,QACA,QACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,MACA,MACA,QACA,OACA,OACA,SACA,UACA,OACA,QACA,SACA,OACA,QACA,UACA,MACA,OACA,OACA,SACA,OACA,SACA,QACA,QACA,WACA,SACA,QACA,SACA,OACA,MACA,OACA,SACA,OACA,OACA,OACA,MACA,OACA,UACA,QACA,SACA,OACA,OACA,UACA,SACA,OACA,QACA,OACA,OACA,OACA,SACA,QACA,WACA,OACA,QACA,OACA,QACA,MACA,OACA,QACA,SACA,QACA,UACA,SACA,OACA,SACA,QACA,OACA,UACA,SACA,MACA,OACA,OACA,WACA,OACA,SACA,MACA,UACA,UACA,QACA,UACA,UACA,SACA,SACA,SACA,UACA,UACA,OACA,UACA,SACA,WACA,QACA,WACA,SACA,WACA,SACA,UACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,QACA,WACA,QACA,UACA,SACA,SACA,SACA,UACA,UACA,SACA,WACA,OACA,SACA,SACA,UACA,OACA,SACA,UACA,QACA,OACA,QACA,SACA,SACA,MACA,OACA,UACA,QACA,QACA,QACA,MACA,OACA,OACA,UACA,MACA,QACA,QACA,OACA,SACA,SACA,OACA,OACA,WACA,OACA,OACA,UACA,MACA,OACA,MACA,SACA,OACA,UACA,OACA,MACA,UACA,OACA,SACA,OACA,OACA,QACA,QACA,OACA,MACA,QACA,QACA,SACA,OACA,OACA,OACA,WACA,SACA,QACA,QACA,QACA,QACA,UACA,OACA,MACA,OACA,UACA,QACA,OACA,SACA,OACA,QACA,QACA,UACA,OACA,MACA,QACA,SACA,UACA,QACA,OACA,SACA,OACA,UACA,SACA,SACA,QACA,OACA,UACA,UACA,UACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,OACA,SACA,OACA,SACA,OACA,SACA,OACA,OACA,UACA,QACA,OACA,QACA,SACA,OACA,OACA,UACA,OACA,SACA,OACA,QACA,QACA,UACA,SACA,QACA,QACA,SACA,SACA,UACA,MACA,QACA,SACA,OACA,OACA,OACA,QACA,OACA,SACA,MACA,SACA,UACA,QACA,UACA,SACA,QACA,SACA,QACA,SACA,SACA,SACA,WACA,OACA,OACA,SACA,QACA,WACA,OACA,SACA,SACA,UACA,OACA,SACA,OACA,UACA,OACA,WACA,QACA,QACA,SACA,OACA,SACA,SACA,UACA,OACA,QACA,QACA,QACA,QACA,OACA,UACA,QACA,SACA,SACA,WACA,OACA,UACA,QACA,OACA,UACA,QACA,SACA,UACA,SACA,SACA,OACA,UACA,MACA,QACA,UACA,SACA,QACA,SACA,MACA,SACA,UACA,SACA,UACA,QACA,OACA,QACA,OACA,UACA,WACA,SACA,SACA,QACA,WACA,QACA,OACA,QACA,OACA,SACA,OACA,WACA,SACA,SACA,WACA,QACA,OACA,SACA,SACA,UACA,OACA,QACA,OACA,SACA,SACA,QACA,SACA,SACA,OACA,OACA,OACA,WACA,UACA,UACA,SACA,QACA,OACA,MACA,UACA,UACA,QACA,OACA,OACA,OACA,QACA,QACA,QACA,UACA,SACA,SACA,QACA,OACA,UACA,OACA,UACA,SACA,QACA,MACA,UACA,SACA,QACA,MACA,MACA,OACA,SACA,SACA,UACA,UACA,SACA,UACA,QACA,QACA,UACA,OACA,MACA,QACA,SACA,QACA,MACA,OACA,MACA,QACA,UACA,OACA,OACA,MACA,QACA,SACA,OACA,OACA,QACA,UACA,SACA,SACA,SACA,QACA,UACA,QACA,WACA,QACA,SACA,WACA,SACA,UACA,QACA,UACA,QACA,SACA,UACA,OACA,OACA,OACA,MACA,QACA,SACA,SACA,QACA,OACA,SACA,OACA,OACA,SACA,OACA,QACA,QACA,QACA,UACA,QACA,SACA,SACA,OACA,SACA,QACA,OACA,QACA,OACA,UACA,SACA,UACA,QACA,OACA,UACA,QACA,SACA,OACA,UACA,UACA,MACA,UACA,SACA,SACA,SACA,UACA,SACA,SACA,MACA,QACA,QACA,SACA,WACA,QACA,SACA,UACA,QACA,MACA,SACA,OACA,QACA,OACA,UACA,OACA,SACA,QACA,QACA,QACA,SACA,UACA,QACA,OACA,SACA,SACA,QACA,OACA,SACA,OACA,OACA,QACA,QACA,OACA,SACA,OACA,OACA,OACA,UACA,UACA,WACA,WACA,OACA,SACA,UACA,UACA,SACA,QACA,WACA,SACA,UACA,SACA,UACA,UACA,SACA,UACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,UACA,UACA,UACA,SACA,UACA,UACA,UACA,QACA,WACA,UACA,UACA,QACA,UACA,SACA,UACA,OACA,OACA,QACA,UACA,QACA,QACA,QACA,WACA,SACA,UACA,QACA,OACA,MACA,SACA,UACA,UACA,UACA,UACA,WACA,QACA,OACA,OACA,QACA,SACA,UACA,OACA,OACA,QACA,QACA,OACA,OACA,QACA,QACA,OACA,QACA,SACA,QACA,QACA,OACA,OACA,SACA,QACA,MACA,QACA,QACA,OACA,SACA,QACA,UACA,SACA,UACA,SACA,SACA,UACA,SACA,UACA,SACA,SACA,SACA,SACA,UACA,SACA,QACA,UACA,SACA,OACA,SACA,WACA,SACA,SACA,SACA,QACA,OACA,SACA,SACA,SACA,UACA,SACA,UACA,SACA,WACA,SACA,WACA,WACA,SACA,SACA,UACA,SACA,UACA,SACA,SACA,SACA,SACA,MACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,OACA,SACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,SACA,SACA,UACA,OACA,SACA,OACA,OACA,SACA,QACA,QACA,QACA,QACA,SACA,OACA,MACA,OACA,MACA,SACA,QACA,MACA,SACA,UACA,OACA,OACA,QACA,SACA,QACA,OACA,SACA,OACA,SACA,OACA,UACA,UACA,QACA,UACA,OACA,MACA,QACA,OACA,QACA,UACA,QACA,SACA,SACA,UACA,WACA,WACA,QACA,QACA,SACA,SACA,QACA,MACA,SACA,SACA,OACA,SACA,SACA,UACA,WACA,OACA,OACA,UACA,SACA,OACA,UACA,SACA,QACA,WACA,SACA,UACA,UACA,SACA,QACA,QACA,SACA,QACA,UACA,QACA,OACA,QACA,UACA,SACA,QACA,QACA,OACA,SACA,QACA,OACA,QACA,OACA,QACA,WACA,QACA,SACA,QACA,UACA,MACA,UACA,OACA,OACA,QACA,QACA,OACA,SACA,OACA,QACA,SACA,UACA,SACA,QACA,OACA,QACA,SACA,UACA,MACA,OACA,QACA,SACA,MACA,QACA,OACA,QACA,QACA,OACA,OACA,QACA,UACA,QACA,QACA,SACA,OACA,SACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,OACA,QACA,OACA,OACA,SACA,SACA,OACA,OACA,OACA,QACA,UACA,QACA,WACA,QACA,UACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,SACA,QACA,QACA,QACA,UACA,QACA,QACA,UACA,QACA,QACA,QACA,SACA,QACA,SACA,QACA,OACA,SACA,QACA,QACA,UACA,QACA,QACA,OACA,QACA,SACA,SACA,MACA,SACA,UACA,WACA,SACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,OACA,OACA,SACA,QACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,QACA,WACA,SACA,SACA,SACA,WACA,UACA,QACA,UACA,QACA,UACA,SACA,SACA,UACA,OACA,SACA,SACA,QACA,UACA,OACA,SACA,MACA,QACA,SACA,QACA,SACA,UACA,OACA,UACA,QACA,WACA,WACA,SACA,UACA,UACA,UACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,QACA,SACA,UACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,OACA,OACA,OACA,SACA,OACA,QACA,SACA,OACA,QACA,OACA,OACA,MACA,SACA,SACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,QACA,OACA,QACA,OACA,UACA,QACA,SACA,QACA,QACA,UACA,SACA,OACA,QACA,OACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,QACA,UACA,QACA,UACA,MACA,WACA,SACA,QACA,SACA,WACA,OACA,SACA,UACA,OACA,QACA,MACA,QACA,SACA,QACA,UACA,WACA,OACA,QACA,UACA,SACA,QACA,OACA,MACA,QACA,QACA,UACA,SACA,QACA,WACA,OACA,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,UACA,OACA,OACA,SACA,UACA,QACA,OACA,QACA,UACA,QACA,QACA,MACA,OACA,UACA,SACA,OACA,SACA,SACA,OACA,SACA,SACA,SACA,QACA,OACA,QACA,MACA,OACA,UACA,OACA,WACA,SACA,UACA,QACA,UACA,QACA,OACA,SACA,SACA,UACA,UACA,SACA,OACA,WACA,UACA,SACA,QACA,UACA,SACA,SACA,UACA,SACA,OACA,QACA,QACA,QACA,OACA,QACA,MACA,OACA,SACA,UACA,QACA,UACA,SACA,SACA,QACA,QACA,SACA,QACA,MACA,SACA,QACA,UACA,OACA,QACA,UACA,SACA,SACA,UACA,QACA,OACA,SACA,UACA,OACA,SACA,UACA,SACA,UACA,UACA,UACA,QACA,OACA,UACA,UACA,SACA,UACA,QACA,OACA,QACA,SACA,QACA,QACA,QACA,QACA,OACA,UACA,SACA,OACA,SACA,OACA,QACA,OACA,OACA,OACA,SACA,OACA,UACA,OACA,UACA,OACA,OACA,QACA,QACA,OACA,MACA,SACA,SACA,OACA,SACA,UACA,MACA,UAC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,SAAU,EAAoD,GAClE,OAAO,EACL,EAAE,KACF,EAAE,KACF,EAAE,QACF,EAAE,aACF,EAAE,UACF,EAAE,SACF,EAAE,gBACF,EAAE,gBACF,EAAE,QACF,EAAE,iBACF,EAAE,eA8BA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAoB,CACxB,OACA,OACA,kBACA,WAAY,EACZ,cAAe,EACf,mBAAoB,EACpB,cAAe,EACf,YACA,WACA,oBACA,aAAc,EACd,aAAc,EACd,YAAa,EACb,cAAe,EACf,KAAM,IAAgB,KACtB,QAAS,GAEX,OAAO,IAAI,cAAuB,GA4B9B,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GASA,OAAO,EACL,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EApBuC,CACvC,cACA,YACA,aACA,YACA,OAiBA,GAKE,SAAU,EACd,GAkCA,OAAO,EACL,EAAE,KACF,EAAE,KACF,EAAE,MACF,EAAE,SACF,EAAE,cACF,EAAE,QACF,EAAE,QACF,EAAE,OACF,EAAE,SACF,EAAE,SACF,EAAE,UACF,EAAE,SACF,EAAE,kBACF,EAAE,gBACF,EAAE,SA0BA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEmC,IADnC,IACmC,yDAAnC,EAAmC,uCAEnC,GACE,SACa,IAAZ,QACa,IAAZ,QACW,IAAX,QACa,IAAb,GAEF,MAAM,MACJ,4FAGJ,IAAM,EAAoB,CACxB,OACA,kBACA,aACA,aAAc,EACd,aAAc,EACd,YAAa,EACb,cAAe,EACf,KAAM,IAAgB,KACtB,OACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAwB9B,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEmC,IADnC,IACmC,4DAAnC,EAAmC,yCAE7B,EAAmC,CACvC,cACA,YACA,aACA,YACA,OAEF,OAAO,EACL,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAKE,SAAU,EACd,GA0BA,OAAO,EACL,EAAE,KACF,EAAE,KACF,EAAE,WACF,EAAE,QACF,EAAE,QACF,EAAE,OACF,EAAE,SACF,EAAE,gBACF,EAAE,2BACF,EAAE,SAoBA,SAAU,EACd,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAqB,CACzB,OACA,kBACA,aACA,KAAM,IAAgB,KACtB,OACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAkB9B,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GASA,OAAO,EACL,EACA,EACA,EAVuC,CACvC,cACA,YACA,aACA,YACA,OAOA,GAKE,SAAU,EACd,GAWA,OAAO,EACL,EAAE,KACF,EAAE,KACF,EAAE,WACF,EAAE,gBACF,EAAE,SAsBA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAoB,CACxB,OACA,KAAM,IAAgB,KACtB,cAAe,EACf,aACA,cACA,OACA,kBACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAoB9B,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GASA,OAAO,EACL,EACA,EACA,EACA,EACA,EAZuC,CACvC,cACA,YACA,aACA,YACA,OASA,GAKE,SAAU,EACd,GAmBA,OAAO,EACL,EAAE,KACF,EAAE,KACF,EAAE,WACF,EAAE,aACF,EAAE,YACF,EAAE,gBACF,EAAE,SA4BA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAsB,CAC1B,KAAM,IAAgB,MACtB,OACA,KACA,SACA,kBACA,aACA,OACA,sBAAuB,EACvB,mBACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAwB9B,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GASA,OAAO,EACL,EACA,EACA,EACA,EACA,EACA,EACA,EAduC,CACvC,cACA,YACA,aACA,YACA,OAWA,GAKE,SAAU,EACd,GAqBA,OAAO,EACL,EAAE,KACF,EAAE,GACF,EAAE,iBACF,EAAE,iBACF,EAAE,OACF,EAAE,KACF,EAAE,WACF,EAAE,gBACF,EAAE,SAgCA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAkB,CACtB,KAAM,IAAgB,KACtB,OACA,kBACA,SAAU,EACV,cAAe,EACf,aAAc,EACd,mBAAoB,EACpB,cAAe,EACf,oBAAqB,EACrB,mBAAoB,EACpB,gBAAiB,EACjB,UACA,YAAa,EACb,eAAgB,EAChB,iBAAkB,EAClB,QACA,OACA,QACA,QAAS,EACT,cAEF,OAAO,IAAI,cAAuB,GAI9B,SAAU,EACd,GAuCA,OAAO,EACL,EAAE,KACF,EAAE,gBACF,EAAE,WACF,EAAE,gBACF,EAAE,aACF,EAAE,aACF,EAAE,mBACF,EAAE,cACF,EAAE,oBACF,EAAE,QACF,EAAE,SACF,EAAE,YACF,EAAE,cACF,EAAE,KACF,EAAE,MACF,EAAE,QACF,EAAE,WACF,EAAE,OA2BA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAkB,CACtB,KAAM,IAAgB,KACtB,OACA,kBACA,WACA,mBAAoB,EACpB,cAAe,IAAsB,oBACrC,gBAAiB,EACjB,UACA,YAAa,EACb,eAAgB,EAChB,iBAAkB,EAClB,QACA,OACA,QACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAI9B,SAAU,EACd,GA6BA,OAAO,EACL,EAAE,KACF,EAAE,gBACF,EAAE,SACF,EAAE,gBACF,EAAE,aACF,EAAE,QACF,EAAE,SACF,EAAE,YACF,EAAE,cACF,EAAE,KACF,EAAE,MACF,EAAE,QACF,EAAE,OAyBA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAkB,CACtB,KAAM,IAAgB,KACtB,OACA,kBACA,WACA,cAAe,IAAsB,oBACrC,UACA,YAAa,EACb,eAAgB,EAChB,iBAAkB,EAClB,QACA,OACA,QACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAI9B,SAAU,EACd,GAyBA,OAAO,EACL,EAAE,KACF,EAAE,gBACF,EAAE,SACF,EAAE,QACF,EAAE,SACF,EAAE,YACF,EAAE,cACF,EAAE,KACF,EAAE,MACF,EAAE,QACF,EAAE,OAyBA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAiB,CACrB,KAAM,IAAgB,KACtB,OACA,kBACA,WACA,cAAe,IAAsB,QACrC,UACA,YAAa,EACb,eAAgB,EAChB,iBAAkB,EAClB,QACA,OACA,QACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAI9B,SAAU,EACd,GAyBA,OAAO,EACL,EAAE,KACF,EAAE,gBACF,EAAE,SACF,EAAE,QACF,EAAE,SACF,EAAE,YACF,EAAE,cACF,EAAE,KACF,EAAE,MACF,EAAE,QACF,EAAE,OAyBA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAoB,CACxB,KAAM,IAAgB,KACtB,OACA,kBACA,WACA,cAAe,IAAsB,WACrC,UACA,YAAa,EACb,eAAgB,EAChB,iBAAkB,EAClB,QACA,OACA,QACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAI9B,SAAU,EACd,GAyBA,OAAO,EACL,EAAE,KACF,EAAE,gBACF,EAAE,SACF,EAAE,QACF,EAAE,SACF,EAAE,YACF,EAAE,cACF,EAAE,KACF,EAAE,MACF,EAAE,QACF,EAAE,OAyBA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAsB,CAC1B,KAAM,IAAgB,KACtB,OACA,kBACA,WACA,cAAe,IAAsB,aACrC,UACA,YAAa,EACb,eAAgB,EAChB,iBAAkB,EAClB,QACA,OACA,QACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAI9B,SAAU,EACd,GAyBA,OAAO,EACL,EAAE,KACF,EAAE,gBACF,EAAE,SACF,EAAE,QACF,EAAE,SACF,EAAE,YACF,EAAE,cACF,EAAE,KACF,EAAE,MACF,EAAE,QACF,EAAE,OAyBA,SAAU,EACd,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAgB,CACpB,KAAM,IAAgB,KACtB,OACA,kBACA,WACA,cAAe,IAAsB,OACrC,UACA,YAAa,EACb,eAAgB,EAChB,iBAAkB,EAClB,QACA,OACA,QACA,QAAS,GAEX,OAAO,IAAI,cAAuB,GAI9B,SAAU,EACd,GAyBA,OAAO,EACL,EAAE,KACF,EAAE,gBACF,EAAE,SACF,EAAE,QACF,EAAE,SACF,EAAE,YACF,EAAE,cACF,EAAE,KACF,EAAE,MACF,EAAE,QACF,EAAE,OASA,SAAU,EACd,GAiDA,IAAM,EAAkB,CACtB,KAAM,IAAgB,KACtB,KAAM,EAAQ,KACd,gBAAiB,EAAQ,gBACzB,SAAU,EAAQ,SAClB,cAAe,EAAQ,WACvB,aAAc,EAAQ,aACtB,mBAAoB,EAAQ,mBAC5B,cAAe,EAAQ,cACvB,oBAAqB,EAAQ,oBAC7B,mBAAoB,EAAQ,gBAC5B,gBAAiB,EAAQ,aACzB,QAAS,EAAQ,QACjB,YAAa,EAAQ,SACrB,eAAgB,EAAQ,YACxB,iBAAkB,EAAQ,cAC1B,MAAO,EAAQ,MACf,KAAM,EAAQ,KACd,MAAO,EAAQ,MACf,QAAS,EAAQ,QACjB,WAAY,EAAQ,YAEtB,OAAO,IAAI,cAAuB,GA70DpC,yD,6BCCA,kHAYM,SAAU,EAAoB,GAClC,OAAO,IAAqB,SAAS,GAOjC,SAAU,EAAS,GACvB,OAAK,OAAO,KAAK,KAAoB,SAAS,GAGvC,IAAmB,GAFjB,IAAmB,KAKxB,SAAU,EAAe,GAC7B,IAAM,EAAQ,OAAO,OAAO,KAAoB,MAAK,YAAC,OAAI,EAAE,OAAS,KACrE,OAAK,GACI,IAAmB,O,iBC/B9B,qBASA,WACE,aAEA,IAAIsvB,EAAyB,kBAAX/G,OAAsBA,OAAS,IAClC+G,EAAKC,sBAA2C,kBAAZ7G,GAAwBA,EAAQwB,UAAYxB,EAAQwB,SAASsF,OAE9GF,EAAOxiB,GAET,IAAI2iB,GAAaH,EAAKI,wBAA4C,kBAAXxwB,GAAuBA,EAAOnK,QACjF46B,EAAsC95B,MACtC+5B,EAAqB,mCAAmCxC,MAAM,IAC9DyC,EAAqB,CACvB,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,EAAG,EAAK,EACrE,EAAK,EAAG,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GACnE,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GACpE,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,IAGzDjS,EAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE/BkS,EAAmB,SAAUC,EAAUC,GACrCA,EAAQ/0B,OAAS,KACnB+0B,EAAU,MAAQA,EAAQnlB,QAAQ,KAEpC,IAAIxU,EAAM,IAAIgB,MAAM,kGAEiB04B,EAAW,WAAaC,EAAU,OAEvE,MADA35B,EAAI05B,SAAWA,EACT15B,GAiDJ45B,EAAgB,SAAUC,GAC5B,GAAkB,KAAdA,EACF,MAAO,GACF,IAAK,eAAe1qB,KAAK0qB,GAC9B,MAAM,IAAI74B,MAAM,6BAMlB,IAHA,IAAI84B,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI5hB,EAAQ,GAAIrM,EAAQ,EAAGxH,GAD3Di1B,EAAYA,EAAUxd,QAAQ,KAAM,KAC0CzX,OAGrEC,EAAI,EAAGy1B,EAAQ11B,GAAU,GAAK,EAAGC,EAAIy1B,GAC5CR,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzCq1B,EAAKV,EAAmBK,EAAU5zB,OAAOpB,MACzCs1B,EAAKX,EAAmBK,EAAU5zB,OAAOpB,MACzCu1B,EAAKZ,EAAmBK,EAAU5zB,OAAOpB,MACzCw1B,EAAKb,EAAmBK,EAAU5zB,OAAOpB,MACzC4T,EAAMrM,KAAkC,KAAtB0tB,GAAM,EAAIC,IAAO,GACnCthB,EAAMrM,KAA4C,KAAhC2tB,GAAM,EAAIC,GAAM,EAAIC,IAAO,GAC7CxhB,EAAMrM,KAAkC,KAAtB6tB,GAAM,EAAIC,IAAO,GACnCzhB,EAAMrM,KAA4C,KAAhC8tB,GAAM,EAAIC,GAAM,EAAIC,IAAO,GAC7C3hB,EAAMrM,KAA4B,KAAhBguB,GAAM,EAAIC,GAI9B,IAAIE,EAAS31B,EAAS01B,EAkCtB,OAjCe,IAAXC,GACFT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzC4T,EAAMrM,KAAkC,KAAtB0tB,GAAM,EAAIC,IAAO,IACf,IAAXQ,GACTT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzC4T,EAAMrM,KAAkC,KAAtB0tB,GAAM,EAAIC,IAAO,GACnCthB,EAAMrM,KAA4C,KAAhC2tB,GAAM,EAAIC,GAAM,EAAIC,IAAO,IACzB,IAAXM,GACTT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzCq1B,EAAKV,EAAmBK,EAAU5zB,OAAOpB,MACzC4T,EAAMrM,KAAkC,KAAtB0tB,GAAM,EAAIC,IAAO,GACnCthB,EAAMrM,KAA4C,KAAhC2tB,GAAM,EAAIC,GAAM,EAAIC,IAAO,GAC7CxhB,EAAMrM,KAAkC,KAAtB6tB,GAAM,EAAIC,IAAO,IACf,IAAXK,IACTT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzCq1B,EAAKV,EAAmBK,EAAU5zB,OAAOpB,MACzCs1B,EAAKX,EAAmBK,EAAU5zB,OAAOpB,MACzCu1B,EAAKZ,EAAmBK,EAAU5zB,OAAOpB,MACzC4T,EAAMrM,KAAkC,KAAtB0tB,GAAM,EAAIC,IAAO,GACnCthB,EAAMrM,KAA4C,KAAhC2tB,GAAM,EAAIC,GAAM,EAAIC,IAAO,GAC7CxhB,EAAMrM,KAAkC,KAAtB6tB,GAAM,EAAIC,IAAO,GACnCzhB,EAAMrM,KAA4C,KAAhC8tB,GAAM,EAAIC,GAAM,EAAIC,IAAO,IAExC3hB,GAiOL+hB,EAAS,SAAUX,EAAWY,GAChC,IAAKA,EACH,OA9Ue,SAAUhiB,GAE3B,IADA,IAAgE/N,EAAGL,EAA/DuK,EAAM,GAAIhQ,EAAS6T,EAAM7T,OAAQC,EAAI,EAAG61B,EAAiB,EACtD71B,EAAID,GAET,IADA8F,EAAI+N,EAAM5T,OACD,IACP+P,GAAOjB,OAAOyC,aAAa1L,OAD7B,CAGWA,EAAI,KAAQA,GAAK,KAC1BL,EAAQ,GAAJK,EACJgwB,EAAiB,GACRhwB,GAAK,KACdL,EAAQ,GAAJK,EACJgwB,EAAiB,GACRhwB,GAAK,KACdL,EAAQ,EAAJK,EACJgwB,EAAiB,GAEjBjB,EAAiB50B,EAAG+P,GAGtB,IAAK,IAAI/J,EAAI,EAAGA,EAAI6vB,IAAkB7vB,IACpCH,EAAI+N,EAAM5T,MACF,KAAQ6F,EAAI,MAClB+uB,EAAiB50B,EAAG+P,GAEtBvK,IAAM,EACNA,GAAS,GAAJK,EAEHL,GAAK,OAAUA,GAAK,OACtBovB,EAAiB50B,EAAG+P,GAElBvK,EAAI,SACNovB,EAAiB50B,EAAG+P,GAGlBvK,GAAK,MACPuK,GAAOjB,OAAOyC,aAAa/L,IAE3BA,GAAK,MACLuK,GAAOjB,OAAOyC,aAAyB,OAAX/L,GAAK,KACjCuK,GAAOjB,OAAOyC,aAA2B,OAAT,KAAJ/L,KAGhC,OAAOuK,EAmSE+lB,CAAaf,EAAcC,IAEpC,GAAkB,KAAdA,EACF,MAAO,GACF,IAAK,eAAe1qB,KAAK0qB,GAC9B,MAAM,IAAI74B,MAAM,6BAElB,IAAI84B,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIzlB,EAAM,GAAIhQ,EAASi1B,EAAUvmB,QAAQ,MACzD,IAAZ1O,IACFA,EAASi1B,EAAUj1B,QAIrB,IAAK,IAAIC,EAAI,EAAGy1B,EAAQ11B,GAAU,GAAK,EAAGC,EAAIy1B,GAC5CR,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzCq1B,EAAKV,EAAmBK,EAAU5zB,OAAOpB,MACzCs1B,EAAKX,EAAmBK,EAAU5zB,OAAOpB,MACzCu1B,EAAKZ,EAAmBK,EAAU5zB,OAAOpB,MACzCw1B,EAAKb,EAAmBK,EAAU5zB,OAAOpB,MACzC+P,GAAOjB,OAAOyC,aAAoC,KAAtB0jB,GAAM,EAAIC,IAAO,IAC3CpmB,OAAOyC,aAA8C,KAAhC2jB,GAAM,EAAIC,GAAM,EAAIC,IAAO,IAChDtmB,OAAOyC,aAAoC,KAAtB6jB,GAAM,EAAIC,IAAO,IACtCvmB,OAAOyC,aAA8C,KAAhC8jB,GAAM,EAAIC,GAAM,EAAIC,IAAO,IAChDzmB,OAAOyC,aAA8B,KAAhBgkB,GAAM,EAAIC,IAInC,IAAIE,EAAS31B,EAAS01B,EAkCtB,OAjCe,IAAXC,GACFT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzC+P,GAAOjB,OAAOyC,aAAoC,KAAtB0jB,GAAM,EAAIC,IAAO,KACzB,IAAXQ,GACTT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzC+P,GAAOjB,OAAOyC,aAAoC,KAAtB0jB,GAAM,EAAIC,IAAO,IAC3CpmB,OAAOyC,aAA8C,KAAhC2jB,GAAM,EAAIC,GAAM,EAAIC,IAAO,KAC9B,IAAXM,GACTT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzCq1B,EAAKV,EAAmBK,EAAU5zB,OAAOpB,MACzC+P,GAAOjB,OAAOyC,aAAoC,KAAtB0jB,GAAM,EAAIC,IAAO,IAC3CpmB,OAAOyC,aAA8C,KAAhC2jB,GAAM,EAAIC,GAAM,EAAIC,IAAO,IAChDtmB,OAAOyC,aAAoC,KAAtB6jB,GAAM,EAAIC,IAAO,KACpB,IAAXK,IACTT,EAAKN,EAAmBK,EAAU5zB,OAAOpB,MACzCk1B,EAAKP,EAAmBK,EAAU5zB,OAAOpB,MACzCm1B,EAAKR,EAAmBK,EAAU5zB,OAAOpB,MACzCo1B,EAAKT,EAAmBK,EAAU5zB,OAAOpB,MACzCq1B,EAAKV,EAAmBK,EAAU5zB,OAAOpB,MACzCs1B,EAAKX,EAAmBK,EAAU5zB,OAAOpB,MACzCu1B,EAAKZ,EAAmBK,EAAU5zB,OAAOpB,MACzC+P,GAAOjB,OAAOyC,aAAoC,KAAtB0jB,GAAM,EAAIC,IAAO,IAC3CpmB,OAAOyC,aAA8C,KAAhC2jB,GAAM,EAAIC,GAAM,EAAIC,IAAO,IAChDtmB,OAAOyC,aAAoC,KAAtB6jB,GAAM,EAAIC,IAAO,IACtCvmB,OAAOyC,aAA8C,KAAhC8jB,GAAM,EAAIC,GAAM,EAAIC,IAAO,KAE7CxlB,GAGLlW,EAAU,CACZk8B,OApFW,SAAUC,EAAOJ,GAC5B,IAAIK,EAA8B,kBAAXD,EAIvB,OAHIC,GAAaD,EAAM31B,cAAgB4L,cACrC+pB,EAAQ,IAAI9rB,WAAW8rB,IAErBC,EAjEY,SAAUriB,GAE1B,IADA,IAAIqhB,EAAIC,EAAIC,EAAIC,EAAIC,EAAIL,EAAY,GAAIj1B,EAAS6T,EAAM7T,OAC9CC,EAAI,EAAGy1B,EAA+B,EAAvB/lB,SAAS3P,EAAS,GAAQC,EAAIy1B,GACpDR,EAAKrhB,EAAM5T,KACXk1B,EAAKthB,EAAM5T,KACXm1B,EAAKvhB,EAAM5T,KACXo1B,EAAKxhB,EAAM5T,KACXq1B,EAAKzhB,EAAM5T,KACXg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAA0C,IAAtBS,GAAM,EAAIC,IAAO,IACrCV,EAAoBU,IAAO,EAAK,IAChCV,EAA0C,IAAtBU,GAAM,EAAIC,IAAO,IACrCX,EAAwB,GAALW,GAIvB,IAAIK,EAAS31B,EAAS01B,EAsCtB,OArCe,IAAXC,GACFT,EAAKrhB,EAAM5T,GACXg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAAoBO,GAAM,EAAK,IAC/B,UACkB,IAAXS,GACTT,EAAKrhB,EAAM5T,KACXk1B,EAAKthB,EAAM5T,GACXg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAAoBQ,GAAM,EAAK,IAC/B,QACkB,IAAXQ,GACTT,EAAKrhB,EAAM5T,KACXk1B,EAAKthB,EAAM5T,KACXm1B,EAAKvhB,EAAM5T,GACXg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAAoBS,GAAM,EAAK,IAC/B,OACkB,IAAXO,IACTT,EAAKrhB,EAAM5T,KACXk1B,EAAKthB,EAAM5T,KACXm1B,EAAKvhB,EAAM5T,KACXo1B,EAAKxhB,EAAM5T,GACXg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAA0C,IAAtBS,GAAM,EAAIC,IAAO,IACrCV,EAAoBU,IAAO,EAAK,IAChCV,EAAoBU,GAAM,EAAK,IAC/B,KAEGJ,EASEkB,CAAYF,GACVJ,EAvNK,SAAU7lB,GAE1B,IADA,IAAIklB,EAAIC,EAAIC,EAAIC,EAAIC,EAAIL,EAAY,GAAIj1B,EAASgQ,EAAIhQ,OAC5CC,EAAI,EAAGy1B,EAA+B,EAAvB/lB,SAAS3P,EAAS,GAAQC,EAAIy1B,GACpDR,EAAKllB,EAAIE,WAAWjQ,KACpBk1B,EAAKnlB,EAAIE,WAAWjQ,KACpBm1B,EAAKplB,EAAIE,WAAWjQ,KACpBo1B,EAAKrlB,EAAIE,WAAWjQ,KACpBq1B,EAAKtlB,EAAIE,WAAWjQ,KACpBg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAA0C,IAAtBS,GAAM,EAAIC,IAAO,IACrCV,EAAoBU,IAAO,EAAK,IAChCV,EAA0C,IAAtBU,GAAM,EAAIC,IAAO,IACrCX,EAAwB,GAALW,GAIvB,IAAIK,EAAS31B,EAAS01B,EAsCtB,OArCe,IAAXC,GACFT,EAAKllB,EAAIE,WAAWjQ,GACpBg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAAoBO,GAAM,EAAK,IAC/B,UACkB,IAAXS,GACTT,EAAKllB,EAAIE,WAAWjQ,KACpBk1B,EAAKnlB,EAAIE,WAAWjQ,GACpBg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAAoBQ,GAAM,EAAK,IAC/B,QACkB,IAAXQ,GACTT,EAAKllB,EAAIE,WAAWjQ,KACpBk1B,EAAKnlB,EAAIE,WAAWjQ,KACpBm1B,EAAKplB,EAAIE,WAAWjQ,GACpBg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAAoBS,GAAM,EAAK,IAC/B,OACkB,IAAXO,IACTT,EAAKllB,EAAIE,WAAWjQ,KACpBk1B,EAAKnlB,EAAIE,WAAWjQ,KACpBm1B,EAAKplB,EAAIE,WAAWjQ,KACpBo1B,EAAKrlB,EAAIE,WAAWjQ,GACpBg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAA0C,IAAtBS,GAAM,EAAIC,IAAO,IACrCV,EAAoBU,IAAO,EAAK,IAChCV,EAAoBU,GAAM,EAAK,IAC/B,KAEGJ,EA+JEmB,CAAYH,GA5JN,SAAUjmB,GACzB,IAAIklB,EAAIC,EAAIC,EAAIC,EAAIC,EAAI5qB,EACXzK,EADiB8N,GAAM,EAAOknB,EAAY,GACrDztB,EAAQ,EAAMsG,EAAQ,EAAc9N,EAASgQ,EAAIhQ,OACjD,GAAY,KAARgQ,EACF,OAAOilB,EAEX,EAAG,CAID,IAHAtS,EAAO,GAAKA,EAAO,GACnBA,EAAO,GAAKA,EAAO,GACnBA,EAAO,GAAKA,EAAO,GACd1iB,EAAI6N,EAAOtG,EAAQxH,GAAUC,EAAI,IAAKuH,GACzCkD,EAAOsF,EAAIE,WAAW1I,IACX,IACTmb,EAAO1iB,KAAOyK,EACLA,EAAO,MAChBiY,EAAO1iB,KAAO,IAAQyK,GAAQ,EAC9BiY,EAAO1iB,KAAO,IAAe,GAAPyK,GACbA,EAAO,OAAUA,GAAQ,OAClCiY,EAAO1iB,KAAO,IAAQyK,GAAQ,GAC9BiY,EAAO1iB,KAAO,IAASyK,GAAQ,EAAK,GACpCiY,EAAO1iB,KAAO,IAAe,GAAPyK,IAEtBA,EAAO,QAAoB,KAAPA,IAAiB,GAAiC,KAA1BsF,EAAIE,aAAa1I,IAC7Dmb,EAAO1iB,KAAO,IAAQyK,GAAQ,GAC9BiY,EAAO1iB,KAAO,IAASyK,GAAQ,GAAM,GACrCiY,EAAO1iB,KAAO,IAASyK,GAAQ,EAAK,GACpCiY,EAAO1iB,KAAO,IAAe,GAAPyK,GAI1BoD,EAAQ7N,EAAI,EACRuH,IAAUxH,KACVwH,EAEAA,EAAQxH,GAAUC,EAAI,IACxB8N,GAAM,GAERmnB,EAAKvS,EAAO,GACR1iB,EAAI,GACNk1B,EAAKxS,EAAO,GACZyS,EAAKzS,EAAO,GACZ0S,EAAK1S,EAAO,GACZ2S,EAAK3S,EAAO,GACZsS,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAA0C,IAAtBS,GAAM,EAAIC,IAAO,IACrCV,EAAoBU,IAAO,EAAK,IAChCV,EAA0C,IAAtBU,GAAM,EAAIC,IAAO,IACrCX,EAAwB,GAALW,IACN,IAANr1B,EACTg1B,GAAaN,EAAmBO,IAAO,GACrCP,EAAoBO,GAAM,EAAK,IAC/B,SACa,IAANj1B,GACTk1B,EAAKxS,EAAO,GACZsS,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAAoBQ,GAAM,EAAK,IAC/B,QACa,IAANl1B,GACTk1B,EAAKxS,EAAO,GACZyS,EAAKzS,EAAO,GACZsS,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAAoBS,GAAM,EAAK,IAC/B,QAEFD,EAAKxS,EAAO,GACZyS,EAAKzS,EAAO,GACZ0S,EAAK1S,EAAO,GACZsS,GAAaN,EAAmBO,IAAO,GACrCP,EAA0C,IAAtBO,GAAM,EAAIC,IAAO,IACrCR,EAAoBQ,IAAO,EAAK,IAChCR,EAA0C,IAAtBQ,GAAM,EAAIC,IAAO,IACrCT,EAA0C,IAAtBS,GAAM,EAAIC,IAAO,IACrCV,EAAoBU,IAAO,EAAK,IAChCV,EAAoBU,GAAM,EAAK,IAC/B,YAEItnB,GACV,OAAOknB,EAyEEoB,CAAWJ,IA2EpBL,OAAQA,GAEVA,EAAOU,QAAUtB,EAEbR,EACFvwB,EAAOnK,QAAUA,GAEjBu6B,EAAKkC,OAASz8B,EACV46B,SACI,KAAN95B,aACE,OAAOd,GADH,gCA3bZ,K,uHCPe,SAAS,EAAW08B,EAAQxyB,EAAMyyB,GAc/C,OAZE,EADE,OAAAC,EAAA,KACWnzB,QAAQC,UAAUysB,OAElB,SAAoBuG,EAAQxyB,EAAMyyB,GAC7C,IAAIrxB,EAAI,CAAC,MACTA,EAAE3F,KAAKiE,MAAM0B,EAAGpB,GAChB,IACIlB,EAAW,IADGuqB,SAAS4C,KAAKvsB,MAAM8yB,EAAQpxB,IAG9C,OADIqxB,GAAO,OAAAh2B,EAAA,GAAeqC,EAAU2zB,EAAMx8B,WACnC6I,GAIJ,EAAWY,MAAM,KAAMD,WCZjB,SAAS,EAAiBgzB,GACvC,IAAIE,EAAwB,oBAAR3D,IAAqB,IAAIA,SAAQr0B,EA8BrD,OA5BA,EAAmB,SAA0B83B,GAC3C,GAAc,OAAVA,ICRkCv5B,EDQEu5B,GCPsB,IAAzDpJ,SAAS9f,SAASpQ,KAAKD,GAAIwR,QAAQ,kBDOQ,OAAO+nB,ECR5C,IAA2Bv5B,EDUtC,GAAqB,oBAAVu5B,EACT,MAAM,IAAI73B,UAAU,sDAGtB,GAAsB,qBAAX+3B,EAAwB,CACjC,GAAIA,EAAOC,IAAIH,GAAQ,OAAOE,EAAO1D,IAAIwD,GAEzCE,EAAOxf,IAAIsf,EAAOI,GAGpB,SAASA,IACP,OAAO,EAAUJ,EAAOhzB,UAAW,OAAAhG,EAAA,GAAeF,MAAM+C,aAW1D,OARAu2B,EAAQ58B,UAAYD,OAAO6B,OAAO46B,EAAMx8B,UAAW,CACjDqG,YAAa,CACXvF,MAAO87B,EACP57B,YAAY,EACZE,UAAU,EACVD,cAAc,KAGX,OAAAuF,EAAA,GAAeo2B,EAASJ,IAG1B,EAAiBA,K,6BEnC1B,0GAAMK,EAA4B,IACrBC,EACX,wDAOI,SAAU,EAAkB,GAChC,GAAI,EAAa,IAAM,OAAO,cAAc,GAC1C,MAAM,IAAI,MAAM,GAElB,OAAO,EAAa,EAQhB,SAAU,EAAkB,GAChC,IAAM,EAAa,EAAQ,EAC3B,OAAO,KAAK,MAAM,K,klGCXP,EAAb,kDAkNE,cAsDC,MArDC,EAqDD,EArDC,QACA,EAoDD,EApDC,OACA,EAmDD,EAnDC,4BACA,EAkDD,EAlDC,eACA,EAiDD,EAjDC,QACA,EAgDD,EAhDC,MACA,EA+CD,EA/CC,OACA,EA8CD,EA9CC,iBACA,EA6CD,EA7CC,mBACA,EA4CD,EA5CC,cACA,EA2CD,EA3CC,WACA,EA0CD,EA1CC,iBACA,EAyCD,EAzCC,mBACA,EAwCD,EAxCC,eACA,EAuCD,EAvCC,oBACA,EAsCD,EAtCC,gBACA,EAqCD,EArCC,OACA,EAoCD,EApCC,SACA,EAmCD,EAnCC,cACA,EAkCD,EAlCC,YACA,EAiCD,EAjCC,cACA,EAgCD,EAhCC,eACA,EA+BD,EA/BC,QACA,EA8BD,EA9BC,cACA,EA6BD,EA7BC,WACA,EA4BD,EA5BC,QA4BD,4BACC,gBACK,QAAU,EACf,EAAK,OAAS,EACd,EAAK,4BAA8B,EACnC,EAAK,eAAiB,EACtB,EAAK,QAAU,EACf,EAAK,MAAQ,EACb,EAAK,OAAS,EACd,EAAK,iBAAmB,EACxB,EAAK,mBAAqB,EAC1B,EAAK,cAAgB,EACrB,EAAK,WAAa,EAClB,EAAK,iBAAmB,EACxB,EAAK,mBAAqB,EAC1B,EAAK,eAAiB,EACtB,EAAK,oBAAsB,EAC3B,EAAK,gBAAkB,EACvB,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,cAAgB,EACrB,EAAK,YAAc,EACnB,EAAK,cAAgB,EACrB,EAAK,eAAiB,EACtB,EAAK,QAAU,EACf,EAAK,cAAgB,EACrB,EAAK,WAAa,EAClB,EAAK,QAAU,EAEf,EAAK,cAAgB,CACnB,QAAS,UACT,OAAQ,SACR,4BAA6B,iCAC7B,eAAgB,kBAChB,QAAS,UACT,MAAO,QACP,OAAQ,SACR,iBAAkB,sBAClB,mBAAoB,wBACpB,cAAe,kBACf,WAAY,cACZ,iBAAkB,qBAClB,mBAAoB,uBACpB,eAAgB,mBAChB,oBAAqB,yBACrB,gBAAiB,oBACjB,OAAQ,SACR,SAAU,YACV,cAAe,kBACf,YAAa,eACb,cAAe,iBACf,eAAgB,mBAChB,QAAS,UACT,cAAe,gBACf,WAAY,cACZ,QAAS,YAvDZ,EAxQH,8DAoUE,SAA6B,GAE3B,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,GAAsD,qBAA3C,EAAK,kCACd,MAAM,IAAI,MAAJ,+EACoE,IAE5E,GAAuC,qBAA5B,EAAK,mBACd,MAAM,IAAI,MAAJ,gEACqD,IAE7D,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,GAA2C,qBAAhC,EAAK,uBACd,MAAM,IAAI,MAAJ,oEACyD,IAEjE,GAA6C,qBAAlC,EAAK,yBACd,MAAM,IAAI,MAAJ,sEAC2D,IAEnE,GAAuC,qBAA5B,EAAK,mBACd,MAAM,IAAI,MAAJ,gEACqD,IAE7D,GAAmC,qBAAxB,EAAK,eACd,MAAM,IAAI,MAAJ,4DACiD,IAEzD,GAA0C,qBAA/B,EAAK,sBACd,MAAM,IAAI,MAAJ,mEACwD,IAEhE,GAA4C,qBAAjC,EAAK,wBACd,MAAM,IAAI,MAAJ,qEAC0D,IAElE,OAAO,IAAI,EAAQ,CACjB,QAAS,EAAI,QACb,OAAQ,EAAI,OACZ,4BAA6B,EAAK,kCAClC,eAAgB,EAAK,mBACrB,QAAS,EAAI,QACb,MAAO,EAAI,MACX,OAAQ,EAAI,OACZ,iBAAkB,EAAK,uBACvB,mBAAoB,EAAK,yBACzB,cAAe,EAAK,mBACpB,WAAY,EAAK,eACjB,iBAAkB,EAAK,sBACvB,mBAAoB,EAAK,wBACzB,eACsC,qBAA7B,EAAK,oBACR,EAAK,oBAAoB,IACvB,EAAsB,4BAExB,EACN,oBAAqB,EAAK,0BAC1B,gBACuC,qBAA9B,EAAK,qBACR,EAAuB,sBACrB,EAAK,2BAEP,EACN,OAC4B,qBAAnB,EAAI,OACP,EAAI,OAAW,IAAI,EAAa,4BAChC,EACN,SAAU,EAAK,aACf,cAAe,EAAK,mBACpB,YACkC,qBAAzB,EAAK,gBACR,EAAK,gBAAgB,IAAI,EAAY,4BACrC,EACN,cACoC,qBAA3B,EAAK,kBACR,EAAK,kBAAkB,IAAI,EAAM,4BACjC,EACN,eAAgB,EAAK,oBACrB,QAAS,EAAI,QACb,cACmC,qBAA1B,EAAI,cACP,EAAqB,sBAAsB,EAAI,oBAC/C,EACN,WAAY,EAAK,eACjB,QAAS,EAAK,kBAhapB,GAA6B,KA0ahB,EAAb,kDA0CE,cAcC,MAbC,EAaD,EAbC,0BACA,EAYD,EAZC,eACA,EAWD,EAXC,gBACA,EAUD,EAVC,cACA,EASD,EATC,qBACA,EAQD,EARC,cAQD,4BACC,gBACK,0BACkC,kBAA9B,EACH,IAAI,WAAW,EAAO,KAAK,EAA2B,WACtD,EACN,EAAK,eAAiB,EACtB,EAAK,gBAAkB,EACvB,EAAK,cAAgB,EACrB,EAAK,qBAC6B,kBAAzB,EACH,IAAI,WAAW,EAAO,KAAK,EAAsB,WACjD,EACN,EAAK,cACsB,kBAAlB,EACH,IAAI,WAAW,EAAO,KAAK,EAAe,WAC1C,EAEN,EAAK,cAAgB,CACnB,0BAA2B,8BAC3B,eAAgB,mBAChB,gBAAiB,oBACjB,cAAe,kBACf,qBAAsB,yBACtB,cAAe,mBAxBlB,EAxDH,8DAqFE,SACE,GAGA,GAAmD,qBAAxC,EAAK,+BACd,MAAM,IAAI,MAAJ,4EACiE,IAEzE,GAAwC,qBAA7B,EAAK,oBACd,MAAM,IAAI,MAAJ,iEACsD,IAE9D,GAAyC,qBAA9B,EAAK,qBACd,MAAM,IAAI,MAAJ,kEACuD,IAE/D,GAAuC,qBAA5B,EAAK,mBACd,MAAM,IAAI,MAAJ,gEACqD,IAE7D,GAA8C,qBAAnC,EAAK,0BACd,MAAM,IAAI,MAAJ,uEAC4D,IAEpE,OAAO,IAAI,EAAqB,CAC9B,0BAA2B,EAAK,+BAChC,eAAgB,EAAK,oBACrB,gBAAiB,EAAK,qBACtB,cAAe,EAAK,mBACpB,qBAAsB,EAAK,0BAC3B,cAAe,EAAK,yBAnH1B,GAA0C,KA4H7B,EAAb,kDAoBE,cAMC,MALC,EAKD,EALC,QACA,EAID,EAJC,aAID,4BACC,gBACK,QAAU,EACf,EAAK,aAAe,EAEpB,EAAK,cAAgB,CACnB,QAAS,UACT,aAAc,iBAPjB,EA1BH,8DAsCE,SAA6B,GAE3B,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAgB,CACzB,QAAS,EAAQ,sBAAsB,EAAI,SAC3C,aAAc,EAAK,uBAhDzB,GAAqC,KAyDxB,EAAb,kDAaE,cAMC,MALC,EAKD,EALC,QACA,EAID,EAJC,MAID,4BACC,gBACK,QAAU,EACf,EAAK,MAAQ,EAEb,EAAK,cAAgB,CACnB,QAAS,UACT,MAAO,SAPV,EAnBH,8DA+BE,SAA6B,GAE3B,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,IAAK,MAAM,QAAQ,EAAI,OACrB,MAAM,IAAI,MAAJ,4DACiD,IAEzD,OAAO,IAAI,EAAkB,CAC3B,QAAS,EAAI,QACb,MAAO,EAAI,MAAU,IAAI,EAAkB,6BAzCjD,GAAuC,KAkD1B,EAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,SACA,EAMD,EANC,aACA,EAKD,EALC,UAKD,4BACC,gBACK,SAAW,EAChB,EAAK,aAAe,EACpB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,SAAU,WACV,aAAc,gBACd,UAAW,cATd,EA7BH,8DA2CE,SAA6B,GAE3B,IAAK,MAAM,QAAQ,EAAI,UACrB,MAAM,IAAI,MAAJ,+DACoD,IAE5D,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAiB,CAC1B,SAAU,EAAI,SAAa,IAAI,EAAQ,uBACvC,aAAc,EAAK,iBACnB,UAAW,EAAK,oBAxDtB,GAAsC,KAiEzB,EAAb,kDAkCE,cAYC,MAXC,EAWD,EAXC,GACA,EAUD,EAVC,OACA,EASD,EATC,eACA,EAQD,EARC,QACA,EAOD,EAPC,eAOD,4BACC,gBACK,GAAK,EACV,EAAK,OAAS,EACd,EAAK,eAAiB,EACtB,EAAK,QAAU,EACf,EAAK,eAAiB,EAEtB,EAAK,cAAgB,CACnB,GAAI,KACJ,OAAQ,SACR,eAAgB,mBAChB,QAAS,UACT,eAAgB,oBAbnB,EA9CH,8DAgEE,SAA6B,GAE3B,GAA0B,qBAAf,EAAI,GACb,MAAM,IAAI,MAAJ,mDAAsD,IAC9D,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,OAAO,IAAI,EAAY,CACrB,GAAI,EAAI,GACR,OAAQ,EAAkB,sBAAsB,EAAI,QACpD,eAAgB,EAAK,oBACrB,QAAS,EAAI,QACb,eAAgB,EAAK,0BA3E3B,GAAiC,KAoFpB,EAAb,kDA0CE,cAcC,MAbC,EAaD,EAbC,GACA,EAYD,EAZC,OACA,EAWD,EAXC,iBACA,EAUD,EAVC,QACA,EASD,EATC,SACA,EAQD,EARC,eAQD,4BACC,gBACK,GAAK,EACV,EAAK,OAAS,EACd,EAAK,iBAAmB,EACxB,EAAK,QAAU,EACf,EAAK,SAAW,EAChB,EAAK,eAAiB,EAEtB,EAAK,cAAgB,CACnB,GAAI,KACJ,OAAQ,SACR,iBAAkB,sBAClB,QAAS,UACT,SAAU,YACV,eAAgB,qBAfnB,EAxDH,8DA4EE,SACE,GAGA,GAA0B,qBAAf,EAAI,GACb,MAAM,IAAI,MAAJ,mDAAsD,IAC9D,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,OAAO,IAAI,EAAsB,CAC/B,GAAI,EAAI,GACR,OAAQ,EAAuB,sBAAsB,EAAI,QACzD,iBAAkB,EAAK,uBACvB,QAAS,EAAI,QACb,SAC+B,qBAAtB,EAAK,aACR,EAAK,aAAa,IAAI,EAAa,4BACnC,EACN,eAAgB,EAAK,2BA7F3B,GAA2C,KAsG9B,EAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,gBACA,EAMD,EANC,aACA,EAKD,EALC,UAKD,4BACC,gBACK,gBAAkB,EACvB,EAAK,aAAe,EACpB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,gBAAiB,oBACjB,aAAc,gBACd,UAAW,cATd,EA7BH,8DA2CE,SACE,GAGA,IAAK,MAAM,QAAQ,EAAK,sBACtB,MAAM,IAAI,MAAJ,wEAC6D,IAErE,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAA+B,CACxC,gBAAiB,EAAK,qBAAqB,IACzC,EAAsB,uBAExB,aAAc,EAAK,iBACnB,UAAW,EAAK,oBA5DtB,GAAoD,KAqEvC,EAAb,kDAgBE,cAAgE,MAAlD,EAAkD,EAAlD,KAAM,EAA4C,EAA5C,KAA4C,4BAC9D,gBACK,KAAO,EACZ,EAAK,KAAO,EAEZ,EAAK,cAAgB,CACnB,KAAM,OACN,KAAM,QAPsD,EAhBlE,8DA4BE,SAA6B,GAE3B,IAAK,MAAM,QAAQ,EAAI,MACrB,MAAM,IAAI,MAAJ,2DACgD,IAExD,GAA4B,qBAAjB,EAAI,KACb,MAAM,IAAI,MAAJ,qDAAwD,IAChE,OAAO,IAAI,EAAmB,CAC5B,KAAM,EAAI,KACV,KAAM,EAAI,WAtChB,GAAwC,KA+C3B,EAAb,kDA2BE,cAUC,MATC,EASD,EATC,cACA,EAQD,EARC,aACA,EAOD,EAPC,QACA,EAMD,EANC,UAMD,4BACC,gBACK,cAAgB,EACrB,EAAK,aAAe,EACpB,EAAK,QAAU,EACf,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,cAAe,iBACf,aAAc,gBACd,QAAS,WACT,UAAW,cAXd,EArCH,8DAqDE,SACE,GAGA,GAAsC,qBAA3B,EAAK,kBACd,MAAM,IAAI,MAAJ,+DACoD,IAE5D,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAwB,CACjC,cAAe,EAAK,kBACpB,aAAc,EAAK,iBACnB,QAC8B,qBAArB,EAAK,YACR,EAAK,YAAY,IAAI,EAAmB,4BACxC,EACN,UAAW,EAAK,oBAxEtB,GAA6C,KAiFhC,EAAb,kDAgDE,cAgBC,MAfC,EAeD,EAfC,gBACA,EAcD,EAdC,kBACA,EAaD,EAbC,QACA,EAYD,EAZC,kBACA,EAWD,EAXC,YACA,EAUD,EAVC,kBACA,EASD,EATC,iBASD,4BACC,gBACK,gBACwB,kBAApB,EACH,IAAI,WAAW,EAAO,KAAK,EAAiB,WAC5C,EACN,EAAK,kBAC0B,kBAAtB,EACH,IAAI,WAAW,EAAO,KAAK,EAAmB,WAC9C,EACN,EAAK,QAAU,EACf,EAAK,kBAAoB,EACzB,EAAK,YAAc,EACnB,EAAK,kBAAoB,EACzB,EAAK,iBAAmB,EAExB,EAAK,cAAgB,CACnB,gBAAiB,mBACjB,kBAAmB,sBACnB,QAAS,UACT,kBAAmB,sBACnB,YAAa,eACb,kBAAmB,sBACnB,iBAAkB,sBAvBrB,EAhEH,8DA4FE,SAA6B,GAE3B,GAAwC,qBAA7B,EAAK,oBACd,MAAM,IAAI,MAAJ,iEACsD,IAE9D,GAA2C,qBAAhC,EAAK,uBACd,MAAM,IAAI,MAAJ,oEACyD,IAEjE,OAAO,IAAI,EAAkB,CAC3B,gBAAiB,EAAK,oBACtB,kBAAmB,EAAK,uBACxB,QAAS,EAAI,QACb,kBAAmB,EAAK,uBACxB,YACkC,qBAAzB,EAAK,gBACR,EAAK,gBAAgB,IAAI,EAAa,4BACtC,EACN,kBACyC,qBAAhC,EAAK,uBACR,EAAuB,sBACrB,EAAK,6BAEP,EACN,iBACwC,qBAA/B,EAAK,sBACR,EAAuB,sBACrB,EAAK,4BAEP,QA1HZ,GAAuC,KAmI1B,EAAb,kDAgBE,cAMC,MALC,EAKD,EALC,aACA,EAID,EAJC,YAID,4BACC,gBACK,aAAe,EACpB,EAAK,YAAc,EAEnB,EAAK,cAAgB,CACnB,aAAc,gBACd,YAAa,eAPhB,EAtBH,8DAkCE,SAA6B,GAE3B,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAoB,CAC7B,aAAc,EAAK,iBACnB,YACiC,qBAAxB,EAAI,YACP,EAAY,sBAAsB,EAAI,kBACtC,QA7CZ,GAAyC,KAsD5B,EAAb,kDAgBE,cAMC,MALC,EAKD,EALC,aACA,EAID,EAJC,QAID,4BACC,gBACK,aAAe,EACpB,EAAK,QAAU,EAEf,EAAK,cAAgB,CACnB,aAAc,iBACd,QAAS,YAPZ,EAtBH,8DAkCE,SACE,GAGA,GAAsC,qBAA3B,EAAK,kBACd,MAAM,IAAI,MAAJ,+DACoD,IAE5D,GAAgC,qBAArB,EAAK,YACd,MAAM,IAAI,MAAJ,yDAA4D,IACpE,OAAO,IAAI,EAAuB,CAChC,aAAc,EAAK,kBACnB,QAAS,EAAK,kBA9CpB,GAA4C,KAuD/B,EAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,aACA,EAMD,EANC,aACA,EAKD,EALC,UAKD,4BACC,gBACK,aAAe,EACpB,EAAK,aAAe,EACpB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,aAAc,eACd,aAAc,gBACd,UAAW,cATd,EA7BH,8DA2CE,SACE,GAGA,IAAK,MAAM,QAAQ,EAAI,cACrB,MAAM,IAAI,MAAJ,mEACwD,IAEhE,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAqB,CAC9B,aAAc,EAAI,aAAiB,IAAI,EAAY,uBACnD,aAAc,EAAK,iBACnB,UAAW,EAAK,oBA1DtB,GAA0C,KAmE7B,EAAb,kDAwCE,cAYC,MAXC,EAWD,EAXC,MACA,EAUD,EAVC,OACA,EASD,EATC,eACA,EAQD,EARC,QACA,EAOD,EAPC,iBAOD,4BACC,gBACK,MAAQ,EACb,EAAK,OAAS,EACd,EAAK,eAAiB,EACtB,EAAK,QAAU,EACf,EAAK,iBAAmB,EAExB,EAAK,cAAgB,CACnB,MAAO,QACP,OAAQ,SACR,eAAgB,mBAChB,QAAS,UACT,iBAAkB,sBAbrB,EApDH,8DAsEE,SAA6B,GAE3B,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,OAAO,IAAI,EAAM,CACf,MAAO,EAAI,MACX,OAAQ,EAAY,sBAAsB,EAAI,QAC9C,eAAgB,EAAK,oBACrB,QAAS,EAAI,QACb,iBAAkB,EAAK,4BAjF7B,GAA2B,KA0Fd,EAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,SACA,EAMD,EANC,aACA,EAKD,EALC,UAKD,4BACC,gBACK,SAAW,EAChB,EAAK,aAAe,EACpB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,SAAU,WACV,aAAc,gBACd,UAAW,cATd,EA7BH,8DA2CE,SACE,GAGA,IAAK,MAAM,QAAQ,EAAI,UACrB,MAAM,IAAI,MAAJ,+DACoD,IAE5D,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAsB,CAC/B,SAAU,EAAI,SAAa,IAAI,EAAiB,uBAChD,aAAc,EAAK,iBACnB,UAAW,EAAK,oBA1DtB,GAA2C,KAqE9B,EAAb,kDAwCE,cAcC,MAbC,EAaD,EAbC,OACA,EAYD,EAZC,QACA,EAWD,EAXC,SACA,EAUD,EAVC,QACA,EASD,EATC,eACA,EAQD,EARC,gBAQD,4BACC,gBACK,OAAS,EACd,EAAK,QAAU,EACf,EAAK,SAAW,EAChB,EAAK,QAAU,EACf,EAAK,eAAiB,EACtB,EAAK,gBAAkB,EAEvB,EAAK,cAAgB,CACnB,OAAQ,SACR,QAAS,WACT,SAAU,YACV,QAAS,UACT,eAAgB,oBAChB,gBAAiB,sBAfpB,EAtDH,8DA0EE,SAA6B,GAE3B,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,GAAgC,qBAArB,EAAK,YACd,MAAM,IAAI,MAAJ,yDAA4D,IACpE,GAAiC,qBAAtB,EAAK,aACd,MAAM,IAAI,MAAJ,0DAC+C,IAEvD,OAAO,IAAI,EAAa,CACtB,OAAQ,EAAI,OACZ,QAAS,EAAK,YACd,SAAU,EAAK,aACf,QAAS,EAAI,QACb,eAAgB,EAAK,qBACrB,gBAAiB,EAAK,4BA1F5B,GAAkC,KAmGrB,EAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,OACA,EAMD,EANC,aACA,EAKD,EALC,UAKD,4BACC,gBACK,OAAS,EACd,EAAK,aAAe,EACpB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,OAAQ,SACR,aAAc,gBACd,UAAW,cATd,EA7BH,8DA2CE,SACE,GAGA,IAAK,MAAM,QAAQ,EAAI,QACrB,MAAM,IAAI,MAAJ,6DACkD,IAE1D,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAsB,CAC/B,OAAQ,EAAI,OAAW,IAAI,EAAa,uBACxC,aAAc,EAAK,iBACnB,UAAW,EAAK,oBA1DtB,GAA2C,KAsE9B,EAAb,kDAoHE,cAgCC,MA/BC,EA+BD,EA/BC,QACA,EA8BD,EA9BC,SACA,EA6BD,EA7BC,MACA,EA4BD,EA5BC,SACA,EA2BD,EA3BC,cACA,EA0BD,EA1BC,OACA,EAyBD,EAzBC,QACA,EAwBD,EAxBC,aACA,EAuBD,EAvBC,KACA,EAsBD,EAtBC,QACA,EAqBD,EArBC,QACA,EAoBD,EApBC,SACA,EAmBD,EAnBC,YACA,EAkBD,EAlBC,IACA,EAiBD,EAjBC,OAiBD,4BACC,gBACK,QAAU,EACf,EAAK,SAAW,EAChB,EAAK,MAAQ,EACb,EAAK,SAAW,EAChB,EAAK,cAAgB,EACrB,EAAK,OAAS,EACd,EAAK,QAAU,EACf,EAAK,aACqB,kBAAjB,EACH,IAAI,WAAW,EAAO,KAAK,EAAc,WACzC,EACN,EAAK,KAAO,EACZ,EAAK,QACgB,kBAAZ,EACH,IAAI,WAAW,EAAO,KAAK,EAAS,WACpC,EACN,EAAK,QAAU,EACf,EAAK,SAAW,EAChB,EAAK,YACoB,kBAAhB,EACH,IAAI,WAAW,EAAO,KAAK,EAAa,WACxC,EACN,EAAK,IAAM,EACX,EAAK,OACe,kBAAX,EACH,IAAI,WAAW,EAAO,KAAK,EAAQ,WACnC,EAEN,EAAK,cAAgB,CACnB,QAAS,UACT,SAAU,WACV,MAAO,QACP,SAAU,WACV,cAAe,iBACf,OAAQ,SACR,QAAS,UACT,aAAc,gBACd,KAAM,OACN,QAAS,WACT,QAAS,UACT,SAAU,YACV,YAAa,gBACb,IAAK,MACL,OAAQ,WA7CX,EApJH,8DAsME,SAA6B,GAE3B,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,GAAgC,qBAArB,EAAI,SACb,MAAM,IAAI,MAAJ,yDAA4D,IACpE,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,OAAO,IAAI,EAAY,CACrB,QAAS,EAAI,QACb,SAAU,EAAI,SACd,MAAO,EAAI,MACX,SAAU,EAAI,SACd,cAAe,EAAK,kBACpB,OAAQ,EAAI,OACZ,QAAS,EAAI,QACb,aAAc,EAAK,iBACnB,KAAM,EAAI,KACV,QAAS,EAAK,YACd,QAAS,EAAI,QACb,SAAU,EAAK,aACf,YAAa,EAAK,iBAClB,IAAK,EAAI,IACT,OAAQ,EAAK,iBA7NnB,GAAiC,KAsOpB,EAAb,kDAgBE,cAMC,MALC,EAKD,EALC,MACA,EAID,EAJC,aAID,4BACC,gBACK,MAAQ,EACb,EAAK,aAAe,EAEpB,EAAK,cAAgB,CACnB,MAAO,QACP,aAAc,iBAPjB,EAtBH,8DAkCE,SAA6B,GAE3B,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAc,CACvB,MAAO,EAAM,sBAAsB,EAAI,OACvC,aAAc,EAAK,uBA5CzB,GAAmC,KAqDtB,EAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,OACA,EAMD,EANC,aACA,EAKD,EALC,UAKD,4BACC,gBACK,OAAS,EACd,EAAK,aAAe,EACpB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,OAAQ,SACR,aAAc,gBACd,UAAW,cATd,EA7BH,8DA2CE,SAA6B,GAE3B,IAAK,MAAM,QAAQ,EAAI,QACrB,MAAM,IAAI,MAAJ,6DACkD,IAE1D,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,OAAO,IAAI,EAAe,CACxB,OAAQ,EAAI,OAAW,IAAI,EAAM,uBACjC,aAAc,EAAK,iBACnB,UAAW,EAAK,oBAxDtB,GAAoC,KAmEvB,EAAb,kDAsHE,cAgCC,MA/BC,EA+BD,EA/BC,YACA,EA8BD,EA9BC,UACA,EA6BD,EA7BC,kBACA,EA4BD,EA5BC,MACA,EA2BD,EA3BC,KACA,EA0BD,EA1BC,UACA,EAyBD,EAzBC,iBACA,EAwBD,EAxBC,uBACA,EAuBD,EAvBC,qBACA,EAsBD,EAtBC,QACA,EAqBD,EArBC,mBACA,EAoBD,EApBC,aACA,EAmBD,EAnBC,WACA,EAkBD,EAlBC,aACA,EAiBD,EAjBC,YAiBD,4BACC,gBACK,YACoB,kBAAhB,EACH,IAAI,WAAW,EAAO,KAAK,EAAa,WACxC,EACN,EAAK,UAAY,EACjB,EAAK,kBAC0B,kBAAtB,EACH,IAAI,WAAW,EAAO,KAAK,EAAmB,WAC9C,EACN,EAAK,MAAQ,EACb,EAAK,KACa,kBAAT,EACH,IAAI,WAAW,EAAO,KAAK,EAAM,WACjC,EACN,EAAK,UAAY,EACjB,EAAK,iBACyB,kBAArB,EACH,IAAI,WAAW,EAAO,KAAK,EAAkB,WAC7C,EACN,EAAK,uBAC+B,kBAA3B,EACH,IAAI,WAAW,EAAO,KAAK,EAAwB,WACnD,EACN,EAAK,qBAAuB,EAC5B,EAAK,QAAU,EACf,EAAK,mBAAqB,EAC1B,EAAK,aAAe,EACpB,EAAK,WAAa,EAClB,EAAK,aAAe,EACpB,EAAK,YAAc,EAEnB,EAAK,cAAgB,CACnB,YAAa,eACb,UAAW,aACX,kBAAmB,sBACnB,MAAO,QACP,KAAM,OACN,UAAW,YACX,iBAAkB,oBAClB,uBAAwB,2BACxB,qBAAsB,wBACtB,QAAS,UACT,mBAAoB,uBACpB,aAAc,eACd,WAAY,cACZ,aAAc,gBACd,YAAa,gBAhDhB,EAtJH,8DA2ME,SAA6B,GAE3B,GAAoC,qBAAzB,EAAK,gBACd,MAAM,IAAI,MAAJ,6DACkD,IAE1D,GAAkC,qBAAvB,EAAK,cACd,MAAM,IAAI,MAAJ,2DACgD,IAExD,GAA2C,qBAAhC,EAAK,uBACd,MAAM,IAAI,MAAJ,oEACyD,IAEjE,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,GAA4B,qBAAjB,EAAI,KACb,MAAM,IAAI,MAAJ,qDAAwD,IAChE,GAAiC,qBAAtB,EAAI,UACb,MAAM,IAAI,MAAJ,0DAC+C,IAEvD,GAAyC,qBAA9B,EAAK,qBACd,MAAM,IAAI,MAAJ,kEACuD,IAE/D,GAAgD,qBAArC,EAAK,4BACd,MAAM,IAAI,MAAJ,yEAC8D,IAEtE,OAAO,IAAI,EAAM,CACf,YAAa,EAAK,gBAClB,UAAW,EAAK,cAChB,kBAAmB,EAAK,uBACxB,MAAO,EAAI,MACX,KAAM,EAAI,KACV,UAAW,EAAI,UACf,iBAAkB,EAAK,qBACvB,uBAAwB,EAAK,4BAC7B,qBAC2C,qBAAlC,EAAK,yBACR,EAAqB,sBACnB,EAAK,+BAEP,EACN,QAC6B,qBAApB,EAAI,QACP,EAAa,sBAAsB,EAAI,cACvC,EACN,mBAC0C,qBAAjC,EAAK,wBACR,EAAK,wBAAwB,IAC3B,EAAmB,4BAErB,EACN,aACkC,qBAAzB,EAAI,aACP,EAAI,aAAiB,IAAI,GAAY,4BACrC,EACN,WAAY,EAAK,eACjB,aACmC,qBAA1B,EAAK,iBACR,EAAkB,sBAAsB,EAAK,uBAC7C,EACN,YACkC,qBAAzB,EAAK,gBACR,EAAiB,sBAAsB,EAAK,sBAC5C,QA9QZ,GAA2B,KAuRd,EAAb,kDAkDE,cAcC,MAbC,EAaD,EAbC,QACA,EAYD,EAZC,wBACA,EAWD,EAXC,aACA,EAUD,EAVC,YACA,EASD,EATC,YACA,EAQD,EARC,eAQD,4BACC,gBACK,QAAU,EACf,EAAK,wBAA0B,EAC/B,EAAK,aAAe,EACpB,EAAK,YAAc,EACnB,EAAK,YAAc,EACnB,EAAK,eAAiB,EAEtB,EAAK,cAAgB,CACnB,QAAS,WACT,wBAAyB,4BACzB,aAAc,gBACd,YAAa,eACb,YAAa,eACb,eAAgB,mBAfnB,EAhEH,8DAoFE,SAA6B,GAE3B,GAAgC,qBAArB,EAAK,YACd,MAAM,IAAI,MAAJ,yDAA4D,IACpE,GAAiD,qBAAtC,EAAK,6BACd,MAAM,IAAI,MAAJ,0EAC+D,IAEvE,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,GAAoC,qBAAzB,EAAK,gBACd,MAAM,IAAI,MAAJ,6DACkD,IAE1D,GAAoC,qBAAzB,EAAK,gBACd,MAAM,IAAI,MAAJ,6DACkD,IAE1D,GAAuC,qBAA5B,EAAK,mBACd,MAAM,IAAI,MAAJ,gEACqD,IAE7D,OAAO,IAAI,EAAa,CACtB,QAAS,EAAK,YACd,wBAAyB,EAAK,6BAC9B,aAAc,EAAK,iBACnB,YAAa,EAAK,gBAClB,YAAa,EAAK,gBAClB,eAAgB,EAAK,yBAlH3B,GAAkC,KA2HrB,EAAb,kDAoCE,cAYC,MAXC,EAWD,EAXC,gBACA,EAUD,EAVC,aACA,EASD,EATC,sBACA,EAQD,EARC,qBACA,EAOD,EAPC,uBAOD,4BACC,gBACK,gBAAkB,EACvB,EAAK,aAAe,EACpB,EAAK,sBAAwB,EAC7B,EAAK,qBAAuB,EAC5B,EAAK,uBAAyB,EAE9B,EAAK,cAAgB,CACnB,gBAAiB,mBACjB,aAAc,gBACd,sBAAuB,0BACvB,qBAAsB,0BACtB,uBAAwB,6BAb3B,EAhDH,8DAkEE,SAA6B,GAE3B,GAAwC,qBAA7B,EAAK,oBACd,MAAM,IAAI,MAAJ,iEACsD,IAE9D,OAAO,IAAI,EAAkB,CAC3B,gBAAiB,EAAK,oBACtB,aAAc,EAAK,iBACnB,sBAAuB,EAAK,2BAC5B,qBAAsB,EAAK,2BAC3B,uBAAwB,EAAK,mCA7EnC,GAAuC,KAsF1B,EAAb,kDAsBE,cAQC,MAPC,EAOD,EAPC,eACA,EAMD,EANC,aACA,EAKD,EALC,eAKD,4BACC,gBACK,eAAiB,EACtB,EAAK,aAAe,EACpB,EAAK,eAAiB,EAEtB,EAAK,cAAgB,CACnB,eAAgB,kBAChB,aAAc,gBACd,eAAgB,mBATnB,EA9BH,8DA4CE,SAA6B,GAE3B,OAAO,IAAI,EAAiB,CAC1B,eAAgB,EAAK,mBACrB,aAAc,EAAK,iBACnB,eAAgB,EAAK,yBAjD3B,GAAsC,KA0DzB,EAAb,kDAgBE,cAMC,MALC,EAKD,EALC,KACA,EAID,EAJC,MAID,4BACC,gBACK,KACa,kBAAT,EACH,IAAI,WAAW,EAAO,KAAK,EAAM,WACjC,EACN,EAAK,MACc,kBAAV,EACH,IAAI,WAAW,EAAO,KAAK,EAAO,WAClC,EAEN,EAAK,cAAgB,CACnB,KAAM,OACN,MAAO,SAbV,EAtBH,8DAwCE,SAA6B,GAE3B,GAA4B,qBAAjB,EAAI,KACb,MAAM,IAAI,MAAJ,qDAAwD,IAChE,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,OAAO,IAAI,EAAI,CACb,KAAM,EAAI,KACV,MAAO,EAAI,YAhDjB,GAAyB,KAyDZ,EAAb,kDAUE,cAAmD,MAArC,EAAqC,EAArC,KAAqC,4BACjD,gBACK,KACa,kBAAT,EACH,IAAI,WAAW,EAAO,KAAK,EAAM,WACjC,EAEN,EAAK,cAAgB,CACnB,KAAM,QARyC,EAVrD,8DAuBE,SAA6B,GAE3B,GAA4B,qBAAjB,EAAI,KACb,MAAM,IAAI,MAAJ,qDAAwD,IAChE,OAAO,IAAI,EAAc,CACvB,KAAM,EAAI,WA5BhB,GAAmC,KAqCtB,EAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,cACA,EAMD,EANC,MACA,EAKD,EALC,UAKD,4BACC,gBACK,cAAgB,EACrB,EAAK,MAAQ,EACb,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,cAAe,iBACf,MAAO,QACP,UAAW,cATd,EA7BH,8DA2CE,SAA6B,GAE3B,GAAsC,qBAA3B,EAAK,kBACd,MAAM,IAAI,MAAJ,+DACoD,IAE5D,IAAK,MAAM,QAAQ,EAAI,OACrB,MAAM,IAAI,MAAJ,4DACiD,IAEzD,OAAO,IAAI,EAAc,CACvB,cAAe,EAAK,kBACpB,MAAO,EAAI,MAAU,IAAI,EAAc,uBACvC,UAAW,EAAK,oBAxDtB,GAAmC,KAiEtB,EAAb,kDAUE,cAMC,MALC,EAKD,EALC,QACA,EAID,EAJC,KAID,4BACC,gBACK,QAAU,EACf,EAAK,KAAO,EAEZ,EAAK,cAAgB,CACnB,QAAS,UACT,KAAM,QAPT,EAhBH,8DA4BE,SAA6B,GAE3B,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,OAAO,IAAI,EAAc,CACvB,QAAS,EAAI,QACb,KAAM,EAAI,WAlChB,GAAmC,KA2CtB,EAAb,kDAsBE,cAQC,MAPC,EAOD,EAPC,OACA,EAMD,EANC,MACA,EAKD,EALC,KAKD,4BACC,gBACK,OAAS,EACd,EAAK,MAAQ,EACb,EAAK,KAAO,EAEZ,EAAK,cAAgB,CACnB,OAAQ,SACR,MAAO,QACP,KAAM,QATT,EA9BH,8DA4CE,SAA6B,GAE3B,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,OAAO,IAAI,EAAU,CACnB,OAAQ,EAAI,OACZ,MAAO,EAAI,MACX,KAAM,EAAI,WAnDhB,GAA+B,KA4DlB,EAAb,kDAaE,cAA6D,MAA/C,EAA+C,EAA/C,IAAK,EAA0C,EAA1C,MAA0C,4BAC3D,gBACK,IAAM,EACX,EAAK,MAAQ,EAEb,EAAK,cAAgB,CACnB,IAAK,MACL,MAAO,SAPkD,EAb/D,8DAyBE,SAA6B,GAE3B,GAA2B,qBAAhB,EAAI,IACb,MAAM,IAAI,MAAJ,oDAAuD,IAC/D,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,OAAO,IAAI,EAAkB,CAC3B,IAAK,EAAI,IACT,MAAO,EAAU,sBAAsB,EAAI,aAjCjD,GAAuC,KAuC1B,EAAb,kDAUE,cAAwD,MAA1C,EAA0C,EAA1C,SAA0C,4BACtD,gBACK,SAAW,EAEhB,EAAK,cAAgB,CACnB,SAAU,aAL0C,EAV1D,8DAoBE,SAA6B,GAE3B,OAAO,IAAI,EAAY,CACrB,SAAU,EAAK,mBAvBrB,GAAiC,KAgCpB,EAAb,kDA4BE,cAgBC,MAfC,EAeD,EAfC,YACA,EAcD,EAdC,YACA,EAaD,EAbC,QACA,EAYD,EAZC,MACA,EAWD,EAXC,QACA,EAUD,EAVC,KACA,EASD,EATC,OASD,4BACC,gBACK,YAAc,EACnB,EAAK,YAAc,EACnB,EAAK,QAAU,EACf,EAAK,MAAQ,EACb,EAAK,QAAU,EACf,EAAK,KAAO,EACZ,EAAK,OAAS,EAEd,EAAK,cAAgB,CACnB,YAAa,eACb,YAAa,eACb,QAAS,UACT,MAAO,QACP,QAAS,UACT,KAAM,OACN,OAAQ,UAjBX,EA5CH,8DAkEE,SAA6B,GAE3B,GAAoC,qBAAzB,EAAK,gBACd,MAAM,IAAI,MAAJ,6DACkD,IAE1D,GAAoC,qBAAzB,EAAK,gBACd,MAAM,IAAI,MAAJ,6DACkD,IAE1D,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,OAAO,IAAI,EAAY,CACrB,YAAa,EAAK,gBAClB,YAAa,EAAK,gBAClB,QAAS,EAAI,QACb,MAAO,EAAI,MACX,QAAS,EAAI,QACb,KAAM,EAAI,KACV,OAAQ,EAAI,aAzFlB,GAAiC,KA+FpB,EAAb,kDAkCE,cAYC,MAXC,EAWD,EAXC,uBACA,EAUD,EAVC,mBACA,EASD,EATC,oBACA,EAQD,EARC,eACA,EAOD,EAPC,iBAOD,4BACC,gBACK,uBAC+B,kBAA3B,EACH,IAAI,WAAW,EAAO,KAAK,EAAwB,WACnD,EACN,EAAK,mBAAqB,EAC1B,EAAK,oBAAsB,EAC3B,EAAK,eAAiB,EACtB,EAAK,iBACyB,kBAArB,EACH,IAAI,WAAW,EAAO,KAAK,EAAkB,WAC7C,EAEN,EAAK,cAAgB,CACnB,uBAAwB,2BACxB,mBAAoB,uBACpB,oBAAqB,wBACrB,eAAgB,mBAChB,iBAAkB,qBAnBrB,EA9CH,8DAsEE,SACE,GAGA,OAAO,IAAI,EAAyB,CAClC,uBAAwB,EAAK,4BAC7B,mBAAoB,EAAK,wBACzB,oBAAqB,EAAK,yBAC1B,eAAgB,EAAK,oBACrB,iBAAkB,EAAK,2BA/E7B,GAA8C,KAqFjC,EAAb,kDAmBE,cAQC,MAPC,EAOD,EAPC,YACA,EAMD,EANC,KACA,EAKD,EALC,UAKD,4BACC,gBACK,YAAc,EACnB,EAAK,KAAO,EACZ,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,YAAa,eACb,KAAM,OACN,UAAW,cATd,EA3BH,8DAyCE,SAA6B,GAE3B,OAAO,IAAI,EAAiB,CAC1B,YACkC,qBAAzB,EAAK,gBACR,EAAY,sBAAsB,EAAK,sBACvC,EACN,KAAM,EAAI,KACV,UAAW,EAAK,oBAjDtB,GAAsC,KA0DzB,EAAb,kDA+BE,cAcC,MAbC,EAaD,EAbC,QACA,EAYD,EAZC,OACA,EAWD,EAXC,SACA,EAUD,EAVC,QACA,EASD,EATC,eACA,EAQD,EARC,gBAQD,4BACC,gBACK,QAAU,EACf,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,QAAU,EACf,EAAK,eAAiB,EACtB,EAAK,gBAAkB,EAEvB,EAAK,cAAgB,CACnB,QAAS,UACT,OAAQ,SACR,SAAU,YACV,QAAS,UACT,eAAgB,oBAChB,gBAAiB,sBAfpB,EA7CH,8DAiEE,SAA6B,GAE3B,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,GAAiC,qBAAtB,EAAK,aACd,MAAM,IAAI,MAAJ,0DAC+C,IAEvD,OAAO,IAAI,EAAiB,CAC1B,QAAS,EAAI,QACb,OAAQ,EAAI,OACZ,SAAU,EAAK,aACf,QAAS,EAAI,QACb,eAAgB,EAAK,qBACrB,gBAAiB,EAAK,4BAjF5B,GAAsC,KA0FzB,EAAb,kDAYE,cAIC,MAHC,EAGD,EAHC,6BAGD,4BACC,gBACK,6BAA+B,EAEpC,EAAK,cAAgB,CACnB,6BAA8B,kCALjC,EAhBH,8DA0BE,SACE,GAGA,OAAO,IAAI,EAAqB,CAC9B,6BAA8B,EAAK,wCA/BzC,GAA0C,KA0C7B,EAAb,kDAgDE,cAgBC,MAfC,EAeD,EAfC,WACA,EAcD,EAdC,kBACA,EAaD,EAbC,QACA,EAYD,EAZC,YACA,EAWD,EAXC,UACA,EAUD,EAVC,UACA,EASD,EATC,aASD,4BACC,gBACK,WAAa,EAClB,EAAK,kBAAoB,EACzB,EAAK,QAAU,EACf,EAAK,YAAc,EACnB,EAAK,UACkB,kBAAd,EACH,IAAI,WAAW,EAAO,KAAK,EAAW,WACtC,EACN,EAAK,UAAY,EACjB,EAAK,aAAe,EAEpB,EAAK,cAAgB,CACnB,WAAY,cACZ,kBAAmB,sBACnB,QAAS,UACT,YAAa,eACb,UAAW,aACX,UAAW,aACX,aAAc,iBApBjB,EAhEH,8DAyFE,SAA6B,GAE3B,OAAO,IAAI,EAAiB,CAC1B,WACiC,qBAAxB,EAAK,eACR,EAAiB,sBAAsB,EAAK,qBAC5C,EACN,kBAAmB,EAAK,uBACxB,QAC6B,qBAApB,EAAI,QACP,EAAI,QAAY,IAAI,EAAiB,4BACrC,EACN,YAAa,EAAK,gBAClB,UAAW,EAAK,cAChB,UACgC,qBAAvB,EAAK,cACR,EAAiB,sBAAsB,EAAK,oBAC5C,EACN,aAAc,EAAK,uBA3GzB,GAAsC,KAiHzB,EAAb,kDAgBE,cAMC,MALC,EAKD,EALC,SACA,EAID,EAJC,OAID,4BACC,gBACK,SAAW,EAChB,EAAK,OAAS,EAEd,EAAK,cAAgB,CACnB,SAAU,WACV,OAAQ,UAPX,EAtBH,8DAkCE,SACE,GAGA,OAAO,IAAI,EAAsB,CAC/B,SAC8B,qBAArB,EAAI,SACP,EAAmB,sBAAsB,EAAI,eAC7C,EACN,OAAQ,EAAI,aA3ClB,GAA2C,KAiD9B,EAAb,kDAwBE,cAQC,MAPC,EAOD,EAPC,YACA,EAMD,EANC,SACA,EAKD,EALC,QAKD,4BACC,gBACK,YAAc,EACnB,EAAK,SAAW,EAChB,EAAK,QAAU,EAEf,EAAK,cAAgB,CACnB,YAAa,cACb,SAAU,WACV,QAAS,YATZ,EAhCH,8DA8CE,SAA6B,GAE3B,OAAO,IAAI,EAAiB,CAC1B,YACiC,qBAAxB,EAAI,YACP,EAAsB,sBAAsB,EAAI,kBAChD,EACN,SAAU,EAAI,SACd,QAC8B,qBAArB,EAAK,YACR,EAAkB,sBAAsB,EAAK,kBAC7C,QAzDZ,GAAsC,KA+DzB,EAAb,kDAaE,cAMC,MALC,EAKD,EALC,eACA,EAID,EAJC,UAID,4BACC,gBACK,eAAiB,EACtB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,eAAgB,mBAChB,UAAW,aAPd,EAnBH,8DA+BE,SAA6B,GAE3B,OAAO,IAAI,EAAkB,CAC3B,eAAgB,EAAK,oBACrB,UAC+B,qBAAtB,EAAI,UACP,EAAoB,sBAAsB,EAAI,gBAC9C,QAtCZ,GAAuC,KA4C1B,EAAb,kDAmBE,cAUC,MATC,EASD,EATC,gBACA,EAQD,EARC,iBACA,EAOD,EAPC,MACA,EAMD,EANC,aAMD,4BACC,gBACK,gBACwB,kBAApB,EACH,IAAI,WAAW,EAAO,KAAK,EAAiB,WAC5C,EACN,EAAK,iBAAmB,EACxB,EAAK,MAAQ,EACb,EAAK,aACqB,kBAAjB,EACH,IAAI,WAAW,EAAO,KAAK,EAAc,WACzC,EAEN,EAAK,cAAgB,CACnB,gBAAiB,mBACjB,iBAAkB,qBAClB,MAAO,QACP,aAAc,iBAjBjB,EA7BH,8DAmDE,SAA6B,GAE3B,OAAO,IAAI,EAAoB,CAC7B,gBAAiB,EAAK,oBACtB,iBAAkB,EAAK,sBACvB,MAC2B,qBAAlB,EAAI,MACP,EAAiB,sBAAsB,EAAI,YAC3C,EACN,aAAc,EAAK,uBA5DzB,GAAyC,KAkE5B,EAAb,kDAgCE,cAUC,MATC,EASD,EATC,UACA,EAQD,EARC,kBACA,EAOD,EAPC,KACA,EAMD,EANC,iBAMD,4BACC,gBACK,UAAY,EACjB,EAAK,kBAAoB,EACzB,EAAK,KAAO,EACZ,EAAK,iBACyB,kBAArB,EACH,IAAI,WAAW,EAAO,KAAK,EAAkB,WAC7C,EAEN,EAAK,cAAgB,CACnB,UAAW,aACX,kBAAmB,sBACnB,KAAM,OACN,iBAAkB,qBAdrB,EA1CH,8DA6DE,SAA6B,GAE3B,OAAO,IAAI,EAAmB,CAC5B,UAAW,EAAK,cAChB,kBAAmB,EAAK,uBACxB,KAAM,EAAI,KACV,iBAAkB,EAAK,2BAnE7B,GAAwC,KAyE3B,EAAb,kDAgBE,cAMC,MALC,EAKD,EALC,WACA,EAID,EAJC,YAID,4BACC,gBACK,WACmB,kBAAf,EACH,IAAI,WAAW,EAAO,KAAK,EAAY,WACvC,EACN,EAAK,YAAc,EAEnB,EAAK,cAAgB,CACnB,WAAY,aACZ,YAAa,gBAVhB,EAtBH,8DAqCE,SAA6B,GAE3B,OAAO,IAAI,EAAmB,CAC5B,WAAY,EAAI,WAChB,YAAa,EAAK,sBAzCxB,GAAwC,KAqD3B,EAAb,kDAgBE,cAMC,MALC,EAKD,EALC,aACA,EAID,EAJC,QAID,4BACC,gBACK,aAAe,EACpB,EAAK,QAAU,EAEf,EAAK,cAAgB,CACnB,aAAc,iBACd,QAAS,YAPZ,EAtBH,8DAkCE,SAA6B,GAE3B,GAAsC,qBAA3B,EAAK,kBACd,MAAM,IAAI,MAAJ,+DACoD,IAE5D,GAAgC,qBAArB,EAAK,YACd,MAAM,IAAI,MAAJ,yDAA4D,IACpE,OAAO,IAAI,EAAY,CACrB,aAAc,EAAK,kBACnB,QAAS,EAAK,kBA5CpB,GAAiC,KAqDpB,EAAb,kDAaE,cAA6D,MAA/C,EAA+C,EAA/C,IAAK,EAA0C,EAA1C,MAA0C,4BAC3D,gBACK,IAAM,EACX,EAAK,MAAQ,EAEb,EAAK,cAAgB,CACnB,IAAK,MACL,MAAO,SAPkD,EAb/D,8DAyBE,SAA6B,GAE3B,GAA2B,qBAAhB,EAAI,IACb,MAAM,IAAI,MAAJ,oDAAuD,IAC/D,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,OAAO,IAAI,EAAa,CACtB,IAAK,EAAI,IACT,MAAO,GAAU,sBAAsB,EAAI,aAjCjD,GAAkC,KA0CrB,GAAb,kDAsBE,cAQC,MAPC,EAOD,EAPC,MACA,EAMD,EANC,KACA,EAKD,EALC,KAKD,4BACC,gBACK,MAAQ,EACb,EAAK,KAAO,EACZ,EAAK,KAAO,EAEZ,EAAK,cAAgB,CACnB,MAAO,QACP,KAAM,OACN,KAAM,QATT,EA9BH,8DA4CE,SAA6B,GAE3B,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,GAA4B,qBAAjB,EAAI,KACb,MAAM,IAAI,MAAJ,qDAAwD,IAChE,GAA4B,qBAAjB,EAAI,KACb,MAAM,IAAI,MAAJ,qDAAwD,IAChE,OAAO,IAAI,EAAU,CACnB,MAAO,EAAI,MACX,KAAM,EAAI,KACV,KAAM,EAAI,WAvDhB,GAA+B,KAoElB,GAAb,kDA8RE,cAsEC,MArEC,EAqED,EArEC,IACA,EAoED,EApEC,WACA,EAmED,EAnEC,UACA,EAkED,EAlEC,OACA,EAiED,EAjEC,uBACA,EAgED,EAhEC,uBACA,EA+DD,EA/DC,uBACA,EA8DD,EA9DC,yBACA,EA6DD,EA7DC,SACA,EA4DD,EA5DC,aACA,EA2DD,EA3DC,cACA,EA0DD,EA1DC,eACA,EAyDD,EAzDC,wBACA,EAwDD,EAxDC,kBACA,EAuDD,EAvDC,YACA,EAsDD,EAtDC,UACA,EAqDD,EArDC,iBACA,EAoDD,EApDC,MACA,EAmDD,EAnDC,GACA,EAkDD,EAlDC,UACA,EAiDD,EAjDC,iBACA,EAgDD,EAhDC,kBACA,EA+CD,EA/CC,MACA,EA8CD,EA9CC,gBACA,EA6CD,EA7CC,KACA,EA4CD,EA5CC,KACA,EA2CD,EA3CC,mBACA,EA0CD,EA1CC,gBACA,EAyCD,EAzCC,QACA,EAwCD,EAxCC,UACA,EAuCD,EAvCC,cACA,EAsCD,EAtCC,UACA,EAqCD,EArCC,sBACA,EAoCD,EApCC,OAoCD,4BACC,gBACK,IAAM,EACX,EAAK,WAAa,EAClB,EAAK,UAAY,EACjB,EAAK,OAAS,EACd,EAAK,uBAAyB,EAC9B,EAAK,uBAAyB,EAC9B,EAAK,uBAAyB,EAC9B,EAAK,yBAA2B,EAChC,EAAK,SAAW,EAChB,EAAK,aAAe,EACpB,EAAK,cAAgB,EACrB,EAAK,eAAiB,EACtB,EAAK,wBAA0B,EAC/B,EAAK,kBAAoB,EACzB,EAAK,YACoB,kBAAhB,EACH,IAAI,WAAW,EAAO,KAAK,EAAa,WACxC,EACN,EAAK,UAAY,EACjB,EAAK,iBAAmB,EACxB,EAAK,MACc,kBAAV,EACH,IAAI,WAAW,EAAO,KAAK,EAAO,WAClC,EACN,EAAK,GAAK,EACV,EAAK,UAAY,EACjB,EAAK,iBAAmB,EACxB,EAAK,kBAAoB,EACzB,EAAK,MACc,kBAAV,EACH,IAAI,WAAW,EAAO,KAAK,EAAO,WAClC,EACN,EAAK,gBAAkB,EACvB,EAAK,KAAO,EACZ,EAAK,KACa,kBAAT,EACH,IAAI,WAAW,EAAO,KAAK,EAAM,WACjC,EACN,EAAK,mBAAqB,EAC1B,EAAK,gBAAkB,EACvB,EAAK,QAAU,EACf,EAAK,UAAY,EACjB,EAAK,cAAgB,EACrB,EAAK,UAAY,EACjB,EAAK,sBAAwB,EAC7B,EAAK,OAAS,EAEd,EAAK,cAAgB,CACnB,IAAK,MACL,WAAY,cACZ,UAAW,aACX,OAAQ,SACR,uBAAwB,0BACxB,uBAAwB,2BACxB,uBAAwB,2BACxB,yBAA0B,6BAC1B,SAAU,YACV,aAAc,gBACd,cAAe,iBACf,eAAgB,kBAChB,wBAAyB,4BACzB,kBAAmB,sBACnB,YAAa,eACb,UAAW,aACX,iBAAkB,qBAClB,MAAO,QACP,GAAI,KACJ,UAAW,aACX,iBAAkB,qBAClB,kBAAmB,qBACnB,MAAO,QACP,gBAAiB,oBACjB,KAAM,OACN,KAAM,OACN,mBAAoB,sBACpB,gBAAiB,mBACjB,QAAS,WACT,UAAW,aACX,cAAe,iBACf,UAAW,YACX,sBAAuB,0BACvB,OAAQ,WAnFX,EApWH,8DA4bE,SAA6B,GAE3B,GAA2B,qBAAhB,EAAI,IACb,MAAM,IAAI,MAAJ,oDAAuD,IAC/D,GAAmC,qBAAxB,EAAK,eACd,MAAM,IAAI,MAAJ,4DACiD,IAEzD,GAAkC,qBAAvB,EAAK,cACd,MAAM,IAAI,MAAJ,2DACgD,IAExD,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,OAAO,IAAI,EAAY,CACrB,IAAK,EAAI,IACT,WAAY,EAAK,eACjB,UAAW,EAAK,cAChB,OAAQ,EAAI,OACZ,uBAC6C,qBAApC,EAAK,2BACR,GAAuB,sBACrB,EAAK,iCAEP,EACN,uBAC8C,qBAArC,EAAK,4BACR,GAAuB,sBACrB,EAAK,kCAEP,EACN,uBAC8C,qBAArC,EAAK,4BACR,GAAuB,sBACrB,EAAK,kCAEP,EACN,yBACgD,qBAAvC,EAAK,8BACR,GAAyB,sBACvB,EAAK,oCAEP,EACN,SAAU,EAAK,aACf,aAAc,EAAK,iBACnB,cAAe,EAAK,kBACpB,eAAgB,EAAK,mBACrB,wBAAyB,EAAK,6BAC9B,kBAAmB,EAAK,uBACxB,YAAa,EAAK,gBAClB,UAAW,EAAK,cAChB,iBACwC,qBAA/B,EAAK,sBACR,EAAK,sBAAsB,IACzB,EAAkB,4BAEpB,EACN,MAAO,EAAI,MACX,GAAI,EAAI,GACR,UACgC,qBAAvB,EAAK,cACR,EAAK,cAAc,IAAI,EAAY,4BACnC,EACN,iBAAkB,EAAK,sBACvB,kBACwC,qBAA/B,EAAK,sBACR,GAAkB,sBAAsB,EAAK,4BAC7C,EACN,MAAO,EAAI,MACX,gBACuC,qBAA9B,EAAK,qBACR,EAAK,qBAAqB,IACxB,EAAkB,4BAEpB,EACN,KAAM,EAAI,KACV,KAAM,EAAI,KACV,mBACyC,qBAAhC,EAAK,uBACR,GAAmB,sBACjB,EAAK,6BAEP,EACN,gBAAiB,EAAK,oBACtB,QAAS,EAAK,YACd,UAAW,EAAK,cAChB,cAAe,EAAK,kBACpB,UAC+B,qBAAtB,EAAI,UACP,GAAqB,sBAAsB,EAAI,gBAC/C,EACN,sBAC6C,qBAApC,EAAK,2BACR,GAAsB,sBACpB,EAAK,iCAEP,EACN,OAAQ,EAAK,iBA7hBnB,GAAiC,KAwiBpB,GAAb,kDAwHE,cAwBC,MAvBC,EAuBD,EAvBC,cACA,EAsBD,EAtBC,SACA,EAqBD,EArBC,gBACA,EAoBD,EApBC,gBACA,EAmBD,EAnBC,kBACA,EAkBD,EAlBC,kBACA,EAiBD,EAjBC,YACA,EAgBD,EAhBC,cACA,EAeD,EAfC,kBACA,EAcD,EAdC,iBACA,EAaD,EAbC,aAaD,4BACC,gBACK,cAAgB,EACrB,EAAK,SAAW,EAChB,EAAK,gBAAkB,EACvB,EAAK,gBACwB,kBAApB,EACH,IAAI,WAAW,EAAO,KAAK,EAAiB,WAC5C,EACN,EAAK,kBAC0B,kBAAtB,EACH,IAAI,WAAW,EAAO,KAAK,EAAmB,WAC9C,EACN,EAAK,kBAAoB,EACzB,EAAK,YAAc,EACnB,EAAK,cAAgB,EACrB,EAAK,kBAAoB,EACzB,EAAK,iBAAmB,EACxB,EAAK,aAAe,EAEpB,EAAK,cAAgB,CACnB,cAAe,iBACf,SAAU,WACV,gBAAiB,mBACjB,gBAAiB,mBACjB,kBAAmB,sBACnB,kBAAmB,sBACnB,YAAa,eACb,cAAe,iBACf,kBAAmB,sBACnB,iBAAkB,qBAClB,aAAc,iBA/BjB,EAhJH,8DAoLE,SACE,GAGA,GAAsC,qBAA3B,EAAK,kBACd,MAAM,IAAI,MAAJ,+DACoD,IAE5D,OAAO,IAAI,EAAuB,CAChC,cAAe,EAAK,kBACpB,SAAU,EAAI,SACd,gBAAiB,EAAK,oBACtB,gBAAiB,EAAK,oBACtB,kBAAmB,EAAK,uBACxB,kBAAmB,EAAK,uBACxB,YAAa,EAAK,gBAClB,cAAe,EAAK,kBACpB,kBACyC,qBAAhC,EAAK,uBACR,EAAY,sBAAsB,EAAK,6BACvC,EACN,iBACwC,qBAA/B,EAAK,sBACR,EAAY,sBAAsB,EAAK,4BACvC,EACN,aAAc,EAAK,uBA7MzB,GAA4C,KA0N/B,GAAb,kDAsBE,cAMC,MALC,EAKD,EALC,QACA,EAID,EAJC,OAID,4BACC,gBACK,QAAU,EACf,EAAK,OAAS,EAEd,EAAK,cAAgB,CACnB,QAAS,WACT,OAAQ,UAPX,EA5BH,8DAwCE,SACE,GAGA,OAAO,IAAI,EAAuB,CAChC,QAAS,EAAK,YACd,OAC4B,qBAAnB,EAAI,OACP,EAAY,sBAAsB,EAAI,aACtC,QAjDZ,GAA4C,KA4D/B,GAAb,kDAsBE,cAQC,MAPC,EAOD,EAPC,QACA,EAMD,EANC,QACA,EAKD,EALC,gBAKD,4BACC,gBACK,QAAU,EACf,EAAK,QAAU,EACf,EAAK,gBAAkB,EAEvB,EAAK,cAAgB,CACnB,QAAS,UACT,QAAS,WACT,gBAAiB,qBATpB,EA9BH,8DA4CE,SACE,GAGA,GAA+B,qBAApB,EAAI,QACb,MAAM,IAAI,MAAJ,wDAA2D,IACnE,GAAgC,qBAArB,EAAK,YACd,MAAM,IAAI,MAAJ,yDAA4D,IACpE,GAAyC,qBAA9B,EAAK,qBACd,MAAM,IAAI,MAAJ,kEACuD,IAE/D,OAAO,IAAI,EAAuB,CAChC,QAAS,EAAI,QACb,QAAS,EAAK,YACd,gBAAiB,EAAK,2BA3D5B,GAA4C,KAsE/B,GAAb,kDAkDE,cAcC,MAbC,EAaD,EAbC,OACA,EAYD,EAZC,QACA,EAWD,EAXC,SACA,EAUD,EAVC,YACA,EASD,EATC,QACA,EAQD,EARC,OAQD,4BACC,gBACK,OAAS,EACd,EAAK,QAAU,EACf,EAAK,SAAW,EAChB,EAAK,YAAc,EACnB,EAAK,QAAU,EACf,EAAK,OAAS,EAEd,EAAK,cAAgB,CACnB,OAAQ,SACR,QAAS,WACT,SAAU,WACV,YAAa,eACb,QAAS,WACT,OAAQ,UAfX,EAhEH,8DAoFE,SACE,GAGA,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,GAAgC,qBAArB,EAAK,YACd,MAAM,IAAI,MAAJ,yDAA4D,IACpE,GAAgC,qBAArB,EAAI,SACb,MAAM,IAAI,MAAJ,yDAA4D,IACpE,OAAO,IAAI,EAAyB,CAClC,OAAQ,EAAI,OACZ,QAAS,EAAK,YACd,SAAU,EAAI,SACd,YAAa,EAAK,gBAClB,QAAS,EAAK,YACd,OAAQ,EAAI,aApGlB,GAA8C,KA+GjC,GAAb,kDAgDE,cAgBC,MAfC,EAeD,EAfC,iBACA,EAcD,EAdC,0BACA,EAaD,EAbC,cACA,EAYD,EAZC,eACA,EAWD,EAXC,gBACA,EAUD,EAVC,cACA,EASD,EATC,qBASD,4BACC,gBACK,iBAAmB,EACxB,EAAK,0BACkC,kBAA9B,EACH,IAAI,WAAW,EAAO,KAAK,EAA2B,WACtD,EACN,EAAK,cACsB,kBAAlB,EACH,IAAI,WAAW,EAAO,KAAK,EAAe,WAC1C,EACN,EAAK,eAAiB,EACtB,EAAK,gBAAkB,EACvB,EAAK,cAAgB,EACrB,EAAK,qBAC6B,kBAAzB,EACH,IAAI,WAAW,EAAO,KAAK,EAAsB,WACjD,EAEN,EAAK,cAAgB,CACnB,iBAAkB,oBAClB,0BAA2B,8BAC3B,cAAe,kBACf,eAAgB,mBAChB,gBAAiB,oBACjB,cAAe,kBACf,qBAAsB,0BA1BzB,EAhEH,8DA+FE,SAA6B,GAE3B,OAAO,IAAI,EAAkB,CAC3B,iBAAkB,EAAK,qBACvB,0BAA2B,EAAK,+BAChC,cAAe,EAAK,mBACpB,eAAgB,EAAK,oBACrB,gBAAiB,EAAK,qBACtB,cAAe,EAAK,mBACpB,qBAAsB,EAAK,gCAxGjC,GAAuC,KAmH1B,GAAb,kDAgCE,cAUC,MATC,EASD,EATC,OACA,EAQD,EARC,SACA,EAOD,EAPC,YACA,EAMD,EANC,iBAMD,4BACC,gBACK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,YAAc,EACnB,EAAK,iBAAmB,EAExB,EAAK,cAAgB,CACnB,OAAQ,SACR,SAAU,WACV,YAAa,eACb,iBAAkB,sBAXrB,EA1CH,8DA0DE,SAA6B,GAE3B,GAA8B,qBAAnB,EAAI,OACb,MAAM,IAAI,MAAJ,uDAA0D,IAClE,GAAgC,qBAArB,EAAI,SACb,MAAM,IAAI,MAAJ,yDAA4D,IACpE,OAAO,IAAI,EAAmB,CAC5B,OAAQ,EAAI,OACZ,SAAU,EAAI,SACd,YAAa,EAAK,gBAClB,iBAAkB,EAAK,4BApE7B,GAAwC,KA6E3B,GAAb,kDAwBE,cAMC,MALC,EAKD,EALC,aACA,EAID,EAJC,YAID,4BACC,gBACK,aAAe,EACpB,EAAK,YAAc,EAEnB,EAAK,cAAgB,CACnB,aAAc,gBACd,YAAa,eAPhB,EA9BH,8DA0CE,SAA6B,GAE3B,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,GAAmC,qBAAxB,EAAI,YACb,MAAM,IAAI,MAAJ,4DACiD,IAEzD,OAAO,IAAI,EAAoB,CAC7B,aAAc,EAAK,iBACnB,YAAa,GAAY,sBAAsB,EAAI,mBAtDzD,GAAyC,KAgE5B,GAAb,kDA8BE,cAQC,MAPC,EAOD,EAPC,SACA,EAMD,EANC,SACA,EAKD,EALC,IAKD,4BACC,gBACK,SAAW,EAChB,EAAK,SAAW,EAChB,EAAK,IACY,kBAAR,EACH,IAAI,WAAW,EAAO,KAAK,EAAK,WAChC,EAEN,EAAK,cAAgB,CACnB,SAAU,WACV,SAAU,WACV,IAAK,OAZR,EAtCH,8DAuDE,SACE,GAGA,OAAO,IAAI,EAAqB,CAC9B,SAC8B,qBAArB,EAAI,SACP,GAA6B,sBAAsB,EAAI,eACvD,EACN,SAC8B,qBAArB,EAAI,SACP,GAA6B,sBAAsB,EAAI,eACvD,EACN,IAAK,EAAI,UApEf,GAA0C,KA+E7B,GAAb,kDAkCE,cAUC,MATC,EASD,EATC,MACA,EAQD,EARC,KACA,EAOD,EAPC,kBACA,EAMD,EANC,UAMD,4BACC,gBACK,MACc,kBAAV,EACH,IAAI,WAAW,EAAO,KAAK,EAAO,WAClC,EACN,EAAK,KAAO,EACZ,EAAK,kBAAoB,EACzB,EAAK,UACkB,kBAAd,EACH,IAAI,WAAW,EAAO,KAAK,EAAW,WACtC,EAEN,EAAK,cAAgB,CACnB,MAAO,QACP,KAAM,OACN,kBAAmB,qBACnB,UAAW,aAjBd,EA5CH,8DAkEE,SACE,GAGA,GAA6B,qBAAlB,EAAI,MACb,MAAM,IAAI,MAAJ,sDAAyD,IACjE,OAAO,IAAI,EAA6B,CACtC,MAAO,EAAI,MACX,KAAM,EAAI,KACV,kBACwC,qBAA/B,EAAK,sBACR,GAA6B,sBAC3B,EAAK,4BAEP,EACN,UAAW,EAAI,gBAjFrB,GAAkD,KA4FrC,GAAb,kDAsBE,cAQC,MAPC,EAOD,EAPC,aACA,EAMD,EANC,UACA,EAKD,EALC,QAKD,4BACC,gBACK,aAAe,EACpB,EAAK,UAAY,EACjB,EAAK,QAAU,EAEf,EAAK,cAAgB,CACnB,aAAc,eACd,UAAW,YACX,QAAS,WATZ,EA9BH,8DA4CE,SACE,GAGA,OAAO,IAAI,EAA6B,CACtC,aACkC,qBAAzB,EAAI,aACP,EAAI,aAAiB,IACnB,GAAyC,4BAE3C,EACN,UAAW,EAAI,UACf,QAAS,EAAI,cAxDnB,GAAkD,KA8DrC,GAAb,kDAgBE,cAMC,MALC,EAKD,EALC,UACA,EAID,EAJC,UAID,4BACC,gBACK,UACkB,kBAAd,EACH,IAAI,WAAW,EAAO,KAAK,EAAW,WACtC,EACN,EAAK,UACkB,kBAAd,EACH,IAAI,WAAW,EAAO,KAAK,EAAW,WACtC,EAEN,EAAK,cAAgB,CACnB,UAAW,aACX,UAAW,aAbd,EAtBH,8DAwCE,SACE,GAGA,OAAO,IAAI,EAAyC,CAClD,UAAW,EAAK,cAChB,UAAW,EAAI,gBA9CrB,GAA8D,KAyDjD,GAAb,kDA4BE,cAQC,MAPC,EAOD,EAPC,QACA,EAMD,EANC,WACA,EAKD,EALC,eAKD,4BACC,gBACK,QAAU,EACf,EAAK,WAAa,EAClB,EAAK,eAAiB,EAEtB,EAAK,cAAgB,CACnB,QAAS,UACT,WAAY,cACZ,eAAgB,oBATnB,EApCH,8DAkDE,SACE,GAGA,OAAO,IAAI,EAAsB,CAC/B,QAC6B,qBAApB,EAAI,QACP,EAAyB,sBAAsB,EAAI,cACnD,EACN,WACiC,qBAAxB,EAAK,eACR,EAAiB,sBAAsB,EAAK,qBAC5C,EACN,eAAgB,EAAK,0BA/D3B,GAA2C,KAwE9B,GAAb,kDAqBE,cAQC,MAPC,EAOD,EAPC,aACA,EAMD,EANC,aACA,EAKD,EALC,UAKD,4BACC,gBACK,aAAe,EACpB,EAAK,aAAe,EACpB,EAAK,UAAY,EAEjB,EAAK,cAAgB,CACnB,aAAc,gBACd,aAAc,eACd,UAAW,cATd,EA7BH,8DA2CE,SACE,GAGA,GAAqC,qBAA1B,EAAK,iBACd,MAAM,IAAI,MAAJ,8DACmD,IAE3D,IAAK,MAAM,QAAQ,EAAI,cACrB,MAAM,IAAI,MAAJ,mEACwD,IAEhE,OAAO,IAAI,EAAqB,CAC9B,aAAc,EAAK,iBACnB,aAAc,EAAI,aAAiB,IAAI,GAAY,uBACnD,UAAW,EAAK,oBA1DtB,GAA0C,M,sDCp+K1C,8CACe,SAASC,EAA4B3xB,EAAG4xB,GACrD,GAAK5xB,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,YAAiBA,EAAG4xB,GACtD,IAAI3xB,EAAItL,OAAOC,UAAUsT,SAASpQ,KAAKkI,GAAG/D,MAAM,GAAI,GAEpD,MADU,WAANgE,GAAkBD,EAAE/E,cAAagF,EAAID,EAAE/E,YAAYC,MAC7C,QAAN+E,GAAqB,QAANA,EAAoBwF,MAAMmB,KAAK5G,GACxC,cAANC,GAAqB,2CAA2CiF,KAAKjF,GAAW,YAAiBD,EAAG4xB,QAAxG,K,6BCPa,SAASC,EAAgB7xB,EAAGK,GAKzC,OAJAwxB,EAAkBl9B,OAAOyG,eAAiBzG,OAAOyG,eAAewvB,OAAS,SAAyB5qB,EAAGK,GAEnG,OADAL,EAAE3E,UAAYgF,EACPL,GAEF6xB,EAAgB7xB,EAAGK,GAL5B,mC,6BCAe,SAASyxB,EAAuB37B,GAC7C,QAAa,IAATA,EACF,MAAM,IAAI47B,eAAe,6DAG3B,OAAO57B,EALT,mC,iGCgBA,SAAS,IAEgC,IADvC,EACuC,uDADvB,GAChB,EAAuC,uCAEjC,EAAc,GAEpB,OADA,EAAY,GAAoB,EACzB,EAGT,SAAS,EACP,GAEA,MAA8C,oBAA/B,EAAuB,I,IAMV,E,WAM5B,WACE,EACA,EACA,EACA,GACwC,IAQlC,EARN,EAAwC,uDAAF,IAAE,oBAEpC,EAAiB,IAEnB,KAAK,EAAI,IAAI,UAAW,IAMtB,EAD0C,kBAAjC,EACK,EACZ,EACA,GAGY,EAGhB,KAAK,EAAI,IAAI,UAAW,EAAa,EAAY,EAAM,IAGzD,KAAK,YAAc,IAAY,Q,kDASjC,SAAe,GACb,KAAK,YAAc,I,4BAMrB,WACE,OAAO,KAAK,gB,oJC1EV,SAAU,EAAmB,GACjC,MAAoB,kBAAT,EACF,EAEF,EAAO,KAAK,GAAM,SAAS,U,IAGf,E,kDAanB,WACE,EACA,EACQ,GAAe,kCAEvB,cAAM,EAAG,IAFD,UAGR,EAAK,QAAU,EAHQ,E,wCASzB,WACE,6BAAuB,KAAK,QAA5B,mB,wBAmBF,SAAW,GAET,OADA,KAAK,MAAM,eAAiB,EAAmB,GACxC,O,oBAkBT,SAAO,GAEL,OADA,KAAK,MAAM,WAAa,EACjB,O,qBAqBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,kBAmBT,SAAK,GAEH,OADA,KAAK,MAAM,KAAO,EACX,O,mBAmBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,sBAmBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,sBAmBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,qBAmBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,mBAmBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,wBAmBT,SAAW,GAET,OADA,KAAK,MAAM,eAAiB,EACrB,O,uBAmBT,SAAU,GAER,OADA,KAAK,MAAM,cAAgB,EACpB,O,iCAiCT,SAAoB,GAElB,OADA,KAAK,MAAM,yBAA2B,EAC/B,O,8BA+BT,SAAiB,GAEf,OADA,KAAK,MAAM,sBAAwB,EAC5B,O,uBA0BT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,S,SAtX4C,K,woBCG1C,EAAU,WAAK,IAAK,EACpB,EAAiB,GACjB,EAAmB,EACnB,EAAmB,EACnB,EAA0B,EAOjC,EAAoB,sCACpB,EAAe,oCAUC,EAAtB,yFAcE,SAAY,GACV,GAAI,EAAI,SAAS,MAAO,CACtB,IAAM,EAAe,EAAQ,KAAK,EAAI,MAAM,EAAG,EAAI,OAAS,IAC5D,OAAO,IAAI,EAAoB,GAEjC,GAAI,EAAI,SAAS,KAAM,CACrB,IAAM,EAAgB,EAAI,MAAM,GAEhC,GAA6B,IAAzB,EAAc,OAChB,MAAM,IAAI,MAAJ,yCAA4C,IAGpD,IAAM,EAAiB,EAAc,GAC/B,EAAc,SAAS,EAAgB,IAC7C,GAAI,EAAc,EAChB,MAAM,IAAI,MAAJ,qCAAwC,IAGhD,IAAM,EAAY,EAAQ,KAAK,EAAc,IAC7C,OAAO,IAAI,EAAmB,EAAW,GAE3C,GAAI,EAAI,WAAW,QAAS,CAE1B,IAEM,EAAc,EAAI,MAAM,EAAG,EAAI,QACrC,GAHoB,EAGJ,GAFd,YAAI,GAAQ,OAAM,SAAC,GAAD,MAAO,aAAa,SAAS,MAG/C,MAAM,IAAI,MAAJ,iCAAoC,IAE5C,IAAM,EAAW,SAAS,EAAa,IACvC,GAAI,EAAW,EACb,MAAM,IAAI,MAAJ,iCAAoC,IAE5C,OAAO,IAAI,EAAY,GAVJ,IAAC,EAYtB,GAAY,SAAR,EACF,OAAO,IAAI,EAEb,GAAI,EAAI,WAAW,UAAW,CAC5B,IAAM,EAAgB,EAAI,MAAM,GAChC,GAA6B,IAAzB,EAAc,OAChB,MAAM,IAAI,MAAJ,iCAAoC,IAE5C,IAAM,EAAa,SAAS,EAAc,GAAI,IACxC,EAAkB,SAAS,EAAc,GAAI,IACnD,OAAO,IAAI,EAAc,EAAY,GAEvC,GAAY,SAAR,EACF,OAAO,IAAI,EAEb,GAAY,YAAR,EACF,OAAO,IAAI,EAEb,GAAY,WAAR,EACF,OAAO,IAAI,EAEb,GAAI,EAAI,QAAU,GAAgB,MAAX,EAAI,IAAsC,MAAxB,EAAI,EAAI,OAAS,GAAY,CAKpE,IAJA,IAAM,EAAe,EAAa,kBAChC,EAAI,MAAM,EAAG,EAAI,OAAS,IAEtB,EAAwB,GACrB,EAAI,EAAG,EAAI,EAAa,OAAQ,IAAK,CAC5C,IAAM,EAAK,EAAQ,KAAK,EAAa,IACrC,EAAW,KAAK,GAElB,OAAO,IAAI,EAAa,GAE1B,MAAM,IAAI,MAAJ,kCAAqC,EAArC,wBAjFV,KAqFa,EAAb,kDAGE,WAAY,GAAY,MAEtB,GAFsB,oBACtB,eACI,EAAO,IAAM,GAAK,EAAO,GAAK,EAAO,IACvC,MAAM,IAAI,MAAJ,yCAA4C,IAH9B,OAKtB,EAAK,QAAU,EALO,EAH1B,4CAWE,WACE,oBAAc,KAAK,WAZvB,oBAeE,SAAO,GACL,OAAO,aAAiB,GAAe,KAAK,UAAY,EAAM,UAhBlE,uBAmBE,WACE,OAAO,IApBX,qBAuBE,WACE,OAAO,KAAK,QAAU,IAxB1B,oBA2BE,SAAO,GACL,GAAqB,kBAAV,GAAuC,kBAAV,EACtC,MAAM,IAAI,MAAJ,qCAAwC,KAAK,QAA7C,aAAyD,IAEjE,GAAI,GAAS,OAAM,SAAC,EAAK,KAAK,WAAY,EAAQ,OAAO,GACvD,MAAM,IAAI,MAAJ,UACD,EADC,oEACgE,KAAK,UAG7E,GAAqB,kBAAV,IAAuB,OAAO,cAAc,GACrD,MAAM,IAAI,MAAJ,UACD,EADC,4DAIR,OAAO,YAAc,EAAO,KAAK,QAAU,KAzC/C,oBA4CE,SAAO,GACL,GAAI,EAAW,SAAW,KAAK,QAAU,EACvC,MAAM,IAAI,MAAJ,+CAAkD,KAAK,UAE/D,OAAO,YAAc,OAhDzB,GAAiC,GAoDpB,EAAb,kDAIE,WAAY,EAAc,GAAmB,MAE3C,GAF2C,oBAC3C,eACI,EAAO,IAAM,GAAK,EAAO,GAAK,EAAO,IACvC,MAAM,IAAI,MAAJ,2CAA8C,IAEtD,GAAI,EAAc,KAAO,EAAc,EACrC,MAAM,IAAI,MAAJ,6CAAgD,IANb,OAQ3C,EAAK,QAAU,EACf,EAAK,UAAY,EAT0B,EAJ/C,4CAgBE,WACE,sBAAgB,KAAK,QAArB,YAAgC,KAAK,aAjBzC,oBAoBE,SAAO,GACL,OACE,aAAiB,GACjB,KAAK,UAAY,EAAM,SACvB,KAAK,YAAc,EAAM,YAxB/B,uBA4BE,WACE,OAAO,IA7BX,qBAgCE,WACE,OAAO,KAAK,QAAU,IAjC1B,oBAoCE,SAAO,GACL,GAAqB,kBAAV,GAAuC,kBAAV,EACtC,MAAM,IAAI,MAAJ,iCAAoC,KAAK,WAAzC,aAAwD,IAEhE,GAAI,GAAS,OAAM,SAAC,EAAK,KAAK,WAAY,EAAQ,OAAO,GACvD,MAAM,IAAI,MAAJ,UACD,EADC,gEAC4D,KAAK,aAGzE,GAAqB,kBAAV,IAAuB,OAAO,cAAc,GACrD,MAAM,IAAI,MAAJ,UACD,EADC,4DAIR,OAAO,YAAc,EAAO,KAAK,QAAU,KAlD/C,oBAqDE,SAAO,GACL,GAAI,EAAW,SAAW,KAAK,QAAU,EACvC,MAAM,IAAI,MAAJ,2CAA8C,KAAK,aAE3D,OAAO,YAAc,OAzDzB,GAAmC,GA6DtB,EAAb,8JACE,WACE,MAAO,YAFX,oBAKE,SAAO,GACL,OAAO,aAAiB,IAN5B,uBASE,WACE,OAAO,IAVX,qBAaE,WACE,OAAO,IAdX,oBAiBE,SAAO,GACL,GAAqB,kBAAV,KAAwB,aAAiB,YAClD,MAAM,IAAI,MAAJ,iCAAoC,KAAK,WAAzC,aAAwD,IAEhE,GAAqB,kBAAV,EAET,OADuB,wBAAc,GACf,UAGxB,GAAyB,KAArB,EAAM,WACR,MAAM,IAAI,MAAJ,oDAER,OAAO,IA7BX,oBAgCE,SAAO,GACL,GAA8B,KAA1B,EAAW,WACb,MAAM,IAAI,MAAJ,oDAER,OAAO,wBAAc,OApCzB,GAAoC,GAwCvB,EAAb,8JACE,WACE,MAAO,SAFX,oBAKE,SAAO,GACL,OAAO,aAAiB,IAN5B,uBASE,WACE,OAAO,IAVX,qBAaE,WACE,OAAO,IAdX,oBAiBE,SAAO,GACL,GAAqB,mBAAV,EACT,MAAM,IAAI,MAAJ,uCAA0C,IAElD,OAAI,EACK,IAAI,WAAW,CAAC,MAElB,IAAI,WAAW,CAAC,MAxB3B,oBA2BE,SAAO,GACL,GAA8B,IAA1B,EAAW,WACb,MAAM,IAAI,MAAJ,mCAER,IAAM,EAAQ,EAAW,GACzB,GAAc,MAAV,EACF,OAAO,EAET,GAAc,IAAV,EACF,OAAO,EAET,MAAM,IAAI,MAAJ,yDAtCV,GAAiC,GA0CpB,EAAb,8JACE,WACE,MAAO,SAFX,oBAKE,SAAO,GACL,OAAO,aAAiB,IAN5B,uBASE,WACE,OAAO,IAVX,qBAaE,WACE,OAAO,IAdX,oBAiBE,SAAO,GACL,GAAqB,kBAAV,GAAuC,kBAAV,EACtC,MAAM,IAAI,MAAJ,uCAA0C,IAMlD,GAJqB,kBAAV,IAET,EAAQ,OAAO,IAEb,EAAQ,GAAK,EAAQ,IACvB,MAAM,IAAI,MAAJ,UAAa,EAAb,mCAER,OAAO,IAAI,WAAW,CAAC,MA5B3B,oBA+BE,SAAO,GACL,GAA8B,IAA1B,EAAW,WACb,MAAM,IAAI,MAAJ,mCAER,OAAO,EAAW,OAnCtB,GAAiC,GAuCpB,EAAb,8JACE,WACE,MAAO,WAFX,oBAKE,SAAO,GACL,OAAO,aAAiB,IAN5B,uBASE,WACE,OAAO,IAVX,qBAaE,WACE,MAAM,IAAI,MAAJ,UAAa,KAAK,WAAlB,yBAdV,oBAiBE,SAAO,GACL,GAAqB,kBAAV,KAAwB,aAAiB,YAClD,MAAM,IAAI,MAAJ,yCAA4C,IAEpD,IAAM,EAAe,EAAO,KAAK,GAC3B,EAAgB,YACpB,EAAa,OACb,GAEI,EAAc,IAAI,WACtB,EAAa,OAAS,GAIxB,OAFA,EAAY,IAAI,GAChB,EAAY,IAAI,EAAc,GACvB,IA/BX,oBAkCE,SAAO,GACL,GAAI,EAAWwE,OAAS,EACtB,MAAM,IAAI,MAAJ,mEACwD,EAAW,OADnE,mCACoG,IAG5G,IACM,EADM,EAAO,KAAK,GACD,WAAW,EAAG,GAC/B,EAAY,EAAW,MAC3B,EACA,EAAW,QAEb,GAAI,IAAe,EAAU,OAC3B,MAAM,IAAI,MAAH,0EAAD,OACsE,EADtE,iBACyF,EAAU,SAG3G,OAAO,EAAO,KAAK,GAAW,SAAS,aAnD3C,GAAmC,GAuDtB,EAAb,kDAIE,WAAY,EAAkB,GAAmB,MAE/C,GAF+C,oBAC/C,eACI,EAAc,EAChB,MAAM,IAAI,MAAJ,wDAC6C,IAJN,OAO/C,EAAK,UAAY,EACjB,EAAK,aAAe,EAR2B,EAJnD,4CAeE,WACE,gBAAU,KAAK,UAAU,WAAzB,YAAuC,KAAK,aAA5C,OAhBJ,oBAmBE,SAAO,GACL,OACE,aAAiB,GACjB,KAAK,eAAiB,EAAM,cAC5B,KAAK,UAAU,OAAO,EAAM,aAvBlC,uBA2BE,WACE,OAAO,KAAK,UAAU,cA5B1B,qBA+BE,WACE,OAAI,KAAK,UAAU,cAAgB,EAC1B,KAAK,KAAK,KAAK,aAAe,GAEhC,KAAK,aAAe,KAAK,UAAU,YAnC9C,oBAsCE,SAAO,GACL,IAAK,MAAM,QAAQ,MAAY,aAAiB,YAC9C,MAAM,IAAI,MAAJ,iCAAoC,KAAK,WAAzC,aAAwD,IAEhE,GAAI,EAAM,SAAW,KAAK,aACxB,MAAM,IAAI,MAAJ,mEACwD,KAAK,aAD7D,iBACkF,EAAM,SAIhG,OADuB,KAAK,iBACN,OAAO,KAhDjC,oBAmDE,SAAO,GAEL,OADuB,KAAK,iBACN,OAAO,KArDjC,4BAwDE,WACE,OAAO,IAAI,EAAa,MAAM,KAAK,cAAc,KAAK,KAAK,gBAzD/D,GAAwC,GA6D3B,EAAb,kDAGE,WAAY,GAAgB,kCAC1B,gBACK,UAAY,EAFS,EAH9B,4CAQE,WACE,gBAAU,KAAK,UAAU,WAAzB,QATJ,oBAYE,SAAO,GACL,OACE,aAAiB,GACjB,KAAK,UAAU,OAAO,EAAM,aAflC,uBAmBE,WACE,OAAO,IApBX,qBAuBE,WACE,MAAM,IAAI,MAAJ,UAAa,KAAK,WAAlB,yBAxBV,oBA2BE,SAAO,GACL,IAAK,MAAM,QAAQ,MAAY,aAAiB,YAC9C,MAAM,IAAI,MAAJ,iCAAoC,KAAK,WAAzC,aAAwD,IAEhE,IAAM,EAAiB,KAAK,eAAe,EAAM,QAC3C,EAAe,EAAe,OAAO,GACrC,EAAgB,YACpB,EAAe,WAAW,OAC1B,GAGF,OADoB,uBAAa,EAAe,KArCpD,oBAyCE,SAAO,GACL,IACM,EADM,EAAO,KAAK,GACD,WAAW,EAAG,GAErC,OADuB,KAAK,eAAe,GACrB,OACpB,EAAW,MAAM,EAAyB,EAAW,WA9C3D,4BAkDE,SAAe,GACb,OAAO,IAAI,EAAa,MAAM,GAAQ,KAAK,KAAK,gBAnDpD,GAAyC,GAuD5B,EAAb,kDAGE,WAAY,GAAmB,MAE7B,GAF6B,oBAC7B,eACI,EAAS,QAAU,EACrB,MAAM,IAAI,MACR,iEAJyB,OAO7B,EAAK,WAAa,EAPW,EAHjC,4CAaE,WAEE,IADA,IAAM,EAAwB,GACrB,EAAI,EAAG,EAAI,KAAK,WAAW,OAAQ,IAC1C,EAAY,GAAK,KAAK,WAAW,GAAG,WAEtC,iBAAW,EAAY,KAAK,KAA5B,OAlBJ,oBAqBE,SAAO,GACL,OACE,aAAiB,GACjB,KAAK,WAAW,SAAW,EAAM,WAAW,QAC5C,KAAK,WAAW,OAAM,SAAC,EAAO,GAAR,OACpB,EAAM,OAAO,EAAM,WAAW,SA1BtC,uBA+BE,WACE,IAAM,EAAY,SAAC,GAAD,OAAoB,EAAM,aAC5C,OAAO,KAAK,WAAW,KAAK,KAjChC,qBAoCE,WAEE,IADA,IAAI,EAAO,EACF,EAAI,EAAG,EAAI,KAAK,WAAW,OAAQ,IAC1C,GAAI,KAAK,WAAW,GAAG,cAAgB,EAAa,CAClD,IAAM,EAAQ,EAAW,KAAK,WAAY,EAAG,GACvC,EAAU,EAAQ,EACxB,GAAK,EACL,GAAQ,KAAK,OAAO,EAAU,GAAK,OAC9B,CAEL,GADsB,KAAK,WAAW,GAAG,UAI7C,OAAO,IAjDX,oBAoDE,SAAO,GACL,IAAK,MAAM,QAAQ,MAAY,aAAiB,YAC9C,MAAM,IAAI,MAAJ,iCAAoC,KAAK,WAAzC,aAAwD,IAEhE,IAAM,EAAS,MAAM,KAAK,GAC1B,GAAI,EAAM,OAAS,EACjB,MAAM,IAAI,MAAM,oDAQlB,IANA,IAAM,EAAa,KAAK,WAClB,EAAsB,GACtB,EAAsB,GACtB,EAAiB,IAAI,IACvB,EAAI,EAED,EAAI,EAAW,QAAQ,CAC5B,IAAM,EAAY,EAAW,GAC7B,GAAI,EAAU,YAEZ,EAAe,IAAI,EAAM,QAAQ,GACjC,EAAM,KAAK,IAAI,WAAW,CAAC,EAAG,KAC9B,EAAM,KAAK,EAAU,OAAO,EAAO,SAC9B,CACL,GAAI,EAAU,cAAgB,EAAa,CACzC,IAAM,EAAS,EAAW,EAAY,GAAI,GACtC,EAAQ,EAAW,EAAY,EAAG,GAGtC,GAAI,EAAS,IAAM,EACjB,MAAM,IAAI,MACR,kEAGJ,EAAQ,KAAK,IAAI,EAAG,GACpB,IAAM,EAAgB,EACpB,EAAO,MAAM,EAAG,EAAI,EAAQ,IAE9B,EAAM,KAAK,YAAc,EAAe,IACxC,GAAK,MACA,CACL,IAAM,EAAoB,EAAU,OAAO,EAAO,IAClD,EAAM,KAAK,GAEb,EAAe,IAAI,GAAG,GACtB,EAAM,KAAK,IAAI,YAEjB,GAAK,EAKP,IADA,IAAI,EAAa,EACjB,MAA0B,EAA1B,eAAiC,CAC/B,GADoB,KACM,OAK5B,IADA,IAAI,EAAa,EACR,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,GAAI,EAAe,IAAI,GAAI,CACzB,IAAM,EAAY,EAAa,EAC/B,GAAI,EAAY,EACd,MAAM,IAAI,MAAJ,yBACc,EADd,gCAIR,EAAM,GAAK,YAAc,EAAW,GAEtC,GAAc,EAAM,GAAG,OAGzB,OAAO,eAAY,WAAZ,EAAgB,EAAhB,OAA0B,MAzHrC,oBA4HE,SAAO,GAQL,IAPA,IAAM,EAAa,KAAK,WAClB,EAA6B,GAC7B,EAA+B,GACjC,EAAI,EACJ,EAAY,EACV,EAAM,EAAO,KAAK,GAEjB,EAAI,EAAW,QAAQ,CAC5B,IAAM,EAAY,EAAW,GAC7B,GAAI,EAAU,YAAa,CACzB,GACE,EAAW,MAAM,EAAW,EAAW,QAAQ,OAC/C,EAEA,MAAM,IAAI,MAAM,oDAElB,IAAM,EAAe,EAAI,WAAW,EAAW,GAC/C,GAAI,EAAgB,OAAS,IAC3B,EAAgB,EAAgB,OAAS,GAAG,MAAQ,EAEhD,EAAe,EAAgB,EAAgB,OAAS,GAAG,MAC7D,MAAM,IAAI,MACR,0EAKN,IAAM,EAAe,CACnB,KAAM,EACN,OAAQ,GAEV,EAAgB,KAAK,GACrB,EAAe,KAAK,MACpB,GAAa,OAGb,GAAI,EAAU,cAAgB,EAAa,CACzC,IAAM,EAAS,EAAW,KAAK,WAAY,GAAI,GAC3C,EAAQ,EAAW,KAAK,WAAY,EAAG,GAE3C,GAAI,EAAS,IAAM,EACjB,MAAM,IAAI,MAAM,2CAElB,EAAQ,KAAK,IAAI,EAAG,GAEpB,IAAK,IAAI,EAAY,EAAG,GAAa,EAAO,IAAa,CACvD,IAAM,EAAW,KAAQ,GACpB,EAAW,GAAa,GAAY,EACvC,EAAe,KAAK,IAAI,WAAW,CAAC,OAEpC,EAAe,KAAK,IAAI,WAAW,CAAC,KAGxC,GAAK,EACL,GAAa,MACR,CACL,IAAM,EAAU,EAAU,UAC1B,EAAe,KAAK,EAAW,MAAM,EAAW,EAAY,IAC5D,GAAa,EAGjB,GAAI,IAAM,EAAW,OAAS,GAAK,GAAa,EAAW,OACzD,MAAM,IAAI,MAAM,mCAElB,GAAK,EAMP,GAJI,EAAgB,OAAS,IAC3B,EAAgB,EAAgB,OAAS,GAAG,MAAQ,EAAW,OAC/D,EAAY,EAAW,QAErB,EAAY,EAAW,OACzB,MAAM,IAAI,MAAM,iCAKlB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAgB,OAAQ,IAAK,CAC/C,IAAM,EAAM,EAAgB,GAC5B,GAAI,EAAI,KAAO,EAAI,MACjB,MAAM,IAAI,MACR,6DAGJ,GACE,IAAM,EAAgB,OAAS,GAC/B,EAAI,QAAU,EAAgB,EAAI,GAAG,KAErC,MAAM,IAAI,MAAM,yCAMpB,IADA,IAAI,EAAW,EACN,EAAI,EAAG,EAAI,EAAW,OAAQ,IACjC,EAAW,GAAG,cAChB,EAAe,GAAK,EAAW,MAC7B,EAAgB,GAAU,KAC1B,EAAgB,GAAU,OAE5B,GAAY,GAMhB,IADA,IAAM,EAA2B,GACxB,EAAI,EAAG,EAAI,EAAW,OAAQ,IAAK,CAC1C,IAAM,EAAU,EAAW,GAAG,OAAO,EAAe,IACpD,EAAa,KAAK,GAEpB,OAAO,KA1OX,gCA6OE,SAAyB,GACvB,GAAmB,IAAf,EAAI,OACN,MAAO,GAET,GAAI,EAAI,SAAS,MAAQ,EAAI,WAAW,KACtC,MAAM,IAAI,MAAM,4CAElB,GAAI,EAAI,SAAS,MACf,MAAM,IAAI,MAAM,mDAGlB,IAXkC,EAW5B,EAAyB,GAC3B,EAAQ,EACR,EAAO,GAbuB,cAef,GAfe,IAelC,2BAAwB,KAAb,EAAa,QACtB,GAAQ,EACK,MAAT,EACF,GAAS,EACS,MAAT,EACT,GAAS,EACS,MAAT,GAEK,IAAV,IACF,EAAa,KAAK,EAAK,MAAM,EAAG,EAAK,OAAS,IAC9C,EAAO,KAzBqB,8BAgClC,GAHoB,IAAhB,EAAK,QACP,EAAa,KAAK,GAEN,IAAV,EACF,MAAM,IAAI,MAAM,2CAElB,OAAO,MAhRX,GAAkC,GAqRlC,SAAS,EAAqB,GAC5B,IAAI,EAAM,EACV,GAAI,EAAU,OAAS,EACrB,MAAM,IAAI,MAAM,2DAElB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAU,OAAQ,IAAK,CACzC,IAAM,EAAU,EAAU,GAC1B,GAAuB,mBAAZ,EACT,MAAM,IAAI,MAAM,uDAEd,IACF,GAAO,GAAM,EAAI,GAGrB,OAAO,EAKT,SAAS,EAAW,EAAqB,EAAe,GAEtD,IADA,IAAI,EAAQ,IACC,CACX,IAAM,EAAO,EAAQ,EAAQ,EAC7B,GAAI,EAAS,GAAM,cAAgB,EAQ5B,CACL,GAAS,EACT,MATA,GAAI,IAAS,EAAS,OAAS,GAAe,IAAV,EAClC,GAAS,MACJ,MAAI,EAAO,IAAgB,IAAX,GAGrB,MAFA,GAAS,GASf,OAAO,K,sDC50BT,8CACe,SAASq3B,EAAyB1yB,EAAQ2yB,GACvD,GAAc,MAAV3yB,EAAgB,MAAO,GAC3B,IACI7J,EAAKmF,EADLqC,EAAS,YAA6BqC,EAAQ2yB,GAGlD,GAAIt9B,OAAOqK,sBAAuB,CAChC,IAAIkzB,EAAmBv9B,OAAOqK,sBAAsBM,GAEpD,IAAK1E,EAAI,EAAGA,EAAIs3B,EAAiBv3B,OAAQC,IACvCnF,EAAMy8B,EAAiBt3B,GACnBq3B,EAAS5oB,QAAQ5T,IAAQ,GACxBd,OAAOC,UAAUqf,qBAAqBnc,KAAKwH,EAAQ7J,KACxDwH,EAAOxH,GAAO6J,EAAO7J,IAIzB,OAAOwH,I,6BCjBT,0P,6BCAa,SAASyC,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEf,EAAQ,IAASgB,EAAEH,EAAEE,GAAGU,EAAEZ,EAAEb,EAAQ,KAAekB,EAAElB,EAAQ,IAAQ,SAASjE,EAAE8E,GAAG,IAAIE,EAAEF,EAAEyyB,qBAAqBtyB,EAAEH,EAAE0yB,eAAe9xB,EAAEZ,EAAE2yB,KAAK,OAAOzyB,EAAEA,EAAEU,EAAET,GAAGS,GAAG,iBAAiBA,GAAGA,EAAEgB,GAAGhB,EAAEgB,GAAGvB,EAAEiwB,KAAKpxB,EAAOnK,QAAQ,SAASiL,GAAG,IAAIK,EAAED,EAAEJ,EAAE4E,MAAMtE,EAAEN,EAAE+E,SAASvE,EAAER,EAAE2C,gBAAgBlC,EAAET,EAAEgC,OAAOzB,EAAEP,EAAEiC,KAAKvB,EAAEV,EAAEyyB,qBAAqB5xB,EAAEb,EAAE4yB,iBAAiBjyB,EAAEX,EAAE6yB,gBAAgBnxB,EAAE1B,EAAE/H,KAAKmJ,OAAE,IAASM,EAAE,YAAYA,EAAEJ,EAAEV,EAAE,OAAOJ,GAAG,OAAOY,GAAG,IAAI,UAAUf,EAAE,KAAK,MAAM,IAAI,cAAcA,EAAE,KAAK,MAAM,QAAQA,EAAE,KAAK,OAAOF,EAAEgC,cAAc9B,EAAE,CAACgC,UAAUf,EAAEW,KAAK1B,EAAE,cAAcE,GAAGL,EAAE4tB,KAAK,SAAShuB,EAAEY,GAAG,IAAIP,EAAEI,EAAE,SAASG,EAAE,OAAOT,EAAEgC,cAAcjC,EAAE4yB,SAAS,CAAC/8B,IAAImF,EAAE,CAACu3B,qBAAqB/xB,EAAEgyB,eAAeryB,EAAEsyB,KAAK3yB,KAAKM,EAAEN,EAAEK,EAAEO,QAAQ,MAAMC,OAAE,EAAOA,EAAEkyB,2BAA2BlyB,EAAEmyB,cAAc,MAAMnyB,OAAE,EAAOA,EAAEkyB,4BAA4B,MAAMpyB,OAAE,EAAOA,EAAEsyB,0BAA0BtyB,EAAEuyB,c,6BCA75B,SAASlzB,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEF,EAAEb,EAAQ,KAAUoB,EAAEP,EAAEb,EAAQ,KAAeiB,EAAEjB,EAAQ,IAAwBjE,EAAEiE,EAAQ,IAAgBmB,EAAEJ,EAAEyB,YAAY,SAAS3B,EAAEM,GAAG,IAAID,EAAEL,EAAEgC,OAAO7B,EAAEH,EAAE/H,KAAKwI,OAAE,IAASN,EAAE,SAASA,EAAES,EAAEZ,EAAEwC,QAAQ9B,EAAEV,EAAE+E,SAASvE,EAAER,EAAEmzB,cAAcxyB,EAAEX,EAAE2C,gBAAgB5B,EAAEf,EAAEozB,qBAAqBvyB,OAAE,IAASE,GAAGA,EAAEK,EAAEpB,EAAEqzB,sBAAsBlyB,OAAE,IAASC,GAAGA,EAAEE,EAAEtB,EAAEszB,YAAY9xB,EAAExB,EAAEuzB,qBAAqB9xB,EAAEzB,EAAE4C,WAAWua,EAAE/c,EAAEkU,OAAOtU,EAAE,CAAC,SAAS,OAAO,UAAU,WAAW,gBAAgB,kBAAkB,uBAAuB,wBAAwB,cAAc,uBAAuB,eAAe0B,EAAE8xB,QAAQ/xB,GAAGD,GAAGH,EAAEd,EAAE,SAASI,EAAE,CAAC,sBAAsBe,EAAE,qBAAqBF,IAAIue,EAAEvf,GAAGN,EAAEiC,cAAc,MAAM,CAACE,UAAU,6BAA6BnC,EAAEiC,cAAcjH,EAAE,CAACyH,gBAAgB,kBAAkB,aAAa,iDAAiD,OAAOzC,EAAEiC,cAAc,SAAS/B,EAAEgU,SAAS,CAAChS,IAAI9B,EAAE,cAAcD,EAAEgC,UAAUhB,EAAEpJ,KAAKwI,EAAEgzB,UAAUnyB,EAAEkB,QAAQ,SAASxC,GAAGY,IAAIC,GAAGb,EAAE0zB,iBAAiBvyB,GAAGnB,EAAE2zB,kBAAkBjyB,GAAGd,EAAEZ,KAAK4zB,SAASlyB,GAAGyb,GAAGzc,EAAEc,GAAGue,MAAM7gB,EAAOnK,QAAQuL,G,meC4BhnC,E,wBAUE,SAAU,EACd,GAIA,IAFA,IAAI,EAAI,EACJ,EAAI,EACC,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,IAAM,EAAI,EAAM,GAChB,GAAI,EAAI,IACN,OAAI,EAAI,GAAY,IAAN,GAAW,EAAI,EACpB,CAAC,IAAK,EAAI,IAEZ,CAAC,EAAK,GAAK,EAAI,EAAI,GAE5B,IAAU,IAAJ,IAAa,EACnB,GAAK,EAEP,MAAO,CAAC,EAAG,GAIb,SAAS,EACP,EACA,GAEA,IAAI,EAAO,EACL,EAAS,EAAa,EAAQ,MAAM,EAAK,IACzC,EAAU,EAAO,GACnB,EAAY,EAAO,GACvB,GAAI,GAAa,EACf,MAAM,IAAI,MAAJ,sDAAyD,EAAK,IAEtE,IAAM,EAAiB,GACvB,GAAQ,EACR,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,IAAK,CAChC,GAAI,EAAK,GAAQ,EAAQ,OACvB,MAAM,IAAI,MAAM,qCAElB,IAAI,EAJ4B,EAKL,EAAa,EAAQ,MAAM,EAAK,IAL3B,mBAMhC,GADC,EAL+B,MAKlB,EALkB,OAMf,EACf,MAAM,IAAI,MAAJ,qCAC0B,EAD1B,8BACiD,EAAK,IAG9D,EAAK,KAAK,GACV,GAAQ,EAEV,MAAO,CAAC,EAAM,GAIhB,SAAS,EACP,EACA,GAEA,IAAI,EAAO,EACL,EAAS,EAAa,EAAQ,MAAM,EAAK,IACzC,EAAU,EAAO,GACnB,EAAY,EAAO,GACvB,GAAI,GAAa,EACf,MAAM,IAAI,MAAJ,yDAC8C,EAAK,IAG3D,IAAM,EAA2B,GACjC,GAAQ,EACR,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,IAAK,CAChC,GAAI,EAAK,GAAQ,EAAQ,OACvB,MAAM,IAAI,MAAM,sCAElB,IAAI,EAJ4B,EAKT,EAAa,EAAQ,MAAM,EAAK,IALvB,mBAMhC,GADC,EAL+B,MAKtB,EALsB,OAMf,EACf,MAAM,IAAI,MAAJ,yCAC8B,EAD9B,8BACqD,EAAK,IAIlE,GAAI,GADJ,GAAQ,GACQ,EAAU,EAAQ,OAChC,MAAM,IAAI,MAAM,sCAElB,IAAM,EAAY,EAAQ,MAAM,EAAK,EAAM,EAAK,EAAO,GACvD,EAAW,KAAK,GAChB,GAAQ,EAEV,MAAO,CAAC,EAAM,GAIhB,SAAS,EACP,EACA,GAEA,IAAI,EAAO,EACX,EAAiC,EAAa,EAAQ,MAAM,EAAK,IAA7D,EAAJ,iBAAO,EAAP,KAAoB,EAApB,KACA,GAAI,GAAa,EACf,MAAM,IAAI,MAAJ,gDAAmD,EAAK,IAGhE,MAAO,CADP,GAAQ,EACM,GAIhB,SAAS,EACP,EACA,GAEA,IAAI,EAAO,EACX,EAA6B,EAAa,EAAQ,MAAM,EAAK,IAA7D,mBAAO,EAAP,KAAgB,EAAhB,KACA,GAAI,GAAa,EACf,MAAM,IAAI,MAAJ,wDAC6C,EAAK,IAI1D,GAAI,GADJ,GAAQ,GACQ,EAAU,EAAQ,OAChC,MAAM,IAAI,MAAM,qCAElB,IAAM,EAAY,EAAQ,MAAM,EAAK,EAAM,EAAK,EAAO,GAEvD,MAAO,CADP,GAAQ,EACM,GAgBV,SAAU,EACd,EACA,GAOA,IAAK,EACH,MAAM,IAAI,MAAM,iBAOlB,GAJoB,qBAAT,IAET,EAAO,KAEJ,MAAM,QAAQ,GACjB,MAAM,IAAI,MAAM,qBAGlB,MAAwB,EAAa,GAAjC,EAAJ,iBAAO,EAAP,KAAgB,EAAhB,KACA,GAAI,GAAQ,EACV,MAAM,IAAI,MAAM,yBAElB,GAAI,EAAU,EAAS,eACrB,MAAM,IAAI,MAAM,uBAGlB,IA3BmB,EA2Bf,EAAO,EACL,EAAW,EAAX,OA5Ba,cA6BD,GA7BC,IA6BnB,2BAAwB,CACtB,GADsB,QACR,QA9BG,8BAgCnB,GAAI,EA7KY,IA8Kd,MAAM,IAAI,MAAM,oBAGlB,IAAK,EAAS,CACZ,EAAU,GADE,oBAEK,EAAS,KAFd,IAEZ,2BAA+B,KAApB,EAAoB,QAC7B,EAAQ,EAAG,QAAU,GAHX,+BAUd,IAHA,IAAI,EAAK,EACL,EAAiB,GACjB,EAA2B,GACxB,EAAK,EAAQ,QAAQ,CAC1B,IAAM,EAAK,EAAQ,EAAQ,IAC3B,QAAW,IAAP,EACF,MAAM,IAAI,MAAM,uBAGlB,GAAQ,EAAG,KACX,IAAI,EAAO,EAAG,KACd,GAAa,IAAT,EACF,OAAQ,EAAG,QACT,KAtDkB,GAuDhB,IAAI,EADgB,EAEA,EAAkB,EAAS,GAF3B,mBAEnB,EAFmB,KAEb,EAFa,KAGpB,EAAO,EAAK,OAAO,GACnB,MAEF,KA3DmB,GA4DjB,IAAI,EADiB,EAEK,EAAmB,EAAS,GAFjC,mBAEpB,EAFoB,KAEd,EAFc,KAGrB,EAAa,EAAW,OAAO,GAC/B,MAEF,KA/DgB,IAgEd,IAAI,EADc,EAEC,EAAc,EAAS,GAFxB,mBAEjB,EAFiB,KAEX,EAFW,KAGlB,EAAK,KAAK,GACV,MAEF,KAtEkB,IAuEhB,IAAI,EADgB,EAEK,EAAe,EAAS,GAF7B,mBAEnB,EAFmB,KAEb,EAFa,KAGpB,EAAW,KAAK,GAChB,MAEF,QACE,MAAM,IAAI,MAAM,uBAItB,GAAM,EAGR,GAAI,EAAU,GAAK,EAvOL,IAwOZ,MAAM,IAAI,MAAM,0DAElB,MAAO,CAAC,EAAM,GAAY,GAgBtB,SAAU,EAAa,EAAqB,GAChD,MAAsB,EAAY,EAAS,GAC3C,OADA,oBAKI,SAAU,EAAmB,EAAqB,GACtD,MAAe,EAAkB,EAAS,GAC1C,OADA,oBAKI,SAAU,EAAoB,EAAqB,GACvD,MAAe,EAAmB,EAAS,GAC3C,OADA,oBAKI,SAAU,EAAe,EAAqB,GAClD,MAAe,EAAc,EAAS,GACtC,OADA,oBAKI,SAAU,EAAgB,EAAqB,GACnD,MAAe,EAAe,EAAS,GACvC,OADA,oBAKK,IAAM,EAAyB,EAAS,eAElC,EAA0B,EAAS,iB,iBC3ThD,YACA,IAAMmF,EAAU,EAAQ,GAExB,SAAS,EAAW,EAAK,GAEvB,IADA,IAAIvK,EAAI,EACD,EAAI,KACT,EAAI,KAAU,IAAJ,EAAY,KAEtB,IAAM,EACN,GAAK,EAGP,OADA,EAAI,KAAS,IAAJ,GACF,EAAI,EAGb,IAAM,EAAW,CACf,IAAK,EACL,QAAS,EACT,OAAQ,GA2DV,EAAO,QAAU,CAAE,OAxDnB,SAAgB,EAAM,EAAS,EAAQ,GACrC,GACE,EAAQ,SAAW,EAAO,QAC1B,EAAQ,SAAW,EAAW,OAE9B,MAAM,IAAI,MAAM,wBAGlB,IAAI,EAAM,EAEV,SAAS,EAAQ,EAAK,EAAQ,EAAQ,GACpC,IAAM,EAAoB,EAAI,MAAM,EAAG,GACjC,EAAmB,EAAI,MAAM,EAAS,EAAmB,EAAI,QAC7D,EAAS,CAAC,EAAmB,EAAO,KAAK,GAAS,GACxD,OAAO,EAAO,OAAO,GAGvB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAAK,CACvC,IAAI,EAAgB,EAChB,EAAM,EAAO,GAGjB,OAFgB,EAAW,IAGzB,KAAK,EAAS,IAEZ,IAAM,EAAS,GACf,EAAgB,EAAW,EAAQ,GACnC,EAAM,EAAQ,EAAK,EAAQ,EAAQ,GAAI,GACvC,MACF,KAAK,EAAS,QAEZ,EAAM,EAAQ,GADd,EAAM,EAAQ,cAAc,IACL,UAAW,EAAQ,GAAI,IAC9C,MACF,KAAK,EAAS,OAEZ,IAAM,EAAS,GAEf,EAAW,GADX,EAAM,EAAO,KAAK,EAAK,WACA,QAEvB,EAAM,EAAQ,EADd,EAAM,EAAO,OAAO,CAAC,EAAO,KAAK,GAAS,IAClB,EAAQ,GAAI,IACpC,MACF,QACE,MAAM,IAAI,MAAM,2BAGpB,GAAsB,IAAlB,EACF,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAElC,EAAQ,IAAM,EAAgB,EAKpC,OAAO,GAGkB,c,uDC3E3B,SAAS24B,IAEP,GAC4C,qBAAnCC,gCAC4C,oBAA5CA,+BAA+BD,SAcxC,IAEEC,+BAA+BD,SAASA,GACxC,MAAOx9B,GAGP09B,QAAQt6B,MAAMpD,IAOhBw9B,GACA30B,EAAOnK,QAAUoK,EAAQ,M,8BClC3B,YAOM,SAAU60B,EAAa9P,GAG3B,KAFiC,kBAAR,GAAoB,OAAO,UAAU,KAE5C,EAAM,GAAK,EAAM,OAAO,sBACxC,MAAM,IAAI,MAAM,0CAGlB,IAAM,EAAM,EAAO,YAAY,GAI/B,OAFA,EAAI,iBAAiB,OAAO,IAErB,IAAI,WAAW,GA2BlB,SAAU,EAAa,GAAqC,IAA1B,EAA0B,uDAAN,OAC1D,GACmB,SAAjB,GACiB,UAAjB,GACiB,WAAjB,EAEA,MAAM,IAAI,MAAJ,uCAA0C,IAGlD,GAAwB,IAApB,EAAK,YAAoB,EAAK,WAAa,EAC7C,MAAM,IAAI,MAAJ,gFACqE,EAAK,aAKlF,IAAM,EAAU,EAAO,YAAY,EAAI,EAAK,YAC5C,EAAQ,KAAK,GAEb,IAAM,EAAM,EAAO,OAAO,CAAC,EAAS,EAAO,KAAK,KAE1C,EAAM,EAAI,kBACV,EAAQ,EAAM,OAAO,iBAE3B,GAAqB,SAAjB,EAAyB,CAC3B,GAAI,EACF,MAAM,IAAI,MAAJ,gDACqC,EAAI,WADzC,wDAIR,OAAO,OAAO,GAGhB,MAAqB,UAAjB,GAA6B,EAI1B,EAHE,OAAO,GA/ElB,sE,sDCAA,8Q,iMCsBM,SAAU,EACd,GAEA,OAAO,SAAC,EAAyB,GAC/B,IAD0D,EACpD,EAAuB,GAD6B,cAGtC,GAHsC,IAG1D,2BAAmC,KAAxB,EAAwB,QACjC,EAAO,KAAK,EAAS,GAAO,QAAQ,EAAQ,MAJY,8BAO1D,OAAO,QAAQ,QAAQ,IAOrB,SAAU,EACd,GAEA,OAAO,SAAC,EAAyB,GAC/B,IAD0D,EACpD,EAAuB,GAD6B,cAGtC,GAHsC,IAG1D,2BAAmC,KAAxB,EAAwB,QACzB,EAAS,wCAA8B,EAAS,GAAQ,GAAxD,KACR,EAAO,KAAK,IAL4C,8BAQ1D,OAAO,QAAQ,QAAQ,IASrB,SAAU,EACd,EACA,GAEA,OAAO,SAAC,EAAyB,GAC/B,IAD0D,EACpD,EAAuB,GAD6B,cAGtC,GAHsC,IAG1D,2BAAmC,OAC3B,EAAM,EADqB,SAE3B,EAA4B,GAFD,cAIhB,GAJgB,IAIjC,2BAAsB,KAAX,EAAW,QACZ,EAAS,YAAwB,EAAK,EAAM,GAA5C,KACR,EAAY,KAAK,IANc,8BASjC,EAAO,KAAK,YAA0B,KAZkB,8BAe1D,OAAO,QAAQ,QAAQ,IAiBrB,SAAU,EACd,GAEA,MACmB,kBAAV,GACuB,IAA9B,OAAO,KAAK,GAAO,QACE,kBAAd,EAAM,KACW,oBAAjB,EAAM,S,6BCtGF,SAAS+P,EAAkBnuB,EAAKkC,IAClC,MAAPA,GAAeA,EAAMlC,EAAI7K,UAAQ+M,EAAMlC,EAAI7K,QAE/C,IAAK,IAAIC,EAAI,EAAGg5B,EAAO,IAAInuB,MAAMiC,GAAM9M,EAAI8M,EAAK9M,IAC9Cg5B,EAAKh5B,GAAK4K,EAAI5K,GAGhB,OAAOg5B,EAPT,mC,mBCAA,sBAAWh1B,EAAQnK,GACjB,aAGA,SAASo/B,EAAQp0B,EAAKkmB,GACpB,IAAKlmB,EAAK,MAAM,IAAI1I,MAAM4uB,GAAO,oBAKnC,SAASmO,EAAU94B,EAAM+4B,GACvB/4B,EAAKg5B,OAASD,EACd,IAAIE,EAAW,aACfA,EAASr/B,UAAYm/B,EAAUn/B,UAC/BoG,EAAKpG,UAAY,IAAIq/B,EACrBj5B,EAAKpG,UAAUqG,YAAcD,EAK/B,SAASk5B,EAAIC,EAAQhO,EAAMiO,GACzB,GAAIF,EAAGG,KAAKF,GACV,OAAOA,EAGTj8B,KAAKo8B,SAAW,EAChBp8B,KAAKq8B,MAAQ,KACbr8B,KAAKyC,OAAS,EAGdzC,KAAKs8B,IAAM,KAEI,OAAXL,IACW,OAAThO,GAA0B,OAATA,IACnBiO,EAASjO,EACTA,EAAO,IAGTjuB,KAAKu8B,MAAMN,GAAU,EAAGhO,GAAQ,GAAIiO,GAAU,OAYlD,IAAI/tB,EATkB,kBAAXzH,EACTA,EAAOnK,QAAUy/B,EAEjBz/B,EAAQy/B,GAAKA,EAGfA,EAAGA,GAAKA,EACRA,EAAGQ,SAAW,GAGd,IACEruB,EAASxH,EAAQ,KAAUwH,OAC3B,MAAO3G,IAoIT,SAASi1B,EAAUhqB,EAAKlC,EAAOC,GAG7B,IAFA,IAAI7I,EAAI,EACJ6H,EAAM6D,KAAKC,IAAIb,EAAIhQ,OAAQ+N,GACtB9N,EAAI6N,EAAO7N,EAAI8M,EAAK9M,IAAK,CAChC,IAAIwF,EAAIuK,EAAIE,WAAWjQ,GAAK,GAE5BiF,IAAM,EAIJA,GADEO,GAAK,IAAMA,GAAK,GACbA,EAAI,GAAK,GAGLA,GAAK,IAAMA,GAAK,GACpBA,EAAI,GAAK,GAIL,GAAJA,EAGT,OAAOP,EAiCT,SAAS+0B,EAAWjqB,EAAKlC,EAAOC,EAAK4G,GAGnC,IAFA,IAAIzP,EAAI,EACJ6H,EAAM6D,KAAKC,IAAIb,EAAIhQ,OAAQ+N,GACtB9N,EAAI6N,EAAO7N,EAAI8M,EAAK9M,IAAK,CAChC,IAAIwF,EAAIuK,EAAIE,WAAWjQ,GAAK,GAE5BiF,GAAKyP,EAIHzP,GADEO,GAAK,GACFA,EAAI,GAAK,GAGLA,GAAK,GACTA,EAAI,GAAK,GAITA,EAGT,OAAOP,EA5MTq0B,EAAGG,KAAO,SAAezQ,GACvB,OAAIA,aAAesQ,GAIJ,OAARtQ,GAA+B,kBAARA,GAC5BA,EAAI3oB,YAAYy5B,WAAaR,EAAGQ,UAAYjvB,MAAMC,QAAQke,EAAI2Q,QAGlEL,EAAGvmB,IAAM,SAAcknB,EAAMC,GAC3B,OAAID,EAAKE,IAAID,GAAS,EAAUD,EACzBC,GAGTZ,EAAG1oB,IAAM,SAAcqpB,EAAMC,GAC3B,OAAID,EAAKE,IAAID,GAAS,EAAUD,EACzBC,GAGTZ,EAAGt/B,UAAU6/B,MAAQ,SAAeN,EAAQhO,EAAMiO,GAChD,GAAsB,kBAAXD,EACT,OAAOj8B,KAAK88B,YAAYb,EAAQhO,EAAMiO,GAGxC,GAAsB,kBAAXD,EACT,OAAOj8B,KAAK+8B,WAAWd,EAAQhO,EAAMiO,GAG1B,QAATjO,IACFA,EAAO,IAET0N,EAAO1N,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,IAGnD,IAAI1d,EAAQ,EACM,OAFlB0rB,EAASA,EAAOjsB,WAAWkK,QAAQ,OAAQ,KAEhC,IACT3J,IAGW,KAAT0d,EACFjuB,KAAKg9B,UAAUf,EAAQ1rB,GAEvBvQ,KAAKi9B,WAAWhB,EAAQhO,EAAM1d,GAGd,MAAd0rB,EAAO,KACTj8B,KAAKo8B,SAAW,GAGlBp8B,KAAKk9B,QAEU,OAAXhB,GAEJl8B,KAAK+8B,WAAW/8B,KAAKm9B,UAAWlP,EAAMiO,IAGxCF,EAAGt/B,UAAUogC,YAAc,SAAsBb,EAAQhO,EAAMiO,GACzDD,EAAS,IACXj8B,KAAKo8B,SAAW,EAChBH,GAAUA,GAERA,EAAS,UACXj8B,KAAKq8B,MAAQ,CAAW,SAATJ,GACfj8B,KAAKyC,OAAS,GACLw5B,EAAS,kBAClBj8B,KAAKq8B,MAAQ,CACF,SAATJ,EACCA,EAAS,SAAa,UAEzBj8B,KAAKyC,OAAS,IAEdk5B,EAAOM,EAAS,kBAChBj8B,KAAKq8B,MAAQ,CACF,SAATJ,EACCA,EAAS,SAAa,SACvB,GAEFj8B,KAAKyC,OAAS,GAGD,OAAXy5B,GAGJl8B,KAAK+8B,WAAW/8B,KAAKm9B,UAAWlP,EAAMiO,IAGxCF,EAAGt/B,UAAUqgC,WAAa,SAAqBd,EAAQhO,EAAMiO,GAG3D,GADAP,EAAgC,kBAAlBM,EAAOx5B,QACjBw5B,EAAOx5B,QAAU,EAGnB,OAFAzC,KAAKq8B,MAAQ,CAAE,GACfr8B,KAAKyC,OAAS,EACPzC,KAGTA,KAAKyC,OAAS4Q,KAAK+pB,KAAKnB,EAAOx5B,OAAS,GACxCzC,KAAKq8B,MAAQ,IAAI9uB,MAAMvN,KAAKyC,QAC5B,IAAK,IAAIC,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAC/B1C,KAAKq8B,MAAM35B,GAAK,EAGlB,IAAIgG,EAAG20B,EACHvL,EAAM,EACV,GAAe,OAAXoK,EACF,IAAKx5B,EAAIu5B,EAAOx5B,OAAS,EAAGiG,EAAI,EAAGhG,GAAK,EAAGA,GAAK,EAC9C26B,EAAIpB,EAAOv5B,GAAMu5B,EAAOv5B,EAAI,IAAM,EAAMu5B,EAAOv5B,EAAI,IAAM,GACzD1C,KAAKq8B,MAAM3zB,IAAO20B,GAAKvL,EAAO,SAC9B9xB,KAAKq8B,MAAM3zB,EAAI,GAAM20B,IAAO,GAAKvL,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPppB,UAGC,GAAe,OAAXwzB,EACT,IAAKx5B,EAAI,EAAGgG,EAAI,EAAGhG,EAAIu5B,EAAOx5B,OAAQC,GAAK,EACzC26B,EAAIpB,EAAOv5B,GAAMu5B,EAAOv5B,EAAI,IAAM,EAAMu5B,EAAOv5B,EAAI,IAAM,GACzD1C,KAAKq8B,MAAM3zB,IAAO20B,GAAKvL,EAAO,SAC9B9xB,KAAKq8B,MAAM3zB,EAAI,GAAM20B,IAAO,GAAKvL,EAAQ,UACzCA,GAAO,KACI,KACTA,GAAO,GACPppB,KAIN,OAAO1I,KAAKk9B,SA2BdlB,EAAGt/B,UAAUsgC,UAAY,SAAoBf,EAAQ1rB,GAEnDvQ,KAAKyC,OAAS4Q,KAAK+pB,MAAMnB,EAAOx5B,OAAS8N,GAAS,GAClDvQ,KAAKq8B,MAAQ,IAAI9uB,MAAMvN,KAAKyC,QAC5B,IAAK,IAAIC,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAC/B1C,KAAKq8B,MAAM35B,GAAK,EAGlB,IAAIgG,EAAG20B,EAEHvL,EAAM,EACV,IAAKpvB,EAAIu5B,EAAOx5B,OAAS,EAAGiG,EAAI,EAAGhG,GAAK6N,EAAO7N,GAAK,EAClD26B,EAAIZ,EAASR,EAAQv5B,EAAGA,EAAI,GAC5B1C,KAAKq8B,MAAM3zB,IAAO20B,GAAKvL,EAAO,SAE9B9xB,KAAKq8B,MAAM3zB,EAAI,IAAM20B,IAAO,GAAKvL,EAAO,SACxCA,GAAO,KACI,KACTA,GAAO,GACPppB,KAGAhG,EAAI,IAAM6N,IACZ8sB,EAAIZ,EAASR,EAAQ1rB,EAAO7N,EAAI,GAChC1C,KAAKq8B,MAAM3zB,IAAO20B,GAAKvL,EAAO,SAC9B9xB,KAAKq8B,MAAM3zB,EAAI,IAAM20B,IAAO,GAAKvL,EAAO,SAE1C9xB,KAAKk9B,SA2BPlB,EAAGt/B,UAAUugC,WAAa,SAAqBhB,EAAQhO,EAAM1d,GAE3DvQ,KAAKq8B,MAAQ,CAAE,GACfr8B,KAAKyC,OAAS,EAGd,IAAK,IAAI66B,EAAU,EAAGC,EAAU,EAAGA,GAAW,SAAWA,GAAWtP,EAClEqP,IAEFA,IACAC,EAAWA,EAAUtP,EAAQ,EAO7B,IALA,IAAIuP,EAAQvB,EAAOx5B,OAAS8N,EACxBktB,EAAMD,EAAQF,EACd9sB,EAAM6C,KAAKC,IAAIkqB,EAAOA,EAAQC,GAAOltB,EAErCmtB,EAAO,EACFh7B,EAAI6N,EAAO7N,EAAI8N,EAAK9N,GAAK46B,EAChCI,EAAOhB,EAAUT,EAAQv5B,EAAGA,EAAI46B,EAASrP,GAEzCjuB,KAAK29B,MAAMJ,GACPv9B,KAAKq8B,MAAM,GAAKqB,EAAO,SACzB19B,KAAKq8B,MAAM,IAAMqB,EAEjB19B,KAAK49B,OAAOF,GAIhB,GAAY,IAARD,EAAW,CACb,IAAI9lB,EAAM,EAGV,IAFA+lB,EAAOhB,EAAUT,EAAQv5B,EAAGu5B,EAAOx5B,OAAQwrB,GAEtCvrB,EAAI,EAAGA,EAAI+6B,EAAK/6B,IACnBiV,GAAOsW,EAGTjuB,KAAK29B,MAAMhmB,GACP3X,KAAKq8B,MAAM,GAAKqB,EAAO,SACzB19B,KAAKq8B,MAAM,IAAMqB,EAEjB19B,KAAK49B,OAAOF,KAKlB1B,EAAGt/B,UAAUgT,KAAO,SAAemuB,GACjCA,EAAKxB,MAAQ,IAAI9uB,MAAMvN,KAAKyC,QAC5B,IAAK,IAAIC,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAC/Bm7B,EAAKxB,MAAM35B,GAAK1C,KAAKq8B,MAAM35B,GAE7Bm7B,EAAKp7B,OAASzC,KAAKyC,OACnBo7B,EAAKzB,SAAWp8B,KAAKo8B,SACrByB,EAAKvB,IAAMt8B,KAAKs8B,KAGlBN,EAAGt/B,UAAUohC,MAAQ,WACnB,IAAIn2B,EAAI,IAAIq0B,EAAG,MAEf,OADAh8B,KAAK0P,KAAK/H,GACHA,GAGTq0B,EAAGt/B,UAAUqhC,QAAU,SAAkBhuB,GACvC,KAAO/P,KAAKyC,OAASsN,GACnB/P,KAAKq8B,MAAMr8B,KAAKyC,UAAY,EAE9B,OAAOzC,MAITg8B,EAAGt/B,UAAUwgC,MAAQ,WACnB,KAAOl9B,KAAKyC,OAAS,GAAqC,IAAhCzC,KAAKq8B,MAAMr8B,KAAKyC,OAAS,IACjDzC,KAAKyC,SAEP,OAAOzC,KAAKg+B,aAGdhC,EAAGt/B,UAAUshC,UAAY,WAKvB,OAHoB,IAAhBh+B,KAAKyC,QAAkC,IAAlBzC,KAAKq8B,MAAM,KAClCr8B,KAAKo8B,SAAW,GAEXp8B,MAGTg8B,EAAGt/B,UAAU8Y,QAAU,WACrB,OAAQxV,KAAKs8B,IAAM,UAAY,SAAWt8B,KAAKgQ,SAAS,IAAM,KAiChE,IAAIiuB,EAAQ,CACV,GACA,IACA,KACA,MACA,OACA,QACA,SACA,UACA,WACA,YACA,aACA,cACA,eACA,gBACA,iBACA,kBACA,mBACA,oBACA,qBACA,sBACA,uBACA,wBACA,yBACA,0BACA,2BACA,6BAGEC,EAAa,CACf,EAAG,EACH,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EACvB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAClB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGhBC,EAAa,CACf,EAAG,EACH,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAC5D,SAAU,IAAU,SAAU,SAAU,SAAU,QAAS,SAC3D,SAAU,SAAU,SAAU,SAAU,KAAU,QAAS,QAC3D,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,SACzD,MAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UAsjB9D,SAASC,EAAYngC,EAAMytB,EAAKtV,GAC9BA,EAAIgmB,SAAW1Q,EAAI0Q,SAAWn+B,EAAKm+B,SACnC,IAAI5sB,EAAOvR,EAAKwE,OAASipB,EAAIjpB,OAAU,EACvC2T,EAAI3T,OAAS+M,EACbA,EAAOA,EAAM,EAAK,EAGlB,IAAI3H,EAAoB,EAAhB5J,EAAKo+B,MAAM,GACf9zB,EAAmB,EAAfmjB,EAAI2Q,MAAM,GACd10B,EAAIE,EAAIU,EAER2K,EAAS,SAAJvL,EACLwjB,EAASxjB,EAAI,SAAa,EAC9ByO,EAAIimB,MAAM,GAAKnpB,EAEf,IAAK,IAAIuK,EAAI,EAAGA,EAAIjO,EAAKiO,IAAK,CAM5B,IAHA,IAAI4gB,EAASlT,IAAU,GACnBmT,EAAgB,SAARnT,EACRoT,EAAOlrB,KAAKC,IAAImK,EAAGiO,EAAIjpB,OAAS,GAC3BiG,EAAI2K,KAAKoC,IAAI,EAAGgI,EAAIxf,EAAKwE,OAAS,GAAIiG,GAAK61B,EAAM71B,IAAK,CAC7D,IAAIhG,EAAK+a,EAAI/U,EAAK,EAIlB21B,IADA12B,GAFAE,EAAoB,EAAhB5J,EAAKo+B,MAAM35B,KACf6F,EAAmB,EAAfmjB,EAAI2Q,MAAM3zB,IACF41B,GACG,SAAa,EAC5BA,EAAY,SAAJ32B,EAEVyO,EAAIimB,MAAM5e,GAAa,EAAR6gB,EACfnT,EAAiB,EAATkT,EAQV,OANc,IAAVlT,EACF/U,EAAIimB,MAAM5e,GAAa,EAAR0N,EAEf/U,EAAI3T,SAGC2T,EAAI8mB,QAzlBblB,EAAGt/B,UAAUsT,SAAW,SAAmBie,EAAMuQ,GAI/C,IAAIpoB,EACJ,GAHAooB,EAAoB,EAAVA,GAAe,EAGZ,MAJbvQ,EAAOA,GAAQ,KAIa,QAATA,EAAgB,CACjC7X,EAAM,GAGN,IAFA,IAAI0b,EAAM,EACN3G,EAAQ,EACHzoB,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAAK,CACpC,IAAI26B,EAAIr9B,KAAKq8B,MAAM35B,GACfg7B,GAA+B,UAArBL,GAAKvL,EAAO3G,IAAmBnb,SAAS,IAGpDoG,EADY,KADd+U,EAASkS,IAAO,GAAKvL,EAAQ,WACVpvB,IAAM1C,KAAKyC,OAAS,EAC/Bw7B,EAAM,EAAIP,EAAKj7B,QAAUi7B,EAAOtnB,EAEhCsnB,EAAOtnB,GAEf0b,GAAO,IACI,KACTA,GAAO,GACPpvB,KAMJ,IAHc,IAAVyoB,IACF/U,EAAM+U,EAAMnb,SAAS,IAAMoG,GAEtBA,EAAI3T,OAAS+7B,IAAY,GAC9BpoB,EAAM,IAAMA,EAKd,OAHsB,IAAlBpW,KAAKo8B,WACPhmB,EAAM,IAAMA,GAEPA,EAGT,GAAI6X,KAAiB,EAAPA,IAAaA,GAAQ,GAAKA,GAAQ,GAAI,CAElD,IAAIwQ,EAAYP,EAAWjQ,GAEvByQ,EAAYP,EAAWlQ,GAC3B7X,EAAM,GACN,IAAIlO,EAAIlI,KAAK89B,QAEb,IADA51B,EAAEk0B,SAAW,GACLl0B,EAAEy2B,UAAU,CAClB,IAAIh3B,EAAIO,EAAE02B,KAAKF,GAAW1uB,SAASie,GAMjC7X,GALFlO,EAAIA,EAAE22B,MAAMH,IAELC,SAGCh3B,EAAIyO,EAFJ6nB,EAAMQ,EAAY92B,EAAElF,QAAUkF,EAAIyO,EAQ5C,IAHIpW,KAAK2+B,WACPvoB,EAAM,IAAMA,GAEPA,EAAI3T,OAAS+7B,IAAY,GAC9BpoB,EAAM,IAAMA,EAKd,OAHsB,IAAlBpW,KAAKo8B,WACPhmB,EAAM,IAAMA,GAEPA,EAGTulB,GAAO,EAAO,oCAGhBK,EAAGt/B,UAAUoiC,SAAW,WACtB,IAAI3oB,EAAMnW,KAAKq8B,MAAM,GASrB,OARoB,IAAhBr8B,KAAKyC,OACP0T,GAAuB,SAAhBnW,KAAKq8B,MAAM,GACO,IAAhBr8B,KAAKyC,QAAkC,IAAlBzC,KAAKq8B,MAAM,GAEzClmB,GAAO,iBAAoC,SAAhBnW,KAAKq8B,MAAM,GAC7Br8B,KAAKyC,OAAS,GACvBk5B,GAAO,EAAO,8CAEU,IAAlB37B,KAAKo8B,UAAmBjmB,EAAMA,GAGxC6lB,EAAGt/B,UAAUwZ,OAAS,WACpB,OAAOlW,KAAKgQ,SAAS,KAGvBgsB,EAAGt/B,UAAUqiC,SAAW,SAAmB7C,EAAQz5B,GAEjD,OADAk5B,EAAyB,qBAAXxtB,GACPnO,KAAKg/B,YAAY7wB,EAAQ+tB,EAAQz5B,IAG1Cu5B,EAAGt/B,UAAUygC,QAAU,SAAkBjB,EAAQz5B,GAC/C,OAAOzC,KAAKg/B,YAAYzxB,MAAO2uB,EAAQz5B,IAGzCu5B,EAAGt/B,UAAUsiC,YAAc,SAAsBC,EAAW/C,EAAQz5B,GAClE,IAAIqM,EAAa9O,KAAK8O,aAClBowB,EAAYz8B,GAAU4Q,KAAKoC,IAAI,EAAG3G,GACtC6sB,EAAO7sB,GAAcowB,EAAW,yCAChCvD,EAAOuD,EAAY,EAAG,+BAEtBl/B,KAAKk9B,QACL,IAGI30B,EAAG7F,EAHHiU,EAA0B,OAAXulB,EACf3oB,EAAM,IAAI0rB,EAAUC,GAGpB12B,EAAIxI,KAAK89B,QACb,GAAKnnB,EAYE,CACL,IAAKjU,EAAI,GAAI8F,EAAEm2B,SAAUj8B,IACvB6F,EAAIC,EAAE22B,MAAM,KACZ32B,EAAE42B,OAAO,GAET7rB,EAAI7Q,GAAK6F,EAGX,KAAO7F,EAAIw8B,EAAWx8B,IACpB6Q,EAAI7Q,GAAK,MArBM,CAEjB,IAAKA,EAAI,EAAGA,EAAIw8B,EAAYpwB,EAAYpM,IACtC6Q,EAAI7Q,GAAK,EAGX,IAAKA,EAAI,GAAI8F,EAAEm2B,SAAUj8B,IACvB6F,EAAIC,EAAE22B,MAAM,KACZ32B,EAAE42B,OAAO,GAET7rB,EAAI2rB,EAAYx8B,EAAI,GAAK6F,EAe7B,OAAOgL,GAGLF,KAAKgsB,MACPrD,EAAGt/B,UAAU4iC,WAAa,SAAqBjC,GAC7C,OAAO,GAAKhqB,KAAKgsB,MAAMhC,IAGzBrB,EAAGt/B,UAAU4iC,WAAa,SAAqBjC,GAC7C,IAAI31B,EAAI21B,EACJ11B,EAAI,EAiBR,OAhBID,GAAK,OACPC,GAAK,GACLD,KAAO,IAELA,GAAK,KACPC,GAAK,EACLD,KAAO,GAELA,GAAK,IACPC,GAAK,EACLD,KAAO,GAELA,GAAK,IACPC,GAAK,EACLD,KAAO,GAEFC,EAAID,GAIfs0B,EAAGt/B,UAAU6iC,UAAY,SAAoBlC,GAE3C,GAAU,IAANA,EAAS,OAAO,GAEpB,IAAI31B,EAAI21B,EACJ11B,EAAI,EAoBR,OAnBqB,KAAZ,KAAJD,KACHC,GAAK,GACLD,KAAO,IAEU,KAAV,IAAJA,KACHC,GAAK,EACLD,KAAO,GAES,KAAT,GAAJA,KACHC,GAAK,EACLD,KAAO,GAES,KAAT,EAAJA,KACHC,GAAK,EACLD,KAAO,GAES,KAAT,EAAJA,IACHC,IAEKA,GAITq0B,EAAGt/B,UAAU8iC,UAAY,WACvB,IAAInC,EAAIr9B,KAAKq8B,MAAMr8B,KAAKyC,OAAS,GAC7BwQ,EAAKjT,KAAKs/B,WAAWjC,GACzB,OAA2B,IAAnBr9B,KAAKyC,OAAS,GAAUwQ,GAiBlC+oB,EAAGt/B,UAAU+iC,SAAW,WACtB,GAAIz/B,KAAK2+B,SAAU,OAAO,EAG1B,IADA,IAAIh3B,EAAI,EACCjF,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAAK,CACpC,IAAI6F,EAAIvI,KAAKu/B,UAAUv/B,KAAKq8B,MAAM35B,IAElC,GADAiF,GAAKY,EACK,KAANA,EAAU,MAEhB,OAAOZ,GAGTq0B,EAAGt/B,UAAUoS,WAAa,WACxB,OAAOuE,KAAK+pB,KAAKp9B,KAAKw/B,YAAc,IAGtCxD,EAAGt/B,UAAUgjC,OAAS,SAAiBxJ,GACrC,OAAsB,IAAlBl2B,KAAKo8B,SACAp8B,KAAK2/B,MAAMC,MAAM1J,GAAO2J,MAAM,GAEhC7/B,KAAK89B,SAGd9B,EAAGt/B,UAAUojC,SAAW,SAAmB5J,GACzC,OAAIl2B,KAAK+/B,MAAM7J,EAAQ,GACdl2B,KAAKggC,KAAK9J,GAAO2J,MAAM,GAAGI,OAE5BjgC,KAAK89B,SAGd9B,EAAGt/B,UAAUwjC,MAAQ,WACnB,OAAyB,IAAlBlgC,KAAKo8B,UAIdJ,EAAGt/B,UAAUyjC,IAAM,WACjB,OAAOngC,KAAK89B,QAAQmC,QAGtBjE,EAAGt/B,UAAUujC,KAAO,WAKlB,OAJKjgC,KAAK2+B,WACR3+B,KAAKo8B,UAAY,GAGZp8B,MAITg8B,EAAGt/B,UAAU0jC,KAAO,SAAe1U,GACjC,KAAO1rB,KAAKyC,OAASipB,EAAIjpB,QACvBzC,KAAKq8B,MAAMr8B,KAAKyC,UAAY,EAG9B,IAAK,IAAIC,EAAI,EAAGA,EAAIgpB,EAAIjpB,OAAQC,IAC9B1C,KAAKq8B,MAAM35B,GAAK1C,KAAKq8B,MAAM35B,GAAKgpB,EAAI2Q,MAAM35B,GAG5C,OAAO1C,KAAKk9B,SAGdlB,EAAGt/B,UAAU2jC,IAAM,SAAc3U,GAE/B,OADAiQ,EAA0C,KAAlC37B,KAAKo8B,SAAW1Q,EAAI0Q,WACrBp8B,KAAKogC,KAAK1U,IAInBsQ,EAAGt/B,UAAU4jC,GAAK,SAAa5U,GAC7B,OAAI1rB,KAAKyC,OAASipB,EAAIjpB,OAAezC,KAAK89B,QAAQuC,IAAI3U,GAC/CA,EAAIoS,QAAQuC,IAAIrgC,OAGzBg8B,EAAGt/B,UAAU6jC,IAAM,SAAc7U,GAC/B,OAAI1rB,KAAKyC,OAASipB,EAAIjpB,OAAezC,KAAK89B,QAAQsC,KAAK1U,GAChDA,EAAIoS,QAAQsC,KAAKpgC,OAI1Bg8B,EAAGt/B,UAAU8jC,MAAQ,SAAgB9U,GAEnC,IAAInjB,EAEFA,EADEvI,KAAKyC,OAASipB,EAAIjpB,OAChBipB,EAEA1rB,KAGN,IAAK,IAAI0C,EAAI,EAAGA,EAAI6F,EAAE9F,OAAQC,IAC5B1C,KAAKq8B,MAAM35B,GAAK1C,KAAKq8B,MAAM35B,GAAKgpB,EAAI2Q,MAAM35B,GAK5C,OAFA1C,KAAKyC,OAAS8F,EAAE9F,OAETzC,KAAKk9B,SAGdlB,EAAGt/B,UAAU+jC,KAAO,SAAe/U,GAEjC,OADAiQ,EAA0C,KAAlC37B,KAAKo8B,SAAW1Q,EAAI0Q,WACrBp8B,KAAKwgC,MAAM9U,IAIpBsQ,EAAGt/B,UAAUgkC,IAAM,SAAchV,GAC/B,OAAI1rB,KAAKyC,OAASipB,EAAIjpB,OAAezC,KAAK89B,QAAQ2C,KAAK/U,GAChDA,EAAIoS,QAAQ2C,KAAKzgC,OAG1Bg8B,EAAGt/B,UAAUikC,KAAO,SAAejV,GACjC,OAAI1rB,KAAKyC,OAASipB,EAAIjpB,OAAezC,KAAK89B,QAAQ0C,MAAM9U,GACjDA,EAAIoS,QAAQ0C,MAAMxgC,OAI3Bg8B,EAAGt/B,UAAUkkC,MAAQ,SAAgBlV,GAEnC,IAAI7jB,EACAU,EACAvI,KAAKyC,OAASipB,EAAIjpB,QACpBoF,EAAI7H,KACJuI,EAAImjB,IAEJ7jB,EAAI6jB,EACJnjB,EAAIvI,MAGN,IAAK,IAAI0C,EAAI,EAAGA,EAAI6F,EAAE9F,OAAQC,IAC5B1C,KAAKq8B,MAAM35B,GAAKmF,EAAEw0B,MAAM35B,GAAK6F,EAAE8zB,MAAM35B,GAGvC,GAAI1C,OAAS6H,EACX,KAAOnF,EAAImF,EAAEpF,OAAQC,IACnB1C,KAAKq8B,MAAM35B,GAAKmF,EAAEw0B,MAAM35B,GAM5B,OAFA1C,KAAKyC,OAASoF,EAAEpF,OAETzC,KAAKk9B,SAGdlB,EAAGt/B,UAAUmkC,KAAO,SAAenV,GAEjC,OADAiQ,EAA0C,KAAlC37B,KAAKo8B,SAAW1Q,EAAI0Q,WACrBp8B,KAAK4gC,MAAMlV,IAIpBsQ,EAAGt/B,UAAUokC,IAAM,SAAcpV,GAC/B,OAAI1rB,KAAKyC,OAASipB,EAAIjpB,OAAezC,KAAK89B,QAAQ+C,KAAKnV,GAChDA,EAAIoS,QAAQ+C,KAAK7gC,OAG1Bg8B,EAAGt/B,UAAUqkC,KAAO,SAAerV,GACjC,OAAI1rB,KAAKyC,OAASipB,EAAIjpB,OAAezC,KAAK89B,QAAQ8C,MAAMlV,GACjDA,EAAIoS,QAAQ8C,MAAM5gC,OAI3Bg8B,EAAGt/B,UAAUkjC,MAAQ,SAAgB1J,GACnCyF,EAAwB,kBAAVzF,GAAsBA,GAAS,GAE7C,IAAI8K,EAAsC,EAAxB3tB,KAAK+pB,KAAKlH,EAAQ,IAChC+K,EAAW/K,EAAQ,GAGvBl2B,KAAK+9B,QAAQiD,GAETC,EAAW,GACbD,IAIF,IAAK,IAAIt+B,EAAI,EAAGA,EAAIs+B,EAAat+B,IAC/B1C,KAAKq8B,MAAM35B,GAAsB,UAAhB1C,KAAKq8B,MAAM35B,GAS9B,OALIu+B,EAAW,IACbjhC,KAAKq8B,MAAM35B,IAAM1C,KAAKq8B,MAAM35B,GAAM,UAAc,GAAKu+B,GAIhDjhC,KAAKk9B,SAGdlB,EAAGt/B,UAAUsjC,KAAO,SAAe9J,GACjC,OAAOl2B,KAAK89B,QAAQ8B,MAAM1J,IAI5B8F,EAAGt/B,UAAUwkC,KAAO,SAAeC,EAAK55B,GACtCo0B,EAAsB,kBAARwF,GAAoBA,GAAO,GAEzC,IAAIrP,EAAOqP,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAUjB,OARAnhC,KAAK+9B,QAAQjM,EAAM,GAGjB9xB,KAAKq8B,MAAMvK,GADTvqB,EACgBvH,KAAKq8B,MAAMvK,GAAQ,GAAKsP,EAExBphC,KAAKq8B,MAAMvK,KAAS,GAAKsP,GAGtCphC,KAAKk9B,SAIdlB,EAAGt/B,UAAU2kC,KAAO,SAAe3V,GACjC,IAAI/jB,EAkBAE,EAAGU,EAfP,GAAsB,IAAlBvI,KAAKo8B,UAAmC,IAAjB1Q,EAAI0Q,SAI7B,OAHAp8B,KAAKo8B,SAAW,EAChBz0B,EAAI3H,KAAKshC,KAAK5V,GACd1rB,KAAKo8B,UAAY,EACVp8B,KAAKg+B,YAGP,GAAsB,IAAlBh+B,KAAKo8B,UAAmC,IAAjB1Q,EAAI0Q,SAIpC,OAHA1Q,EAAI0Q,SAAW,EACfz0B,EAAI3H,KAAKshC,KAAK5V,GACdA,EAAI0Q,SAAW,EACRz0B,EAAEq2B,YAKPh+B,KAAKyC,OAASipB,EAAIjpB,QACpBoF,EAAI7H,KACJuI,EAAImjB,IAEJ7jB,EAAI6jB,EACJnjB,EAAIvI,MAIN,IADA,IAAImrB,EAAQ,EACHzoB,EAAI,EAAGA,EAAI6F,EAAE9F,OAAQC,IAC5BiF,GAAkB,EAAbE,EAAEw0B,MAAM35B,KAAwB,EAAb6F,EAAE8zB,MAAM35B,IAAUyoB,EAC1CnrB,KAAKq8B,MAAM35B,GAAS,SAAJiF,EAChBwjB,EAAQxjB,IAAM,GAEhB,KAAiB,IAAVwjB,GAAezoB,EAAImF,EAAEpF,OAAQC,IAClCiF,GAAkB,EAAbE,EAAEw0B,MAAM35B,IAAUyoB,EACvBnrB,KAAKq8B,MAAM35B,GAAS,SAAJiF,EAChBwjB,EAAQxjB,IAAM,GAIhB,GADA3H,KAAKyC,OAASoF,EAAEpF,OACF,IAAV0oB,EACFnrB,KAAKq8B,MAAMr8B,KAAKyC,QAAU0oB,EAC1BnrB,KAAKyC,cAEA,GAAIoF,IAAM7H,KACf,KAAO0C,EAAImF,EAAEpF,OAAQC,IACnB1C,KAAKq8B,MAAM35B,GAAKmF,EAAEw0B,MAAM35B,GAI5B,OAAO1C,MAITg8B,EAAGt/B,UAAU2tB,IAAM,SAAcqB,GAC/B,IAAInY,EACJ,OAAqB,IAAjBmY,EAAI0Q,UAAoC,IAAlBp8B,KAAKo8B,UAC7B1Q,EAAI0Q,SAAW,EACf7oB,EAAMvT,KAAKgZ,IAAI0S,GACfA,EAAI0Q,UAAY,EACT7oB,GACmB,IAAjBmY,EAAI0Q,UAAoC,IAAlBp8B,KAAKo8B,UACpCp8B,KAAKo8B,SAAW,EAChB7oB,EAAMmY,EAAI1S,IAAIhZ,MACdA,KAAKo8B,SAAW,EACT7oB,GAGLvT,KAAKyC,OAASipB,EAAIjpB,OAAezC,KAAK89B,QAAQuD,KAAK3V,GAEhDA,EAAIoS,QAAQuD,KAAKrhC,OAI1Bg8B,EAAGt/B,UAAU4kC,KAAO,SAAe5V,GAEjC,GAAqB,IAAjBA,EAAI0Q,SAAgB,CACtB1Q,EAAI0Q,SAAW,EACf,IAAIz0B,EAAI3H,KAAKqhC,KAAK3V,GAElB,OADAA,EAAI0Q,SAAW,EACRz0B,EAAEq2B,YAGJ,GAAsB,IAAlBh+B,KAAKo8B,SAId,OAHAp8B,KAAKo8B,SAAW,EAChBp8B,KAAKqhC,KAAK3V,GACV1rB,KAAKo8B,SAAW,EACTp8B,KAAKg+B,YAId,IAWIn2B,EAAGU,EAXHs0B,EAAM78B,KAAK68B,IAAInR,GAGnB,GAAY,IAARmR,EAIF,OAHA78B,KAAKo8B,SAAW,EAChBp8B,KAAKyC,OAAS,EACdzC,KAAKq8B,MAAM,GAAK,EACTr8B,KAKL68B,EAAM,GACRh1B,EAAI7H,KACJuI,EAAImjB,IAEJ7jB,EAAI6jB,EACJnjB,EAAIvI,MAIN,IADA,IAAImrB,EAAQ,EACHzoB,EAAI,EAAGA,EAAI6F,EAAE9F,OAAQC,IAE5ByoB,GADAxjB,GAAkB,EAAbE,EAAEw0B,MAAM35B,KAAwB,EAAb6F,EAAE8zB,MAAM35B,IAAUyoB,IAC7B,GACbnrB,KAAKq8B,MAAM35B,GAAS,SAAJiF,EAElB,KAAiB,IAAVwjB,GAAezoB,EAAImF,EAAEpF,OAAQC,IAElCyoB,GADAxjB,GAAkB,EAAbE,EAAEw0B,MAAM35B,IAAUyoB,IACV,GACbnrB,KAAKq8B,MAAM35B,GAAS,SAAJiF,EAIlB,GAAc,IAAVwjB,GAAezoB,EAAImF,EAAEpF,QAAUoF,IAAM7H,KACvC,KAAO0C,EAAImF,EAAEpF,OAAQC,IACnB1C,KAAKq8B,MAAM35B,GAAKmF,EAAEw0B,MAAM35B,GAU5B,OANA1C,KAAKyC,OAAS4Q,KAAKoC,IAAIzV,KAAKyC,OAAQC,GAEhCmF,IAAM7H,OACRA,KAAKo8B,SAAW,GAGXp8B,KAAKk9B,SAIdlB,EAAGt/B,UAAUsc,IAAM,SAAc0S,GAC/B,OAAO1rB,KAAK89B,QAAQwD,KAAK5V,IA+C3B,IAAI6V,EAAc,SAAsBtjC,EAAMytB,EAAKtV,GACjD,IAIIlD,EACAsuB,EACAvuB,EANApL,EAAI5J,EAAKo+B,MACT9zB,EAAImjB,EAAI2Q,MACRv0B,EAAIsO,EAAIimB,MACRn0B,EAAI,EAIJu5B,EAAY,EAAP55B,EAAE,GACP+hB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAP75B,EAAE,GACPgiB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAP95B,EAAE,GACPiiB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAP/5B,EAAE,GACPkiB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAPh6B,EAAE,GACPmiB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAPj6B,EAAE,GACPoiB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAPl6B,EAAE,GACPqiB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAPn6B,EAAE,GACPsiB,EAAW,KAAL6X,EACNrY,EAAMqY,IAAO,GACbC,EAAY,EAAPp6B,EAAE,GACPq6B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbG,EAAY,EAAPv6B,EAAE,GACPw6B,EAAW,KAALD,EACNE,EAAMF,IAAO,GACbze,EAAY,EAAPpb,EAAE,GACPggB,EAAW,KAAL5E,EACNoE,EAAMpE,IAAO,GACbC,EAAY,EAAPrb,EAAE,GACPigB,EAAW,KAAL5E,EACNoE,EAAMpE,IAAO,GACbC,EAAY,EAAPtb,EAAE,GACPkgB,EAAW,KAAL5E,EACNoE,EAAMpE,IAAO,GACbC,EAAY,EAAPvb,EAAE,GACPmgB,EAAW,KAAL5E,EACNoE,EAAMpE,IAAO,GACbC,EAAY,EAAPxb,EAAE,GACPogB,EAAW,KAAL5E,EACNoE,GAAMpE,IAAO,GACbC,GAAY,EAAPzb,EAAE,GACPqgB,GAAW,KAAL5E,GACNoE,GAAMpE,KAAO,GACbC,GAAY,EAAP1b,EAAE,GACPsgB,GAAW,KAAL5E,GACNoE,GAAMpE,KAAO,GACbC,GAAY,EAAP3b,EAAE,GACPugB,GAAW,KAAL5E,GACNoE,GAAMpE,KAAO,GACbC,GAAY,EAAP5b,EAAE,GACPg6B,GAAW,KAALpe,GACNqe,GAAMre,KAAO,GACbC,GAAY,EAAP7b,EAAE,GACPk6B,GAAW,KAALre,GACNse,GAAMte,KAAO,GAEjBhO,EAAIgmB,SAAWn+B,EAAKm+B,SAAW1Q,EAAI0Q,SACnChmB,EAAI3T,OAAS,GAMb,IAAIkgC,IAAQz6B,GAJZgL,EAAKG,KAAKuvB,KAAKhZ,EAAKrB,IAIE,KAAa,MAFnCiZ,GADAA,EAAMnuB,KAAKuvB,KAAKhZ,EAAK7B,IACR1U,KAAKuvB,KAAKxZ,EAAKb,GAAQ,KAEU,IAAO,EACrDrgB,IAFA+K,EAAKI,KAAKuvB,KAAKxZ,EAAKrB,KAEPyZ,IAAQ,IAAO,IAAMmB,KAAO,IAAO,EAChDA,IAAM,SAENzvB,EAAKG,KAAKuvB,KAAK/Y,EAAKtB,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAK/Y,EAAK9B,IACR1U,KAAKuvB,KAAKvZ,EAAKd,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKvZ,EAAKtB,GAKpB,IAAI8a,IAAQ36B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAKpB,GAAQ,GAIZ,KAAa,MAFnCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAK5B,GAAQ,GACvB3U,KAAKuvB,KAAKxZ,EAAKZ,GAAQ,KAEU,IAAO,EACrDtgB,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKpB,GAAQ,IAErBwZ,IAAQ,IAAO,IAAMqB,KAAO,IAAO,EAChDA,IAAM,SAEN3vB,EAAKG,KAAKuvB,KAAK9Y,EAAKvB,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK/B,IACR1U,KAAKuvB,KAAKtZ,EAAKf,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKtZ,EAAKvB,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAKrB,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAK7B,GAAQ,GACvB3U,KAAKuvB,KAAKvZ,EAAKb,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKrB,GAAQ,EAKlC,IAAI8a,IAAQ56B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAKnB,GAAQ,GAIZ,KAAa,MAFnC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAK3B,GAAQ,GACvB5U,KAAKuvB,KAAKxZ,EAAKX,GAAQ,KAEU,IAAO,EACrDvgB,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKnB,GAAQ,IAErBuZ,IAAQ,IAAO,IAAMsB,KAAO,IAAO,EAChDA,IAAM,SAEN5vB,EAAKG,KAAKuvB,KAAK7Y,EAAKxB,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAK7Y,EAAKhC,IACR1U,KAAKuvB,KAAKrZ,EAAKhB,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKrZ,EAAKxB,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKtB,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK9B,GAAQ,GACvB3U,KAAKuvB,KAAKtZ,EAAKd,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKtB,GAAQ,EAClC9U,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAKpB,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAK5B,GAAQ,GACvB5U,KAAKuvB,KAAKvZ,EAAKZ,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKpB,GAAQ,EAKlC,IAAI8a,IAAQ76B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAKlB,GAAQ,GAIZ,KAAa,MAFnC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAK1B,GAAQ,GACvB7U,KAAKuvB,KAAKxZ,EAAKV,GAAQ,KAEU,IAAO,EACrDxgB,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKlB,GAAQ,IAErBsZ,IAAQ,IAAO,IAAMuB,KAAO,IAAO,EAChDA,IAAM,SAEN7vB,EAAKG,KAAKuvB,KAAK5Y,EAAKzB,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAK5Y,EAAKjC,IACR1U,KAAKuvB,KAAKpZ,EAAKjB,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKpZ,EAAKzB,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKvB,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAK/B,GAAQ,GACvB3U,KAAKuvB,KAAKrZ,EAAKf,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKvB,GAAQ,EAClC9U,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKrB,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK7B,GAAQ,GACvB5U,KAAKuvB,KAAKtZ,EAAKb,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKrB,GAAQ,EAClC/U,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAKnB,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAK3B,GAAQ,GACvB7U,KAAKuvB,KAAKvZ,EAAKX,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKnB,GAAQ,EAKlC,IAAI8a,IAAQ96B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAKjB,GAAQ,GAIZ,KAAa,MAFnC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAKzB,IAAQ,GACvB9U,KAAKuvB,KAAKxZ,EAAKT,GAAQ,KAEU,IAAO,EACrDzgB,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKjB,IAAQ,IAErBqZ,IAAQ,IAAO,IAAMwB,KAAO,IAAO,EAChDA,IAAM,SAEN9vB,EAAKG,KAAKuvB,KAAK3Y,EAAK1B,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAK3Y,EAAKlC,IACR1U,KAAKuvB,KAAKnZ,EAAKlB,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKnZ,EAAK1B,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKxB,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAKhC,GAAQ,GACvB3U,KAAKuvB,KAAKpZ,EAAKhB,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKxB,GAAQ,EAClC9U,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKtB,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAK9B,GAAQ,GACvB5U,KAAKuvB,KAAKrZ,EAAKd,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKtB,GAAQ,EAClC/U,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKpB,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK5B,GAAQ,GACvB7U,KAAKuvB,KAAKtZ,EAAKZ,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKpB,GAAQ,EAClChV,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAKlB,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAK1B,IAAQ,GACvB9U,KAAKuvB,KAAKvZ,EAAKV,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKlB,IAAQ,EAKlC,IAAI8a,IAAQ/6B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAKhB,IAAQ,GAIZ,KAAa,MAFnC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAKxB,IAAQ,GACvB/U,KAAKuvB,KAAKxZ,EAAKR,IAAQ,KAEU,IAAO,EACrD1gB,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKhB,IAAQ,IAErBoZ,IAAQ,IAAO,IAAMyB,KAAO,IAAO,EAChDA,IAAM,SAEN/vB,EAAKG,KAAKuvB,KAAK1Y,EAAK3B,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAK1Y,EAAKnC,IACR1U,KAAKuvB,KAAKlZ,EAAKnB,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKlZ,EAAK3B,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKzB,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAKjC,GAAQ,GACvB3U,KAAKuvB,KAAKnZ,EAAKjB,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKzB,GAAQ,EAClC9U,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKvB,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAK/B,GAAQ,GACvB5U,KAAKuvB,KAAKpZ,EAAKf,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKvB,GAAQ,EAClC/U,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKrB,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAK7B,GAAQ,GACvB7U,KAAKuvB,KAAKrZ,EAAKb,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKrB,GAAQ,EAClChV,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKnB,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK3B,IAAQ,GACvB9U,KAAKuvB,KAAKtZ,EAAKX,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKnB,IAAQ,EAClCjV,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAKjB,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAKzB,IAAQ,GACvB/U,KAAKuvB,KAAKvZ,EAAKT,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKjB,IAAQ,EAKlC,IAAI8a,IAAQh7B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAKf,IAAQ,GAIZ,KAAa,MAFnC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAKvB,IAAQ,GACvBhV,KAAKuvB,KAAKxZ,EAAKP,IAAQ,KAEU,IAAO,EACrD3gB,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKf,IAAQ,IAErBmZ,IAAQ,IAAO,IAAM0B,KAAO,IAAO,EAChDA,IAAM,SAENhwB,EAAKG,KAAKuvB,KAAKzY,EAAK5B,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAKzY,EAAKpC,IACR1U,KAAKuvB,KAAKjZ,EAAKpB,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKjZ,EAAK5B,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAK1B,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAKlC,GAAQ,GACvB3U,KAAKuvB,KAAKlZ,EAAKlB,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAK1B,GAAQ,EAClC9U,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKxB,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAKhC,GAAQ,GACvB5U,KAAKuvB,KAAKnZ,EAAKhB,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKxB,GAAQ,EAClC/U,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKtB,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAK9B,GAAQ,GACvB7U,KAAKuvB,KAAKpZ,EAAKd,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKtB,GAAQ,EAClChV,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKpB,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAK5B,IAAQ,GACvB9U,KAAKuvB,KAAKrZ,EAAKZ,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKpB,IAAQ,EAClCjV,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKlB,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK1B,IAAQ,GACvB/U,KAAKuvB,KAAKtZ,EAAKV,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKlB,IAAQ,EAClClV,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAKhB,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAKxB,IAAQ,GACvBhV,KAAKuvB,KAAKvZ,EAAKR,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKhB,IAAQ,EAKlC,IAAI8a,IAAQj7B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAKd,IAAQ,GAIZ,KAAa,MAFnC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAKtB,IAAQ,GACvBjV,KAAKuvB,KAAKxZ,EAAKN,IAAQ,KAEU,IAAO,EACrD5gB,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKd,IAAQ,IAErBkZ,IAAQ,IAAO,IAAM2B,KAAO,IAAO,EAChDA,IAAM,SAENjwB,EAAKG,KAAKuvB,KAAKV,EAAK3Z,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAKV,EAAKna,IACR1U,KAAKuvB,KAAKT,EAAK5Z,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKT,EAAKpa,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAK3B,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAKnC,GAAQ,GACvB3U,KAAKuvB,KAAKjZ,EAAKnB,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAK3B,GAAQ,EAClC9U,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKzB,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAKjC,GAAQ,GACvB5U,KAAKuvB,KAAKlZ,EAAKjB,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAKzB,GAAQ,EAClC/U,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKvB,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAK/B,GAAQ,GACvB7U,KAAKuvB,KAAKnZ,EAAKf,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKvB,GAAQ,EAClChV,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKrB,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAK7B,IAAQ,GACvB9U,KAAKuvB,KAAKpZ,EAAKb,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKrB,IAAQ,EAClCjV,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKnB,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAK3B,IAAQ,GACvB/U,KAAKuvB,KAAKrZ,EAAKX,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKnB,IAAQ,EAClClV,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKjB,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAKzB,IAAQ,GACvBhV,KAAKuvB,KAAKtZ,EAAKT,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKjB,IAAQ,EAClCnV,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAKf,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAKvB,IAAQ,GACvBjV,KAAKuvB,KAAKvZ,EAAKP,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKf,IAAQ,EAKlC,IAAI8a,IAAQl7B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAK2Y,IAAQ,GAIZ,KAAa,MAFnCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAK4Y,IAAQ,GACvBnvB,KAAKuvB,KAAKxZ,EAAKmZ,IAAQ,KAEU,IAAO,EACrDr6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKoZ,IAAQ,IAErBhB,IAAQ,IAAO,IAAM4B,KAAO,IAAO,EAChDA,IAAM,SAENlwB,EAAKG,KAAKuvB,KAAKP,EAAK9Z,GAEpBiZ,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKta,IACR1U,KAAKuvB,KAAKN,EAAK/Z,GAAQ,EACpCtV,EAAKI,KAAKuvB,KAAKN,EAAKva,GACpB7U,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAK1Z,GAAQ,EAElCgZ,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAKla,GAAQ,GACvB3U,KAAKuvB,KAAKT,EAAK3Z,GAAQ,EACpCvV,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAKna,GAAQ,EAClC9U,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAK1B,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAKlC,GAAQ,GACvB5U,KAAKuvB,KAAKjZ,EAAKlB,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAK1B,GAAQ,EAClC/U,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKxB,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAKhC,GAAQ,GACvB7U,KAAKuvB,KAAKlZ,EAAKhB,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAKxB,GAAQ,EAClChV,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKtB,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAK9B,IAAQ,GACvB9U,KAAKuvB,KAAKnZ,EAAKd,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKtB,IAAQ,EAClCjV,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKpB,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAK5B,IAAQ,GACvB/U,KAAKuvB,KAAKpZ,EAAKZ,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKpB,IAAQ,EAClClV,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKlB,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAK1B,IAAQ,GACvBhV,KAAKuvB,KAAKrZ,EAAKV,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKlB,IAAQ,EAClCnV,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKhB,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAKxB,IAAQ,GACvBjV,KAAKuvB,KAAKtZ,EAAKR,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKhB,IAAQ,EAClCpV,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAK0Y,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAK2Y,IAAQ,GACvBnvB,KAAKuvB,KAAKvZ,EAAKkZ,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKmZ,IAAQ,EAKlC,IAAIa,IAAQn7B,GAJZgL,EAAMA,EAAKG,KAAKuvB,KAAKhZ,EAAK6Y,IAAQ,GAIZ,KAAa,MAFnCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKhZ,EAAK8Y,IAAQ,GACvBrvB,KAAKuvB,KAAKxZ,EAAKqZ,IAAQ,KAEU,IAAO,EACrDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKxZ,EAAKsZ,IAAQ,IAErBlB,IAAQ,IAAO,IAAM6B,KAAO,IAAO,EAChDA,IAAM,SAENnwB,EAAKG,KAAKuvB,KAAKP,EAAK7Z,GAEpBgZ,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKra,IACR3U,KAAKuvB,KAAKN,EAAK9Z,GAAQ,EACpCvV,EAAKI,KAAKuvB,KAAKN,EAAKta,GACpB9U,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKzZ,GAAQ,EAElC+Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAKja,GAAQ,GACvB5U,KAAKuvB,KAAKT,EAAK1Z,GAAQ,EACpCxV,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAKla,GAAQ,EAClC/U,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAKzB,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAKjC,GAAQ,GACvB7U,KAAKuvB,KAAKjZ,EAAKjB,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAKzB,GAAQ,EAClChV,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKvB,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAK/B,IAAQ,GACvB9U,KAAKuvB,KAAKlZ,EAAKf,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAKvB,IAAQ,EAClCjV,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKrB,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAK7B,IAAQ,GACvB/U,KAAKuvB,KAAKnZ,EAAKb,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKrB,IAAQ,EAClClV,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKnB,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAK3B,IAAQ,GACvBhV,KAAKuvB,KAAKpZ,EAAKX,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKnB,IAAQ,EAClCnV,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKjB,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAKzB,IAAQ,GACvBjV,KAAKuvB,KAAKrZ,EAAKT,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKjB,IAAQ,EAClCpV,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAKyY,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK0Y,IAAQ,GACvBnvB,KAAKuvB,KAAKtZ,EAAKiZ,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKkZ,IAAQ,EAKlC,IAAIc,IAASp7B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAK/Y,EAAK4Y,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK/Y,EAAK6Y,IAAQ,GACvBrvB,KAAKuvB,KAAKvZ,EAAKoZ,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKvZ,EAAKqZ,IAAQ,IAErBlB,IAAQ,IAAO,IAAM8B,KAAQ,IAAO,EACjDA,IAAO,SAEPpwB,EAAKG,KAAKuvB,KAAKP,EAAK5Z,GAEpB+Y,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKpa,IACR5U,KAAKuvB,KAAKN,EAAK7Z,GAAQ,EACpCxV,EAAKI,KAAKuvB,KAAKN,EAAKra,GACpB/U,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKxZ,GAAQ,EAElC8Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAKha,GAAQ,GACvB7U,KAAKuvB,KAAKT,EAAKzZ,GAAQ,EACpCzV,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAKja,GAAQ,EAClChV,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAKxB,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAKhC,IAAQ,GACvB9U,KAAKuvB,KAAKjZ,EAAKhB,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAKxB,IAAQ,EAClCjV,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKtB,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAK9B,IAAQ,GACvB/U,KAAKuvB,KAAKlZ,EAAKd,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAKtB,IAAQ,EAClClV,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKpB,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAK5B,IAAQ,GACvBhV,KAAKuvB,KAAKnZ,EAAKZ,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKpB,IAAQ,EAClCnV,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKlB,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAK1B,IAAQ,GACvBjV,KAAKuvB,KAAKpZ,EAAKV,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKlB,IAAQ,EAClCpV,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAKwY,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAKyY,IAAQ,GACvBnvB,KAAKuvB,KAAKrZ,EAAKgZ,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKiZ,IAAQ,EAKlC,IAAIe,IAASr7B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAK9Y,EAAK2Y,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK9Y,EAAK4Y,IAAQ,GACvBrvB,KAAKuvB,KAAKtZ,EAAKmZ,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKtZ,EAAKoZ,IAAQ,IAErBlB,IAAQ,IAAO,IAAM+B,KAAQ,IAAO,EACjDA,IAAO,SAEPrwB,EAAKG,KAAKuvB,KAAKP,EAAK3Z,GAEpB8Y,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKna,IACR7U,KAAKuvB,KAAKN,EAAK5Z,GAAQ,EACpCzV,EAAKI,KAAKuvB,KAAKN,EAAKpa,GACpBhV,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKvZ,GAAQ,EAElC6Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAK/Z,IAAQ,GACvB9U,KAAKuvB,KAAKT,EAAKxZ,GAAQ,EACpC1V,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAKha,IAAQ,EAClCjV,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAKvB,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAK/B,IAAQ,GACvB/U,KAAKuvB,KAAKjZ,EAAKf,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAKvB,IAAQ,EAClClV,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKrB,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAK7B,IAAQ,GACvBhV,KAAKuvB,KAAKlZ,EAAKb,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAKrB,IAAQ,EAClCnV,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKnB,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAK3B,IAAQ,GACvBjV,KAAKuvB,KAAKnZ,EAAKX,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKnB,IAAQ,EAClCpV,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKuY,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAKwY,IAAQ,GACvBnvB,KAAKuvB,KAAKpZ,EAAK+Y,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKgZ,IAAQ,EAKlC,IAAIgB,IAASt7B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAK7Y,EAAK0Y,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK7Y,EAAK2Y,IAAQ,GACvBrvB,KAAKuvB,KAAKrZ,EAAKkZ,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKrZ,EAAKmZ,IAAQ,IAErBlB,IAAQ,IAAO,IAAMgC,KAAQ,IAAO,EACjDA,IAAO,SAEPtwB,EAAKG,KAAKuvB,KAAKP,EAAK1Z,GAEpB6Y,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKla,KACR9U,KAAKuvB,KAAKN,EAAK3Z,GAAQ,EACpC1V,EAAKI,KAAKuvB,KAAKN,EAAKna,IACpBjV,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKtZ,IAAQ,EAElC4Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAK9Z,IAAQ,GACvB/U,KAAKuvB,KAAKT,EAAKvZ,IAAQ,EACpC3V,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAK/Z,IAAQ,EAClClV,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAKtB,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAK9B,IAAQ,GACvBhV,KAAKuvB,KAAKjZ,EAAKd,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAKtB,IAAQ,EAClCnV,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKpB,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAK5B,IAAQ,GACvBjV,KAAKuvB,KAAKlZ,EAAKZ,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAKpB,IAAQ,EAClCpV,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKsY,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAKuY,IAAQ,GACvBnvB,KAAKuvB,KAAKnZ,EAAK8Y,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAK+Y,IAAQ,EAKlC,IAAIiB,IAASv7B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAK5Y,EAAKyY,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK5Y,EAAK0Y,IAAQ,GACvBrvB,KAAKuvB,KAAKpZ,EAAKiZ,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKpZ,EAAKkZ,IAAQ,IAErBlB,IAAQ,IAAO,IAAMiC,KAAQ,IAAO,EACjDA,IAAO,SAEPvwB,EAAKG,KAAKuvB,KAAKP,EAAKzZ,IAEpB4Y,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKja,KACR/U,KAAKuvB,KAAKN,EAAK1Z,IAAQ,EACpC3V,EAAKI,KAAKuvB,KAAKN,EAAKla,IACpBlV,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKrZ,IAAQ,EAElC2Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAK7Z,IAAQ,GACvBhV,KAAKuvB,KAAKT,EAAKtZ,IAAQ,EACpC5V,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAK9Z,IAAQ,EAClCnV,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAKrB,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAK7B,IAAQ,GACvBjV,KAAKuvB,KAAKjZ,EAAKb,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAKrB,IAAQ,EAClCpV,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKqY,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAKsY,IAAQ,GACvBnvB,KAAKuvB,KAAKlZ,EAAK6Y,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAK8Y,IAAQ,EAKlC,IAAIkB,IAASx7B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAK3Y,EAAKwY,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK3Y,EAAKyY,IAAQ,GACvBrvB,KAAKuvB,KAAKnZ,EAAKgZ,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKnZ,EAAKiZ,IAAQ,IAErBlB,IAAQ,IAAO,IAAMkC,KAAQ,IAAO,EACjDA,IAAO,SAEPxwB,EAAKG,KAAKuvB,KAAKP,EAAKxZ,IAEpB2Y,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKha,KACRhV,KAAKuvB,KAAKN,EAAKzZ,IAAQ,EACpC5V,EAAKI,KAAKuvB,KAAKN,EAAKja,IACpBnV,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKpZ,IAAQ,EAElC0Y,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAK5Z,IAAQ,GACvBjV,KAAKuvB,KAAKT,EAAKrZ,IAAQ,EACpC7V,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAK7Z,IAAQ,EAClCpV,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAKoY,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAKqY,IAAQ,GACvBnvB,KAAKuvB,KAAKjZ,EAAK4Y,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAK6Y,IAAQ,EAKlC,IAAImB,IAASz7B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAK1Y,EAAKuY,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAK1Y,EAAKwY,IAAQ,GACvBrvB,KAAKuvB,KAAKlZ,EAAK+Y,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKlZ,EAAKgZ,IAAQ,IAErBlB,IAAQ,IAAO,IAAMmC,KAAQ,IAAO,EACjDA,IAAO,SAEPzwB,EAAKG,KAAKuvB,KAAKP,EAAKvZ,IAEpB0Y,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAK/Z,KACRjV,KAAKuvB,KAAKN,EAAKxZ,IAAQ,EACpC7V,EAAKI,KAAKuvB,KAAKN,EAAKha,IACpBpV,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKK,IAAQ,EAElCf,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAKM,IAAQ,GACvBnvB,KAAKuvB,KAAKT,EAAKI,IAAQ,EACpCtvB,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAKK,IAAQ,EAKlC,IAAIoB,IAAS17B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAKzY,EAAKsY,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKzY,EAAKuY,IAAQ,GACvBrvB,KAAKuvB,KAAKjZ,EAAK8Y,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKjZ,EAAK+Y,IAAQ,IAErBlB,IAAQ,IAAO,IAAMoC,KAAQ,IAAO,EACjDA,IAAO,SAEP1wB,EAAKG,KAAKuvB,KAAKP,EAAKE,IAEpBf,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKG,KACRnvB,KAAKuvB,KAAKN,EAAKC,IAAQ,EACpCtvB,EAAKI,KAAKuvB,KAAKN,EAAKE,IAKpB,IAAIqB,IAAS37B,GAJbgL,EAAMA,EAAKG,KAAKuvB,KAAKV,EAAKO,IAAQ,GAIX,KAAa,MAFpCjB,GADAA,EAAOA,EAAMnuB,KAAKuvB,KAAKV,EAAKQ,IAAQ,GACvBrvB,KAAKuvB,KAAKT,EAAKM,IAAQ,KAEW,IAAO,EACtDv6B,IAFA+K,EAAMA,EAAKI,KAAKuvB,KAAKT,EAAKO,IAAQ,IAErBlB,IAAQ,IAAO,IAAMqC,KAAQ,IAAO,EACjDA,IAAO,SAMP,IAAIC,IAAS57B,GAJbgL,EAAKG,KAAKuvB,KAAKP,EAAKI,KAIG,KAAa,MAFpCjB,GADAA,EAAMnuB,KAAKuvB,KAAKP,EAAKK,KACRrvB,KAAKuvB,KAAKN,EAAKG,IAAQ,KAEW,IAAO,EA0BtD,OAzBAv6B,IAFA+K,EAAKI,KAAKuvB,KAAKN,EAAKI,MAEPlB,IAAQ,IAAO,IAAMsC,KAAQ,IAAO,EACjDA,IAAO,SACPh8B,EAAE,GAAK66B,GACP76B,EAAE,GAAK+6B,GACP/6B,EAAE,GAAKg7B,GACPh7B,EAAE,GAAKi7B,GACPj7B,EAAE,GAAKk7B,GACPl7B,EAAE,GAAKm7B,GACPn7B,EAAE,GAAKo7B,GACPp7B,EAAE,GAAKq7B,GACPr7B,EAAE,GAAKs7B,GACPt7B,EAAE,GAAKu7B,GACPv7B,EAAE,IAAMw7B,GACRx7B,EAAE,IAAMy7B,GACRz7B,EAAE,IAAM07B,GACR17B,EAAE,IAAM27B,GACR37B,EAAE,IAAM47B,GACR57B,EAAE,IAAM67B,GACR77B,EAAE,IAAM87B,GACR97B,EAAE,IAAM+7B,GACR/7B,EAAE,IAAMg8B,GACE,IAAN57B,IACFJ,EAAE,IAAMI,EACRkO,EAAI3T,UAEC2T,GAiDT,SAAS2tB,EAAY9lC,EAAMytB,EAAKtV,GAE9B,OADW,IAAI4tB,GACHC,KAAKhmC,EAAMytB,EAAKtV,GAsB9B,SAAS4tB,EAAM17B,EAAGY,GAChBlJ,KAAKsI,EAAIA,EACTtI,KAAKkJ,EAAIA,EAvENmK,KAAKuvB,OACRrB,EAAcnD,GAiDhBpC,EAAGt/B,UAAUwnC,MAAQ,SAAgBxY,EAAKtV,GACxC,IAAI7C,EACA/D,EAAMxP,KAAKyC,OAASipB,EAAIjpB,OAW5B,OATE8Q,EADkB,KAAhBvT,KAAKyC,QAAgC,KAAfipB,EAAIjpB,OACtB8+B,EAAYvhC,KAAM0rB,EAAKtV,GACpB5G,EAAM,GACT4uB,EAAWp+B,KAAM0rB,EAAKtV,GACnB5G,EAAM,KArDnB,SAAmBvR,EAAMytB,EAAKtV,GAC5BA,EAAIgmB,SAAW1Q,EAAI0Q,SAAWn+B,EAAKm+B,SACnChmB,EAAI3T,OAASxE,EAAKwE,OAASipB,EAAIjpB,OAI/B,IAFA,IAAI0oB,EAAQ,EACRgZ,EAAU,EACL1mB,EAAI,EAAGA,EAAIrH,EAAI3T,OAAS,EAAGgb,IAAK,CAGvC,IAAI4gB,EAAS8F,EACbA,EAAU,EAGV,IAFA,IAAI7F,EAAgB,SAARnT,EACRoT,EAAOlrB,KAAKC,IAAImK,EAAGiO,EAAIjpB,OAAS,GAC3BiG,EAAI2K,KAAKoC,IAAI,EAAGgI,EAAIxf,EAAKwE,OAAS,GAAIiG,GAAK61B,EAAM71B,IAAK,CAC7D,IAAIhG,EAAI+a,EAAI/U,EAGRf,GAFoB,EAAhB1J,EAAKo+B,MAAM35B,KACI,EAAfgpB,EAAI2Q,MAAM3zB,IAGdwK,EAAS,SAAJvL,EAGT22B,EAAa,UADbprB,EAAMA,EAAKorB,EAAS,GAIpB6F,IAFA9F,GAHAA,EAAUA,GAAW12B,EAAI,SAAa,GAAM,IAGxBuL,IAAO,IAAO,KAEZ,GACtBmrB,GAAU,SAEZjoB,EAAIimB,MAAM5e,GAAK6gB,EACfnT,EAAQkT,EACRA,EAAS8F,EAQX,OANc,IAAVhZ,EACF/U,EAAIimB,MAAM5e,GAAK0N,EAEf/U,EAAI3T,SAGC2T,EAAI8mB,QAgBHkH,CAASpkC,KAAM0rB,EAAKtV,GAEpB2tB,EAAW/jC,KAAM0rB,EAAKtV,GAGvB7C,GAWTywB,EAAKtnC,UAAU2nC,QAAU,SAAkBvO,GAGzC,IAFA,IAAIpuB,EAAI,IAAI6F,MAAMuoB,GACd1tB,EAAI4zB,EAAGt/B,UAAU4iC,WAAWxJ,GAAK,EAC5BpzB,EAAI,EAAGA,EAAIozB,EAAGpzB,IACrBgF,EAAEhF,GAAK1C,KAAKskC,OAAO5hC,EAAG0F,EAAG0tB,GAG3B,OAAOpuB,GAITs8B,EAAKtnC,UAAU4nC,OAAS,SAAiBh8B,EAAGF,EAAG0tB,GAC7C,GAAU,IAANxtB,GAAWA,IAAMwtB,EAAI,EAAG,OAAOxtB,EAGnC,IADA,IAAIi8B,EAAK,EACA7hC,EAAI,EAAGA,EAAI0F,EAAG1F,IACrB6hC,IAAW,EAAJj8B,IAAWF,EAAI1F,EAAI,EAC1B4F,IAAM,EAGR,OAAOi8B,GAKTP,EAAKtnC,UAAU8nC,QAAU,SAAkBC,EAAKC,EAAKC,EAAKC,EAAMC,EAAM/O,GACpE,IAAK,IAAIpzB,EAAI,EAAGA,EAAIozB,EAAGpzB,IACrBkiC,EAAKliC,GAAKgiC,EAAID,EAAI/hC,IAClBmiC,EAAKniC,GAAKiiC,EAAIF,EAAI/hC,KAItBshC,EAAKtnC,UAAUooC,UAAY,SAAoBJ,EAAKC,EAAKC,EAAMC,EAAM/O,EAAG2O,GACtEzkC,KAAKwkC,QAAQC,EAAKC,EAAKC,EAAKC,EAAMC,EAAM/O,GAExC,IAAK,IAAIluB,EAAI,EAAGA,EAAIkuB,EAAGluB,IAAM,EAM3B,IALA,IAAIQ,EAAIR,GAAK,EAETm9B,EAAQ1xB,KAAK2xB,IAAI,EAAI3xB,KAAK4xB,GAAK78B,GAC/B88B,EAAQ7xB,KAAK8xB,IAAI,EAAI9xB,KAAK4xB,GAAK78B,GAE1BD,EAAI,EAAGA,EAAI2tB,EAAG3tB,GAAKC,EAI1B,IAHA,IAAIg9B,EAASL,EACTM,EAASH,EAEJx8B,EAAI,EAAGA,EAAId,EAAGc,IAAK,CAC1B,IAAI48B,EAAKV,EAAKz8B,EAAIO,GACd68B,EAAKV,EAAK18B,EAAIO,GAEd88B,EAAKZ,EAAKz8B,EAAIO,EAAId,GAClB69B,EAAKZ,EAAK18B,EAAIO,EAAId,GAElB89B,EAAKN,EAASI,EAAKH,EAASI,EAEhCA,EAAKL,EAASK,EAAKJ,EAASG,EAC5BA,EAAKE,EAELd,EAAKz8B,EAAIO,GAAK48B,EAAKE,EACnBX,EAAK18B,EAAIO,GAAK68B,EAAKE,EAEnBb,EAAKz8B,EAAIO,EAAId,GAAK09B,EAAKE,EACvBX,EAAK18B,EAAIO,EAAId,GAAK29B,EAAKE,EAGnB/8B,IAAMN,IACRs9B,EAAKX,EAAQK,EAASF,EAAQG,EAE9BA,EAASN,EAAQM,EAASH,EAAQE,EAClCA,EAASM,KAOnB1B,EAAKtnC,UAAUipC,YAAc,SAAsB59B,EAAGM,GACpD,IAAIytB,EAAqB,EAAjBziB,KAAKoC,IAAIpN,EAAGN,GAChB69B,EAAU,EAAJ9P,EACNpzB,EAAI,EACR,IAAKozB,EAAIA,EAAI,EAAI,EAAGA,EAAGA,KAAU,EAC/BpzB,IAGF,OAAO,GAAKA,EAAI,EAAIkjC,GAGtB5B,EAAKtnC,UAAUmpC,UAAY,SAAoBnB,EAAKC,EAAK7O,GACvD,KAAIA,GAAK,GAET,IAAK,IAAIpzB,EAAI,EAAGA,EAAIozB,EAAI,EAAGpzB,IAAK,CAC9B,IAAIgF,EAAIg9B,EAAIhiC,GAEZgiC,EAAIhiC,GAAKgiC,EAAI5O,EAAIpzB,EAAI,GACrBgiC,EAAI5O,EAAIpzB,EAAI,GAAKgF,EAEjBA,EAAIi9B,EAAIjiC,GAERiiC,EAAIjiC,IAAMiiC,EAAI7O,EAAIpzB,EAAI,GACtBiiC,EAAI7O,EAAIpzB,EAAI,IAAMgF,IAItBs8B,EAAKtnC,UAAUopC,aAAe,SAAuBC,EAAIjQ,GAEvD,IADA,IAAI3K,EAAQ,EACHzoB,EAAI,EAAGA,EAAIozB,EAAI,EAAGpzB,IAAK,CAC9B,IAAI26B,EAAoC,KAAhChqB,KAAK2yB,MAAMD,EAAG,EAAIrjC,EAAI,GAAKozB,GACjCziB,KAAK2yB,MAAMD,EAAG,EAAIrjC,GAAKozB,GACvB3K,EAEF4a,EAAGrjC,GAAS,SAAJ26B,EAGNlS,EADEkS,EAAI,SACE,EAEAA,EAAI,SAAY,EAI5B,OAAO0I,GAGT/B,EAAKtnC,UAAUupC,WAAa,SAAqBF,EAAIv2B,EAAKk1B,EAAK5O,GAE7D,IADA,IAAI3K,EAAQ,EACHzoB,EAAI,EAAGA,EAAI8M,EAAK9M,IACvByoB,GAAyB,EAAR4a,EAAGrjC,GAEpBgiC,EAAI,EAAIhiC,GAAa,KAARyoB,EAAgBA,KAAkB,GAC/CuZ,EAAI,EAAIhiC,EAAI,GAAa,KAARyoB,EAAgBA,KAAkB,GAIrD,IAAKzoB,EAAI,EAAI8M,EAAK9M,EAAIozB,IAAKpzB,EACzBgiC,EAAIhiC,GAAK,EAGXi5B,EAAiB,IAAVxQ,GACPwQ,EAA6B,MAAb,KAARxQ,KAGV6Y,EAAKtnC,UAAUwpC,KAAO,SAAepQ,GAEnC,IADA,IAAIqQ,EAAK,IAAI54B,MAAMuoB,GACVpzB,EAAI,EAAGA,EAAIozB,EAAGpzB,IACrByjC,EAAGzjC,GAAK,EAGV,OAAOyjC,GAGTnC,EAAKtnC,UAAUunC,KAAO,SAAe37B,EAAGY,EAAGkN,GACzC,IAAI0f,EAAI,EAAI91B,KAAK2lC,YAAYr9B,EAAE7F,OAAQyG,EAAEzG,QAErCgiC,EAAMzkC,KAAKqkC,QAAQvO,GAEnB9sB,EAAIhJ,KAAKkmC,KAAKpQ,GAEd4O,EAAM,IAAIn3B,MAAMuoB,GAChBsQ,EAAO,IAAI74B,MAAMuoB,GACjBuQ,EAAO,IAAI94B,MAAMuoB,GAEjBwQ,EAAO,IAAI/4B,MAAMuoB,GACjByQ,EAAQ,IAAIh5B,MAAMuoB,GAClB0Q,EAAQ,IAAIj5B,MAAMuoB,GAElB2Q,EAAOrwB,EAAIimB,MACfoK,EAAKhkC,OAASqzB,EAEd91B,KAAKimC,WAAW39B,EAAE+zB,MAAO/zB,EAAE7F,OAAQiiC,EAAK5O,GACxC91B,KAAKimC,WAAW/8B,EAAEmzB,MAAOnzB,EAAEzG,OAAQ6jC,EAAMxQ,GAEzC91B,KAAK8kC,UAAUJ,EAAK17B,EAAGo9B,EAAMC,EAAMvQ,EAAG2O,GACtCzkC,KAAK8kC,UAAUwB,EAAMt9B,EAAGu9B,EAAOC,EAAO1Q,EAAG2O,GAEzC,IAAK,IAAI/hC,EAAI,EAAGA,EAAIozB,EAAGpzB,IAAK,CAC1B,IAAIgjC,EAAKU,EAAK1jC,GAAK6jC,EAAM7jC,GAAK2jC,EAAK3jC,GAAK8jC,EAAM9jC,GAC9C2jC,EAAK3jC,GAAK0jC,EAAK1jC,GAAK8jC,EAAM9jC,GAAK2jC,EAAK3jC,GAAK6jC,EAAM7jC,GAC/C0jC,EAAK1jC,GAAKgjC,EAUZ,OAPA1lC,KAAK6lC,UAAUO,EAAMC,EAAMvQ,GAC3B91B,KAAK8kC,UAAUsB,EAAMC,EAAMI,EAAMz9B,EAAG8sB,EAAG2O,GACvCzkC,KAAK6lC,UAAUY,EAAMz9B,EAAG8sB,GACxB91B,KAAK8lC,aAAaW,EAAM3Q,GAExB1f,EAAIgmB,SAAW9zB,EAAE8zB,SAAWlzB,EAAEkzB,SAC9BhmB,EAAI3T,OAAS6F,EAAE7F,OAASyG,EAAEzG,OACnB2T,EAAI8mB,SAIblB,EAAGt/B,UAAU0a,IAAM,SAAcsU,GAC/B,IAAItV,EAAM,IAAI4lB,EAAG,MAEjB,OADA5lB,EAAIimB,MAAQ,IAAI9uB,MAAMvN,KAAKyC,OAASipB,EAAIjpB,QACjCzC,KAAKkkC,MAAMxY,EAAKtV,IAIzB4lB,EAAGt/B,UAAUgqC,KAAO,SAAehb,GACjC,IAAItV,EAAM,IAAI4lB,EAAG,MAEjB,OADA5lB,EAAIimB,MAAQ,IAAI9uB,MAAMvN,KAAKyC,OAASipB,EAAIjpB,QACjCshC,EAAW/jC,KAAM0rB,EAAKtV,IAI/B4lB,EAAGt/B,UAAUkmC,KAAO,SAAelX,GACjC,OAAO1rB,KAAK89B,QAAQoG,MAAMxY,EAAK1rB,OAGjCg8B,EAAGt/B,UAAUihC,MAAQ,SAAgBjS,GACnCiQ,EAAsB,kBAARjQ,GACdiQ,EAAOjQ,EAAM,UAIb,IADA,IAAIP,EAAQ,EACHzoB,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAAK,CACpC,IAAI26B,GAAqB,EAAhBr9B,KAAKq8B,MAAM35B,IAAUgpB,EAC1BxY,GAAU,SAAJmqB,IAA0B,SAARlS,GAC5BA,IAAU,GACVA,GAAUkS,EAAI,SAAa,EAE3BlS,GAASjY,IAAO,GAChBlT,KAAKq8B,MAAM35B,GAAU,SAALwQ,EAQlB,OALc,IAAViY,IACFnrB,KAAKq8B,MAAM35B,GAAKyoB,EAChBnrB,KAAKyC,UAGAzC,MAGTg8B,EAAGt/B,UAAUiqC,KAAO,SAAejb,GACjC,OAAO1rB,KAAK89B,QAAQH,MAAMjS,IAI5BsQ,EAAGt/B,UAAUkqC,IAAM,WACjB,OAAO5mC,KAAKoX,IAAIpX,OAIlBg8B,EAAGt/B,UAAUmqC,KAAO,WAClB,OAAO7mC,KAAK4iC,KAAK5iC,KAAK89B,UAIxB9B,EAAGt/B,UAAUib,IAAM,SAAc+T,GAC/B,IAAI2R,EAxxCN,SAAqB3R,GAGnB,IAFA,IAAI2R,EAAI,IAAI9vB,MAAMme,EAAI8T,aAEb2B,EAAM,EAAGA,EAAM9D,EAAE56B,OAAQ0+B,IAAO,CACvC,IAAIrP,EAAOqP,EAAM,GAAM,EACnBC,EAAOD,EAAM,GAEjB9D,EAAE8D,IAAQzV,EAAI2Q,MAAMvK,GAAQ,GAAKsP,KAAWA,EAG9C,OAAO/D,EA8wCCyJ,CAAWpb,GACnB,GAAiB,IAAb2R,EAAE56B,OAAc,OAAO,IAAIu5B,EAAG,GAIlC,IADA,IAAIzoB,EAAMvT,KACD0C,EAAI,EAAGA,EAAI26B,EAAE56B,QACP,IAAT46B,EAAE36B,GADsBA,IAAK6Q,EAAMA,EAAIqzB,OAI7C,KAAMlkC,EAAI26B,EAAE56B,OACV,IAAK,IAAI+F,EAAI+K,EAAIqzB,MAAOlkC,EAAI26B,EAAE56B,OAAQC,IAAK8F,EAAIA,EAAEo+B,MAClC,IAATvJ,EAAE36B,KAEN6Q,EAAMA,EAAI6D,IAAI5O,IAIlB,OAAO+K,GAITyoB,EAAGt/B,UAAUqqC,OAAS,SAAiBC,GACrCrL,EAAuB,kBAATqL,GAAqBA,GAAQ,GAC3C,IAGItkC,EAHAiF,EAAIq/B,EAAO,GACXp/B,GAAKo/B,EAAOr/B,GAAK,GACjBs/B,EAAa,WAAe,GAAKt/B,GAAQ,GAAKA,EAGlD,GAAU,IAANA,EAAS,CACX,IAAIwjB,EAAQ,EAEZ,IAAKzoB,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAAK,CAChC,IAAIwkC,EAAWlnC,KAAKq8B,MAAM35B,GAAKukC,EAC3B/+B,GAAsB,EAAhBlI,KAAKq8B,MAAM35B,IAAUwkC,GAAav/B,EAC5C3H,KAAKq8B,MAAM35B,GAAKwF,EAAIijB,EACpBA,EAAQ+b,IAAc,GAAKv/B,EAGzBwjB,IACFnrB,KAAKq8B,MAAM35B,GAAKyoB,EAChBnrB,KAAKyC,UAIT,GAAU,IAANmF,EAAS,CACX,IAAKlF,EAAI1C,KAAKyC,OAAS,EAAGC,GAAK,EAAGA,IAChC1C,KAAKq8B,MAAM35B,EAAIkF,GAAK5H,KAAKq8B,MAAM35B,GAGjC,IAAKA,EAAI,EAAGA,EAAIkF,EAAGlF,IACjB1C,KAAKq8B,MAAM35B,GAAK,EAGlB1C,KAAKyC,QAAUmF,EAGjB,OAAO5H,KAAKk9B,SAGdlB,EAAGt/B,UAAUyqC,MAAQ,SAAgBH,GAGnC,OADArL,EAAyB,IAAlB37B,KAAKo8B,UACLp8B,KAAK+mC,OAAOC,IAMrBhL,EAAGt/B,UAAU0iC,OAAS,SAAiB4H,EAAMI,EAAMC,GAEjD,IAAIv+B,EADJ6yB,EAAuB,kBAATqL,GAAqBA,GAAQ,GAGzCl+B,EADEs+B,GACGA,EAAQA,EAAO,IAAO,GAEvB,EAGN,IAAIz/B,EAAIq/B,EAAO,GACXp/B,EAAIyL,KAAKC,KAAK0zB,EAAOr/B,GAAK,GAAI3H,KAAKyC,QACnC6kB,EAAO,SAAc,WAAc3f,GAAMA,EACzC2/B,EAAcD,EAMlB,GAJAv+B,GAAKlB,EACLkB,EAAIuK,KAAKoC,IAAI,EAAG3M,GAGZw+B,EAAa,CACf,IAAK,IAAI5kC,EAAI,EAAGA,EAAIkF,EAAGlF,IACrB4kC,EAAYjL,MAAM35B,GAAK1C,KAAKq8B,MAAM35B,GAEpC4kC,EAAY7kC,OAASmF,EAGvB,GAAU,IAANA,QAEG,GAAI5H,KAAKyC,OAASmF,EAEvB,IADA5H,KAAKyC,QAAUmF,EACVlF,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAC3B1C,KAAKq8B,MAAM35B,GAAK1C,KAAKq8B,MAAM35B,EAAIkF,QAGjC5H,KAAKq8B,MAAM,GAAK,EAChBr8B,KAAKyC,OAAS,EAGhB,IAAI0oB,EAAQ,EACZ,IAAKzoB,EAAI1C,KAAKyC,OAAS,EAAGC,GAAK,IAAgB,IAAVyoB,GAAezoB,GAAKoG,GAAIpG,IAAK,CAChE,IAAIg7B,EAAuB,EAAhB19B,KAAKq8B,MAAM35B,GACtB1C,KAAKq8B,MAAM35B,GAAMyoB,GAAU,GAAKxjB,EAAO+1B,IAAS/1B,EAChDwjB,EAAQuS,EAAOpW,EAajB,OATIggB,GAAyB,IAAVnc,IACjBmc,EAAYjL,MAAMiL,EAAY7kC,UAAY0oB,GAGxB,IAAhBnrB,KAAKyC,SACPzC,KAAKq8B,MAAM,GAAK,EAChBr8B,KAAKyC,OAAS,GAGTzC,KAAKk9B,SAGdlB,EAAGt/B,UAAU6qC,MAAQ,SAAgBP,EAAMI,EAAMC,GAG/C,OADA1L,EAAyB,IAAlB37B,KAAKo8B,UACLp8B,KAAKo/B,OAAO4H,EAAMI,EAAMC,IAIjCrL,EAAGt/B,UAAU8qC,KAAO,SAAeR,GACjC,OAAOhnC,KAAK89B,QAAQqJ,MAAMH,IAG5BhL,EAAGt/B,UAAU+qC,MAAQ,SAAgBT,GACnC,OAAOhnC,KAAK89B,QAAQiJ,OAAOC,IAI7BhL,EAAGt/B,UAAUgrC,KAAO,SAAeV,GACjC,OAAOhnC,KAAK89B,QAAQyJ,MAAMP,IAG5BhL,EAAGt/B,UAAUirC,MAAQ,SAAgBX,GACnC,OAAOhnC,KAAK89B,QAAQsB,OAAO4H,IAI7BhL,EAAGt/B,UAAUqjC,MAAQ,SAAgBoB,GACnCxF,EAAsB,kBAARwF,GAAoBA,GAAO,GACzC,IAAIx5B,EAAIw5B,EAAM,GACVv5B,GAAKu5B,EAAMx5B,GAAK,GAChBa,EAAI,GAAKb,EAGb,QAAI3H,KAAKyC,QAAUmF,OAGX5H,KAAKq8B,MAAMz0B,GAELY,IAIhBwzB,EAAGt/B,UAAUkrC,OAAS,SAAiBZ,GACrCrL,EAAuB,kBAATqL,GAAqBA,GAAQ,GAC3C,IAAIr/B,EAAIq/B,EAAO,GACXp/B,GAAKo/B,EAAOr/B,GAAK,GAIrB,GAFAg0B,EAAyB,IAAlB37B,KAAKo8B,SAAgB,2CAExBp8B,KAAKyC,QAAUmF,EACjB,OAAO5H,KAQT,GALU,IAAN2H,GACFC,IAEF5H,KAAKyC,OAAS4Q,KAAKC,IAAI1L,EAAG5H,KAAKyC,QAErB,IAANkF,EAAS,CACX,IAAI2f,EAAO,SAAc,WAAc3f,GAAMA,EAC7C3H,KAAKq8B,MAAMr8B,KAAKyC,OAAS,IAAM6kB,EAGjC,OAAOtnB,KAAKk9B,SAIdlB,EAAGt/B,UAAUmrC,MAAQ,SAAgBb,GACnC,OAAOhnC,KAAK89B,QAAQ8J,OAAOZ,IAI7BhL,EAAGt/B,UAAUmjC,MAAQ,SAAgBnU,GAGnC,OAFAiQ,EAAsB,kBAARjQ,GACdiQ,EAAOjQ,EAAM,UACTA,EAAM,EAAU1rB,KAAK8nC,OAAOpc,GAGV,IAAlB1rB,KAAKo8B,SACa,IAAhBp8B,KAAKyC,SAAiC,EAAhBzC,KAAKq8B,MAAM,IAAU3Q,GAC7C1rB,KAAKq8B,MAAM,GAAK3Q,GAAuB,EAAhB1rB,KAAKq8B,MAAM,IAClCr8B,KAAKo8B,SAAW,EACTp8B,OAGTA,KAAKo8B,SAAW,EAChBp8B,KAAK8nC,MAAMpc,GACX1rB,KAAKo8B,SAAW,EACTp8B,MAIFA,KAAK49B,OAAOlS,IAGrBsQ,EAAGt/B,UAAUkhC,OAAS,SAAiBlS,GACrC1rB,KAAKq8B,MAAM,IAAM3Q,EAGjB,IAAK,IAAIhpB,EAAI,EAAGA,EAAI1C,KAAKyC,QAAUzC,KAAKq8B,MAAM35B,IAAM,SAAWA,IAC7D1C,KAAKq8B,MAAM35B,IAAM,SACbA,IAAM1C,KAAKyC,OAAS,EACtBzC,KAAKq8B,MAAM35B,EAAI,GAAK,EAEpB1C,KAAKq8B,MAAM35B,EAAI,KAKnB,OAFA1C,KAAKyC,OAAS4Q,KAAKoC,IAAIzV,KAAKyC,OAAQC,EAAI,GAEjC1C,MAITg8B,EAAGt/B,UAAUorC,MAAQ,SAAgBpc,GAGnC,GAFAiQ,EAAsB,kBAARjQ,GACdiQ,EAAOjQ,EAAM,UACTA,EAAM,EAAG,OAAO1rB,KAAK6/B,OAAOnU,GAEhC,GAAsB,IAAlB1rB,KAAKo8B,SAIP,OAHAp8B,KAAKo8B,SAAW,EAChBp8B,KAAK6/B,MAAMnU,GACX1rB,KAAKo8B,SAAW,EACTp8B,KAKT,GAFAA,KAAKq8B,MAAM,IAAM3Q,EAEG,IAAhB1rB,KAAKyC,QAAgBzC,KAAKq8B,MAAM,GAAK,EACvCr8B,KAAKq8B,MAAM,IAAMr8B,KAAKq8B,MAAM,GAC5Br8B,KAAKo8B,SAAW,OAGhB,IAAK,IAAI15B,EAAI,EAAGA,EAAI1C,KAAKyC,QAAUzC,KAAKq8B,MAAM35B,GAAK,EAAGA,IACpD1C,KAAKq8B,MAAM35B,IAAM,SACjB1C,KAAKq8B,MAAM35B,EAAI,IAAM,EAIzB,OAAO1C,KAAKk9B,SAGdlB,EAAGt/B,UAAUqrC,KAAO,SAAerc,GACjC,OAAO1rB,KAAK89B,QAAQ+B,MAAMnU,IAG5BsQ,EAAGt/B,UAAUsrC,KAAO,SAAetc,GACjC,OAAO1rB,KAAK89B,QAAQgK,MAAMpc,IAG5BsQ,EAAGt/B,UAAUurC,KAAO,WAGlB,OAFAjoC,KAAKo8B,SAAW,EAETp8B,MAGTg8B,EAAGt/B,UAAUijC,IAAM,WACjB,OAAO3/B,KAAK89B,QAAQmK,QAGtBjM,EAAGt/B,UAAUwrC,aAAe,SAAuBxc,EAAKtU,EAAK+wB,GAC3D,IACIzlC,EAIA26B,EALA7tB,EAAMkc,EAAIjpB,OAAS0lC,EAGvBnoC,KAAK+9B,QAAQvuB,GAGb,IAAI2b,EAAQ,EACZ,IAAKzoB,EAAI,EAAGA,EAAIgpB,EAAIjpB,OAAQC,IAAK,CAC/B26B,GAA6B,EAAxBr9B,KAAKq8B,MAAM35B,EAAIylC,IAAchd,EAClC,IAAIyR,GAAwB,EAAflR,EAAI2Q,MAAM35B,IAAU0U,EAEjC+T,IADAkS,GAAa,SAART,IACS,KAAQA,EAAQ,SAAa,GAC3C58B,KAAKq8B,MAAM35B,EAAIylC,GAAa,SAAJ9K,EAE1B,KAAO36B,EAAI1C,KAAKyC,OAAS0lC,EAAOzlC,IAE9ByoB,GADAkS,GAA6B,EAAxBr9B,KAAKq8B,MAAM35B,EAAIylC,IAAchd,IACrB,GACbnrB,KAAKq8B,MAAM35B,EAAIylC,GAAa,SAAJ9K,EAG1B,GAAc,IAAVlS,EAAa,OAAOnrB,KAAKk9B,QAK7B,IAFAvB,GAAkB,IAAXxQ,GACPA,EAAQ,EACHzoB,EAAI,EAAGA,EAAI1C,KAAKyC,OAAQC,IAE3ByoB,GADAkS,IAAsB,EAAhBr9B,KAAKq8B,MAAM35B,IAAUyoB,IACd,GACbnrB,KAAKq8B,MAAM35B,GAAS,SAAJ26B,EAIlB,OAFAr9B,KAAKo8B,SAAW,EAETp8B,KAAKk9B,SAGdlB,EAAGt/B,UAAU0rC,SAAW,SAAmB1c,EAAK2c,GAC9C,IAAIF,GAAQnoC,KAAKyC,OAASipB,EAAIjpB,QAE1BoF,EAAI7H,KAAK89B,QACTv1B,EAAImjB,EAGJ4c,EAA8B,EAAxB//B,EAAE8zB,MAAM9zB,EAAE9F,OAAS,GAGf,KADd0lC,EAAQ,GADMnoC,KAAKs/B,WAAWgJ,MAG5B//B,EAAIA,EAAEk/B,MAAMU,GACZtgC,EAAEk/B,OAAOoB,GACTG,EAA8B,EAAxB//B,EAAE8zB,MAAM9zB,EAAE9F,OAAS,IAI3B,IACI+F,EADAH,EAAIR,EAAEpF,OAAS8F,EAAE9F,OAGrB,GAAa,QAAT4lC,EAAgB,EAClB7/B,EAAI,IAAIwzB,EAAG,OACTv5B,OAAS4F,EAAI,EACfG,EAAE6zB,MAAQ,IAAI9uB,MAAM/E,EAAE/F,QACtB,IAAK,IAAIC,EAAI,EAAGA,EAAI8F,EAAE/F,OAAQC,IAC5B8F,EAAE6zB,MAAM35B,GAAK,EAIjB,IAAI6lC,EAAO1gC,EAAEi2B,QAAQoK,aAAa3/B,EAAG,EAAGF,GAClB,IAAlBkgC,EAAKnM,WACPv0B,EAAI0gC,EACA//B,IACFA,EAAE6zB,MAAMh0B,GAAK,IAIjB,IAAK,IAAIK,EAAIL,EAAI,EAAGK,GAAK,EAAGA,IAAK,CAC/B,IAAI8/B,EAAmC,UAAL,EAAxB3gC,EAAEw0B,MAAM9zB,EAAE9F,OAASiG,KACE,EAA5Bb,EAAEw0B,MAAM9zB,EAAE9F,OAASiG,EAAI,IAO1B,IAHA8/B,EAAKn1B,KAAKC,IAAKk1B,EAAKF,EAAO,EAAG,UAE9BzgC,EAAEqgC,aAAa3/B,EAAGigC,EAAI9/B,GACA,IAAfb,EAAEu0B,UACPoM,IACA3gC,EAAEu0B,SAAW,EACbv0B,EAAEqgC,aAAa3/B,EAAG,EAAGG,GAChBb,EAAE82B,WACL92B,EAAEu0B,UAAY,GAGd5zB,IACFA,EAAE6zB,MAAM3zB,GAAK8/B,GAajB,OAVIhgC,GACFA,EAAE00B,QAEJr1B,EAAEq1B,QAGW,QAATmL,GAA4B,IAAVF,GACpBtgC,EAAEu3B,OAAO+I,GAGJ,CACLM,IAAKjgC,GAAK,KACVi1B,IAAK51B,IAQTm0B,EAAGt/B,UAAUgsC,OAAS,SAAiBhd,EAAK2c,EAAMM,GAGhD,OAFAhN,GAAQjQ,EAAIiT,UAER3+B,KAAK2+B,SACA,CACL8J,IAAK,IAAIzM,EAAG,GACZyB,IAAK,IAAIzB,EAAG,IAKM,IAAlBh8B,KAAKo8B,UAAmC,IAAjB1Q,EAAI0Q,UAC7B7oB,EAAMvT,KAAKmgC,MAAMuI,OAAOhd,EAAK2c,GAEhB,QAATA,IACFI,EAAMl1B,EAAIk1B,IAAItI,OAGH,QAATkI,IACF5K,EAAMlqB,EAAIkqB,IAAI0C,MACVwI,GAA6B,IAAjBlL,EAAIrB,UAClBqB,EAAI4D,KAAK3V,IAIN,CACL+c,IAAKA,EACLhL,IAAKA,IAIa,IAAlBz9B,KAAKo8B,UAAmC,IAAjB1Q,EAAI0Q,UAC7B7oB,EAAMvT,KAAK0oC,OAAOhd,EAAIyU,MAAOkI,GAEhB,QAATA,IACFI,EAAMl1B,EAAIk1B,IAAItI,OAGT,CACLsI,IAAKA,EACLhL,IAAKlqB,EAAIkqB,MAI0B,KAAlCz9B,KAAKo8B,SAAW1Q,EAAI0Q,WACvB7oB,EAAMvT,KAAKmgC,MAAMuI,OAAOhd,EAAIyU,MAAOkI,GAEtB,QAATA,IACF5K,EAAMlqB,EAAIkqB,IAAI0C,MACVwI,GAA6B,IAAjBlL,EAAIrB,UAClBqB,EAAI6D,KAAK5V,IAIN,CACL+c,IAAKl1B,EAAIk1B,IACThL,IAAKA,IAOL/R,EAAIjpB,OAASzC,KAAKyC,QAAUzC,KAAK68B,IAAInR,GAAO,EACvC,CACL+c,IAAK,IAAIzM,EAAG,GACZyB,IAAKz9B,MAKU,IAAf0rB,EAAIjpB,OACO,QAAT4lC,EACK,CACLI,IAAKzoC,KAAK4oC,KAAKld,EAAI2Q,MAAM,IACzBoB,IAAK,MAII,QAAT4K,EACK,CACLI,IAAK,KACLhL,IAAK,IAAIzB,EAAGh8B,KAAK4+B,KAAKlT,EAAI2Q,MAAM,MAI7B,CACLoM,IAAKzoC,KAAK4oC,KAAKld,EAAI2Q,MAAM,IACzBoB,IAAK,IAAIzB,EAAGh8B,KAAK4+B,KAAKlT,EAAI2Q,MAAM,MAI7Br8B,KAAKooC,SAAS1c,EAAK2c,GAlF1B,IAAII,EAAKhL,EAAKlqB,GAsFhByoB,EAAGt/B,UAAU+rC,IAAM,SAAc/c,GAC/B,OAAO1rB,KAAK0oC,OAAOhd,EAAK,OAAO,GAAO+c,KAIxCzM,EAAGt/B,UAAU+gC,IAAM,SAAc/R,GAC/B,OAAO1rB,KAAK0oC,OAAOhd,EAAK,OAAO,GAAO+R,KAGxCzB,EAAGt/B,UAAUmsC,KAAO,SAAend,GACjC,OAAO1rB,KAAK0oC,OAAOhd,EAAK,OAAO,GAAM+R,KAIvCzB,EAAGt/B,UAAUosC,SAAW,SAAmBpd,GACzC,IAAIqd,EAAK/oC,KAAK0oC,OAAOhd,GAGrB,GAAIqd,EAAGtL,IAAIkB,SAAU,OAAOoK,EAAGN,IAE/B,IAAIhL,EAA0B,IAApBsL,EAAGN,IAAIrM,SAAiB2M,EAAGtL,IAAI6D,KAAK5V,GAAOqd,EAAGtL,IAEpDuL,EAAOtd,EAAIic,MAAM,GACjB/gB,EAAK8E,EAAIyT,MAAM,GACftC,EAAMY,EAAIZ,IAAImM,GAGlB,OAAInM,EAAM,GAAY,IAAPjW,GAAoB,IAARiW,EAAkBkM,EAAGN,IAGrB,IAApBM,EAAGN,IAAIrM,SAAiB2M,EAAGN,IAAIX,MAAM,GAAKiB,EAAGN,IAAI5I,MAAM,IAGhE7D,EAAGt/B,UAAUkiC,KAAO,SAAelT,GACjCiQ,EAAOjQ,GAAO,UAId,IAHA,IAAIvjB,GAAK,GAAK,IAAMujB,EAEhBud,EAAM,EACDvmC,EAAI1C,KAAKyC,OAAS,EAAGC,GAAK,EAAGA,IACpCumC,GAAO9gC,EAAI8gC,GAAuB,EAAhBjpC,KAAKq8B,MAAM35B,KAAWgpB,EAG1C,OAAOud,GAITjN,EAAGt/B,UAAUmiC,MAAQ,SAAgBnT,GACnCiQ,EAAOjQ,GAAO,UAGd,IADA,IAAIP,EAAQ,EACHzoB,EAAI1C,KAAKyC,OAAS,EAAGC,GAAK,EAAGA,IAAK,CACzC,IAAI26B,GAAqB,EAAhBr9B,KAAKq8B,MAAM35B,IAAkB,SAARyoB,EAC9BnrB,KAAKq8B,MAAM35B,GAAM26B,EAAI3R,EAAO,EAC5BP,EAAQkS,EAAI3R,EAGd,OAAO1rB,KAAKk9B,SAGdlB,EAAGt/B,UAAUksC,KAAO,SAAeld,GACjC,OAAO1rB,KAAK89B,QAAQe,MAAMnT,IAG5BsQ,EAAGt/B,UAAUwsC,KAAO,SAAe/gC,GACjCwzB,EAAsB,IAAfxzB,EAAEi0B,UACTT,GAAQxzB,EAAEw2B,UAEV,IAAIr2B,EAAItI,KACJkJ,EAAIf,EAAE21B,QAGRx1B,EADiB,IAAfA,EAAE8zB,SACA9zB,EAAEugC,KAAK1gC,GAEPG,EAAEw1B,QAaR,IATA,IAAI7b,EAAI,IAAI+Z,EAAG,GACXmN,EAAI,IAAInN,EAAG,GAGXnzB,EAAI,IAAImzB,EAAG,GACX/yB,EAAI,IAAI+yB,EAAG,GAEXzU,EAAI,EAEDjf,EAAE8gC,UAAYlgC,EAAEkgC,UACrB9gC,EAAE82B,OAAO,GACTl2B,EAAEk2B,OAAO,KACP7X,EAMJ,IAHA,IAAI8hB,EAAKngC,EAAE40B,QACPwL,EAAKhhC,EAAEw1B,SAEHx1B,EAAEq2B,UAAU,CAClB,IAAK,IAAIj8B,EAAI,EAAG6mC,EAAK,EAAyB,KAArBjhC,EAAE+zB,MAAM,GAAKkN,IAAa7mC,EAAI,KAAMA,EAAG6mC,IAAO,GACvE,GAAI7mC,EAAI,EAEN,IADA4F,EAAE82B,OAAO18B,GACFA,KAAM,IACPuf,EAAEunB,SAAWL,EAAEK,WACjBvnB,EAAEof,KAAKgI,GACPF,EAAE7H,KAAKgI,IAGTrnB,EAAEmd,OAAO,GACT+J,EAAE/J,OAAO,GAIb,IAAK,IAAI12B,EAAI,EAAG+gC,EAAK,EAAyB,KAArBvgC,EAAEmzB,MAAM,GAAKoN,IAAa/gC,EAAI,KAAMA,EAAG+gC,IAAO,GACvE,GAAI/gC,EAAI,EAEN,IADAQ,EAAEk2B,OAAO12B,GACFA,KAAM,IACPG,EAAE2gC,SAAWvgC,EAAEugC,WACjB3gC,EAAEw4B,KAAKgI,GACPpgC,EAAEq4B,KAAKgI,IAGTzgC,EAAEu2B,OAAO,GACTn2B,EAAEm2B,OAAO,GAIT92B,EAAEu0B,IAAI3zB,IAAM,GACdZ,EAAEg5B,KAAKp4B,GACP+Y,EAAEqf,KAAKz4B,GACPsgC,EAAE7H,KAAKr4B,KAEPC,EAAEo4B,KAAKh5B,GACPO,EAAEy4B,KAAKrf,GACPhZ,EAAEq4B,KAAK6H,IAIX,MAAO,CACLthC,EAAGgB,EACHN,EAAGU,EACHygC,IAAKxgC,EAAE69B,OAAOxf,KAOlByU,EAAGt/B,UAAUitC,OAAS,SAAiBxhC,GACrCwzB,EAAsB,IAAfxzB,EAAEi0B,UACTT,GAAQxzB,EAAEw2B,UAEV,IAAI92B,EAAI7H,KACJuI,EAAIJ,EAAE21B,QAGRj2B,EADiB,IAAfA,EAAEu0B,SACAv0B,EAAEghC,KAAK1gC,GAEPN,EAAEi2B,QAQR,IALA,IAuCIvqB,EAvCAoL,EAAK,IAAIqd,EAAG,GACZpd,EAAK,IAAIod,EAAG,GAEZ4N,EAAQrhC,EAAEu1B,QAEPj2B,EAAEgiC,KAAK,GAAK,GAAKthC,EAAEshC,KAAK,GAAK,GAAG,CACrC,IAAK,IAAInnC,EAAI,EAAG6mC,EAAK,EAAyB,KAArB1hC,EAAEw0B,MAAM,GAAKkN,IAAa7mC,EAAI,KAAMA,EAAG6mC,IAAO,GACvE,GAAI7mC,EAAI,EAEN,IADAmF,EAAEu3B,OAAO18B,GACFA,KAAM,GACPic,EAAG6qB,SACL7qB,EAAG0iB,KAAKuI,GAGVjrB,EAAGygB,OAAO,GAId,IAAK,IAAI12B,EAAI,EAAG+gC,EAAK,EAAyB,KAArBlhC,EAAE8zB,MAAM,GAAKoN,IAAa/gC,EAAI,KAAMA,EAAG+gC,IAAO,GACvE,GAAI/gC,EAAI,EAEN,IADAH,EAAE62B,OAAO12B,GACFA,KAAM,GACPkW,EAAG4qB,SACL5qB,EAAGyiB,KAAKuI,GAGVhrB,EAAGwgB,OAAO,GAIVv3B,EAAEg1B,IAAIt0B,IAAM,GACdV,EAAEy5B,KAAK/4B,GACPoW,EAAG2iB,KAAK1iB,KAERrW,EAAE+4B,KAAKz5B,GACP+W,EAAG0iB,KAAK3iB,IAeZ,OATEpL,EADgB,IAAd1L,EAAEgiC,KAAK,GACHlrB,EAEAC,GAGAirB,KAAK,GAAK,GAChBt2B,EAAI8tB,KAAKl5B,GAGJoL,GAGTyoB,EAAGt/B,UAAUgtC,IAAM,SAAche,GAC/B,GAAI1rB,KAAK2+B,SAAU,OAAOjT,EAAIiU,MAC9B,GAAIjU,EAAIiT,SAAU,OAAO3+B,KAAK2/B,MAE9B,IAAI93B,EAAI7H,KAAK89B,QACTv1B,EAAImjB,EAAIoS,QACZj2B,EAAEu0B,SAAW,EACb7zB,EAAE6zB,SAAW,EAGb,IAAK,IAAI+L,EAAQ,EAAGtgC,EAAEuhC,UAAY7gC,EAAE6gC,SAAUjB,IAC5CtgC,EAAEu3B,OAAO,GACT72B,EAAE62B,OAAO,GAGX,OAAG,CACD,KAAOv3B,EAAEuhC,UACPvhC,EAAEu3B,OAAO,GAEX,KAAO72B,EAAE6gC,UACP7gC,EAAE62B,OAAO,GAGX,IAAIz3B,EAAIE,EAAEg1B,IAAIt0B,GACd,GAAIZ,EAAI,EAAG,CAET,IAAID,EAAIG,EACRA,EAAIU,EACJA,EAAIb,OACC,GAAU,IAANC,GAAyB,IAAdY,EAAEshC,KAAK,GAC3B,MAGFhiC,EAAEy5B,KAAK/4B,GAGT,OAAOA,EAAEw+B,OAAOoB,IAIlBnM,EAAGt/B,UAAUotC,KAAO,SAAepe,GACjC,OAAO1rB,KAAKkpC,KAAKxd,GAAK7jB,EAAEghC,KAAKnd,IAG/BsQ,EAAGt/B,UAAU0sC,OAAS,WACpB,OAA+B,KAAP,EAAhBppC,KAAKq8B,MAAM,KAGrBL,EAAGt/B,UAAU8sC,MAAQ,WACnB,OAA+B,KAAP,EAAhBxpC,KAAKq8B,MAAM,KAIrBL,EAAGt/B,UAAUyiC,MAAQ,SAAgBzT,GACnC,OAAO1rB,KAAKq8B,MAAM,GAAK3Q,GAIzBsQ,EAAGt/B,UAAUqtC,MAAQ,SAAgB5I,GACnCxF,EAAsB,kBAARwF,GACd,IAAIx5B,EAAIw5B,EAAM,GACVv5B,GAAKu5B,EAAMx5B,GAAK,GAChBa,EAAI,GAAKb,EAGb,GAAI3H,KAAKyC,QAAUmF,EAGjB,OAFA5H,KAAK+9B,QAAQn2B,EAAI,GACjB5H,KAAKq8B,MAAMz0B,IAAMY,EACVxI,KAKT,IADA,IAAImrB,EAAQ3iB,EACH9F,EAAIkF,EAAa,IAAVujB,GAAezoB,EAAI1C,KAAKyC,OAAQC,IAAK,CACnD,IAAI26B,EAAoB,EAAhBr9B,KAAKq8B,MAAM35B,GAEnByoB,GADAkS,GAAKlS,KACS,GACdkS,GAAK,SACLr9B,KAAKq8B,MAAM35B,GAAK26B,EAMlB,OAJc,IAAVlS,IACFnrB,KAAKq8B,MAAM35B,GAAKyoB,EAChBnrB,KAAKyC,UAEAzC,MAGTg8B,EAAGt/B,UAAUiiC,OAAS,WACpB,OAAuB,IAAhB3+B,KAAKyC,QAAkC,IAAlBzC,KAAKq8B,MAAM,IAGzCL,EAAGt/B,UAAUmtC,KAAO,SAAene,GACjC,IAOInY,EAPA6oB,EAAW1Q,EAAM,EAErB,GAAsB,IAAlB1rB,KAAKo8B,WAAmBA,EAAU,OAAQ,EAC9C,GAAsB,IAAlBp8B,KAAKo8B,UAAkBA,EAAU,OAAO,EAK5C,GAHAp8B,KAAKk9B,QAGDl9B,KAAKyC,OAAS,EAChB8Q,EAAM,MACD,CACD6oB,IACF1Q,GAAOA,GAGTiQ,EAAOjQ,GAAO,SAAW,qBAEzB,IAAI2R,EAAoB,EAAhBr9B,KAAKq8B,MAAM,GACnB9oB,EAAM8pB,IAAM3R,EAAM,EAAI2R,EAAI3R,GAAO,EAAI,EAEvC,OAAsB,IAAlB1rB,KAAKo8B,SAA8B,GAAN7oB,EAC1BA,GAOTyoB,EAAGt/B,UAAUmgC,IAAM,SAAcnR,GAC/B,GAAsB,IAAlB1rB,KAAKo8B,UAAmC,IAAjB1Q,EAAI0Q,SAAgB,OAAQ,EACvD,GAAsB,IAAlBp8B,KAAKo8B,UAAmC,IAAjB1Q,EAAI0Q,SAAgB,OAAO,EAEtD,IAAI7oB,EAAMvT,KAAKgqC,KAAKte,GACpB,OAAsB,IAAlB1rB,KAAKo8B,SAA8B,GAAN7oB,EAC1BA,GAITyoB,EAAGt/B,UAAUstC,KAAO,SAAete,GAEjC,GAAI1rB,KAAKyC,OAASipB,EAAIjpB,OAAQ,OAAO,EACrC,GAAIzC,KAAKyC,OAASipB,EAAIjpB,OAAQ,OAAQ,EAGtC,IADA,IAAI8Q,EAAM,EACD7Q,EAAI1C,KAAKyC,OAAS,EAAGC,GAAK,EAAGA,IAAK,CACzC,IAAImF,EAAoB,EAAhB7H,KAAKq8B,MAAM35B,GACf6F,EAAmB,EAAfmjB,EAAI2Q,MAAM35B,GAElB,GAAImF,IAAMU,EAAV,CACIV,EAAIU,EACNgL,GAAO,EACE1L,EAAIU,IACbgL,EAAM,GAER,OAEF,OAAOA,GAGTyoB,EAAGt/B,UAAUutC,IAAM,SAAcve,GAC/B,OAA0B,IAAnB1rB,KAAK6pC,KAAKne,IAGnBsQ,EAAGt/B,UAAUwtC,GAAK,SAAaxe,GAC7B,OAAyB,IAAlB1rB,KAAK68B,IAAInR,IAGlBsQ,EAAGt/B,UAAUytC,KAAO,SAAeze,GACjC,OAAO1rB,KAAK6pC,KAAKne,IAAQ,GAG3BsQ,EAAGt/B,UAAU0tC,IAAM,SAAc1e,GAC/B,OAAO1rB,KAAK68B,IAAInR,IAAQ,GAG1BsQ,EAAGt/B,UAAU2tC,IAAM,SAAc3e,GAC/B,OAA2B,IAApB1rB,KAAK6pC,KAAKne,IAGnBsQ,EAAGt/B,UAAU4tC,GAAK,SAAa5e,GAC7B,OAA0B,IAAnB1rB,KAAK68B,IAAInR,IAGlBsQ,EAAGt/B,UAAU6tC,KAAO,SAAe7e,GACjC,OAAO1rB,KAAK6pC,KAAKne,IAAQ,GAG3BsQ,EAAGt/B,UAAU8tC,IAAM,SAAc9e,GAC/B,OAAO1rB,KAAK68B,IAAInR,IAAQ,GAG1BsQ,EAAGt/B,UAAU+tC,IAAM,SAAc/e,GAC/B,OAA0B,IAAnB1rB,KAAK6pC,KAAKne,IAGnBsQ,EAAGt/B,UAAUguC,GAAK,SAAahf,GAC7B,OAAyB,IAAlB1rB,KAAK68B,IAAInR,IAOlBsQ,EAAGM,IAAM,SAAc5Q,GACrB,OAAO,IAAIif,EAAIjf,IAGjBsQ,EAAGt/B,UAAUkuC,MAAQ,SAAgBC,GAGnC,OAFAlP,GAAQ37B,KAAKs8B,IAAK,yCAClBX,EAAyB,IAAlB37B,KAAKo8B,SAAgB,iCACrByO,EAAIC,UAAU9qC,MAAM+qC,UAAUF,IAGvC7O,EAAGt/B,UAAUsuC,QAAU,WAErB,OADArP,EAAO37B,KAAKs8B,IAAK,wDACVt8B,KAAKs8B,IAAI2O,YAAYjrC,OAG9Bg8B,EAAGt/B,UAAUquC,UAAY,SAAoBF,GAE3C,OADA7qC,KAAKs8B,IAAMuO,EACJ7qC,MAGTg8B,EAAGt/B,UAAUwuC,SAAW,SAAmBL,GAEzC,OADAlP,GAAQ37B,KAAKs8B,IAAK,yCACXt8B,KAAK+qC,UAAUF,IAGxB7O,EAAGt/B,UAAUyuC,OAAS,SAAiBzf,GAErC,OADAiQ,EAAO37B,KAAKs8B,IAAK,sCACVt8B,KAAKs8B,IAAIjS,IAAIrqB,KAAM0rB,IAG5BsQ,EAAGt/B,UAAU0uC,QAAU,SAAkB1f,GAEvC,OADAiQ,EAAO37B,KAAKs8B,IAAK,uCACVt8B,KAAKs8B,IAAI+E,KAAKrhC,KAAM0rB,IAG7BsQ,EAAGt/B,UAAU2uC,OAAS,SAAiB3f,GAErC,OADAiQ,EAAO37B,KAAKs8B,IAAK,sCACVt8B,KAAKs8B,IAAItjB,IAAIhZ,KAAM0rB,IAG5BsQ,EAAGt/B,UAAU4uC,QAAU,SAAkB5f,GAEvC,OADAiQ,EAAO37B,KAAKs8B,IAAK,uCACVt8B,KAAKs8B,IAAIgF,KAAKthC,KAAM0rB,IAG7BsQ,EAAGt/B,UAAU6uC,OAAS,SAAiB7f,GAErC,OADAiQ,EAAO37B,KAAKs8B,IAAK,sCACVt8B,KAAKs8B,IAAIkP,IAAIxrC,KAAM0rB,IAG5BsQ,EAAGt/B,UAAU+uC,OAAS,SAAiB/f,GAGrC,OAFAiQ,EAAO37B,KAAKs8B,IAAK,sCACjBt8B,KAAKs8B,IAAIoP,SAAS1rC,KAAM0rB,GACjB1rB,KAAKs8B,IAAIllB,IAAIpX,KAAM0rB,IAG5BsQ,EAAGt/B,UAAUivC,QAAU,SAAkBjgB,GAGvC,OAFAiQ,EAAO37B,KAAKs8B,IAAK,sCACjBt8B,KAAKs8B,IAAIoP,SAAS1rC,KAAM0rB,GACjB1rB,KAAKs8B,IAAIsG,KAAK5iC,KAAM0rB,IAG7BsQ,EAAGt/B,UAAUkvC,OAAS,WAGpB,OAFAjQ,EAAO37B,KAAKs8B,IAAK,sCACjBt8B,KAAKs8B,IAAIuP,SAAS7rC,MACXA,KAAKs8B,IAAIsK,IAAI5mC,OAGtBg8B,EAAGt/B,UAAUovC,QAAU,WAGrB,OAFAnQ,EAAO37B,KAAKs8B,IAAK,uCACjBt8B,KAAKs8B,IAAIuP,SAAS7rC,MACXA,KAAKs8B,IAAIuK,KAAK7mC,OAIvBg8B,EAAGt/B,UAAUqvC,QAAU,WAGrB,OAFApQ,EAAO37B,KAAKs8B,IAAK,uCACjBt8B,KAAKs8B,IAAIuP,SAAS7rC,MACXA,KAAKs8B,IAAI0P,KAAKhsC,OAGvBg8B,EAAGt/B,UAAUuvC,QAAU,WAGrB,OAFAtQ,EAAO37B,KAAKs8B,IAAK,uCACjBt8B,KAAKs8B,IAAIuP,SAAS7rC,MACXA,KAAKs8B,IAAIwN,KAAK9pC,OAIvBg8B,EAAGt/B,UAAUwvC,OAAS,WAGpB,OAFAvQ,EAAO37B,KAAKs8B,IAAK,sCACjBt8B,KAAKs8B,IAAIuP,SAAS7rC,MACXA,KAAKs8B,IAAI6D,IAAIngC,OAGtBg8B,EAAGt/B,UAAUyvC,OAAS,SAAiBzgB,GAGrC,OAFAiQ,EAAO37B,KAAKs8B,MAAQ5Q,EAAI4Q,IAAK,qBAC7Bt8B,KAAKs8B,IAAIuP,SAAS7rC,MACXA,KAAKs8B,IAAI3kB,IAAI3X,KAAM0rB,IAI5B,IAAI0gB,EAAS,CACXC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,MAIV,SAASC,EAAQzpC,EAAMmF,GAErBnI,KAAKgD,KAAOA,EACZhD,KAAKmI,EAAI,IAAI6zB,EAAG7zB,EAAG,IACnBnI,KAAK+H,EAAI/H,KAAKmI,EAAEq3B,YAChBx/B,KAAKyd,EAAI,IAAIue,EAAG,GAAG+K,OAAO/mC,KAAK+H,GAAGu5B,KAAKthC,KAAKmI,GAE5CnI,KAAK+uB,IAAM/uB,KAAK0sC,OA2ClB,SAASC,IACPF,EAAO7sC,KACLI,KACA,OACA,2EA+DJ,SAAS4sC,IACPH,EAAO7sC,KACLI,KACA,OACA,kEAIJ,SAAS6sC,IACPJ,EAAO7sC,KACLI,KACA,OACA,yDAIJ,SAAS8sC,IAEPL,EAAO7sC,KACLI,KACA,QACA,uEA8CJ,SAAS2qC,EAAKtiC,GACZ,GAAiB,kBAANA,EAAgB,CACzB,IAAI0kC,EAAQ/Q,EAAGgR,OAAO3kC,GACtBrI,KAAKqI,EAAI0kC,EAAM5kC,EACfnI,KAAK+sC,MAAQA,OAEbpR,EAAOtzB,EAAE4hC,IAAI,GAAI,kCACjBjqC,KAAKqI,EAAIA,EACTrI,KAAK+sC,MAAQ,KAkOjB,SAASE,EAAM5kC,GACbsiC,EAAI/qC,KAAKI,KAAMqI,GAEfrI,KAAKmoC,MAAQnoC,KAAKqI,EAAEm3B,YAChBx/B,KAAKmoC,MAAQ,KAAO,IACtBnoC,KAAKmoC,OAAS,GAAMnoC,KAAKmoC,MAAQ,IAGnCnoC,KAAK2H,EAAI,IAAIq0B,EAAG,GAAG+K,OAAO/mC,KAAKmoC,OAC/BnoC,KAAK4mB,GAAK5mB,KAAKktC,KAAKltC,KAAK2H,EAAEi/B,OAC3B5mC,KAAKmtC,KAAOntC,KAAK2H,EAAEgiC,OAAO3pC,KAAKqI,GAE/BrI,KAAKotC,KAAOptC,KAAKmtC,KAAK/1B,IAAIpX,KAAK2H,GAAGmgC,MAAM,GAAGW,IAAIzoC,KAAKqI,GACpDrI,KAAKotC,KAAOptC,KAAKotC,KAAKvE,KAAK7oC,KAAK2H,GAChC3H,KAAKotC,KAAOptC,KAAK2H,EAAEqR,IAAIhZ,KAAKotC,MAta9BX,EAAO/vC,UAAUgwC,KAAO,WACtB,IAAI3d,EAAM,IAAIiN,EAAG,MAEjB,OADAjN,EAAIsN,MAAQ,IAAI9uB,MAAM8F,KAAK+pB,KAAKp9B,KAAK+H,EAAI,KAClCgnB,GAGT0d,EAAO/vC,UAAU2wC,QAAU,SAAkB3hB,GAG3C,IACI4hB,EADA3lC,EAAI+jB,EAGR,GACE1rB,KAAK40B,MAAMjtB,EAAG3H,KAAK+uB,KAGnBue,GADA3lC,GADAA,EAAI3H,KAAKutC,MAAM5lC,IACT05B,KAAKrhC,KAAK+uB,MACPyQ,kBACF8N,EAAOttC,KAAK+H,GAErB,IAAI80B,EAAMyQ,EAAOttC,KAAK+H,GAAK,EAAIJ,EAAEqiC,KAAKhqC,KAAKmI,GAU3C,OATY,IAAR00B,GACFl1B,EAAE00B,MAAM,GAAK,EACb10B,EAAElF,OAAS,GACFo6B,EAAM,EACfl1B,EAAE25B,KAAKthC,KAAKmI,GAEZR,EAAEu1B,QAGGv1B,GAGT8kC,EAAO/vC,UAAUk4B,MAAQ,SAAgB8D,EAAOtiB,GAC9CsiB,EAAM0G,OAAOp/B,KAAK+H,EAAG,EAAGqO,IAG1Bq2B,EAAO/vC,UAAU6wC,MAAQ,SAAgB7hB,GACvC,OAAOA,EAAIkX,KAAK5iC,KAAKyd,IASvBme,EAAS+Q,EAAMF,GAEfE,EAAKjwC,UAAUk4B,MAAQ,SAAgB8D,EAAO8U,GAK5C,IAHA,IAAIlmB,EAAO,QAEPmmB,EAASp6B,KAAKC,IAAIolB,EAAMj2B,OAAQ,GAC3BC,EAAI,EAAGA,EAAI+qC,EAAQ/qC,IAC1B8qC,EAAOnR,MAAM35B,GAAKg2B,EAAM2D,MAAM35B,GAIhC,GAFA8qC,EAAO/qC,OAASgrC,EAEZ/U,EAAMj2B,QAAU,EAGlB,OAFAi2B,EAAM2D,MAAM,GAAK,OACjB3D,EAAMj2B,OAAS,GAKjB,IAAIoB,EAAO60B,EAAM2D,MAAM,GAGvB,IAFAmR,EAAOnR,MAAMmR,EAAO/qC,UAAYoB,EAAOyjB,EAElC5kB,EAAI,GAAIA,EAAIg2B,EAAMj2B,OAAQC,IAAK,CAClC,IAAIlB,EAAwB,EAAjBk3B,EAAM2D,MAAM35B,GACvBg2B,EAAM2D,MAAM35B,EAAI,KAAQlB,EAAO8lB,IAAS,EAAMzjB,IAAS,GACvDA,EAAOrC,EAETqC,KAAU,GACV60B,EAAM2D,MAAM35B,EAAI,IAAMmB,EACT,IAATA,GAAc60B,EAAMj2B,OAAS,GAC/Bi2B,EAAMj2B,QAAU,GAEhBi2B,EAAMj2B,QAAU,GAIpBkqC,EAAKjwC,UAAU6wC,MAAQ,SAAgB7hB,GAErCA,EAAI2Q,MAAM3Q,EAAIjpB,QAAU,EACxBipB,EAAI2Q,MAAM3Q,EAAIjpB,OAAS,GAAK,EAC5BipB,EAAIjpB,QAAU,EAId,IADA,IAAIyQ,EAAK,EACAxQ,EAAI,EAAGA,EAAIgpB,EAAIjpB,OAAQC,IAAK,CACnC,IAAI26B,EAAmB,EAAf3R,EAAI2Q,MAAM35B,GAClBwQ,GAAU,IAAJmqB,EACN3R,EAAI2Q,MAAM35B,GAAU,SAALwQ,EACfA,EAAS,GAAJmqB,GAAanqB,EAAK,SAAa,GAUtC,OANkC,IAA9BwY,EAAI2Q,MAAM3Q,EAAIjpB,OAAS,KACzBipB,EAAIjpB,SAC8B,IAA9BipB,EAAI2Q,MAAM3Q,EAAIjpB,OAAS,IACzBipB,EAAIjpB,UAGDipB,GASTkQ,EAASgR,EAAMH,GAQf7Q,EAASiR,EAAMJ,GASf7Q,EAASkR,EAAQL,GAEjBK,EAAOpwC,UAAU6wC,MAAQ,SAAgB7hB,GAGvC,IADA,IAAIP,EAAQ,EACHzoB,EAAI,EAAGA,EAAIgpB,EAAIjpB,OAAQC,IAAK,CACnC,IAAIuQ,EAA0B,IAAL,EAAfyY,EAAI2Q,MAAM35B,IAAiByoB,EACjCjY,EAAU,SAALD,EACTA,KAAQ,GAERyY,EAAI2Q,MAAM35B,GAAKwQ,EACfiY,EAAQlY,EAKV,OAHc,IAAVkY,IACFO,EAAI2Q,MAAM3Q,EAAIjpB,UAAY0oB,GAErBO,GAITsQ,EAAGgR,OAAS,SAAgBhqC,GAE1B,GAAIopC,EAAOppC,GAAO,OAAOopC,EAAOppC,GAEhC,IAAI+pC,EACJ,GAAa,SAAT/pC,EACF+pC,EAAQ,IAAIJ,OACP,GAAa,SAAT3pC,EACT+pC,EAAQ,IAAIH,OACP,GAAa,SAAT5pC,EACT+pC,EAAQ,IAAIF,MACP,IAAa,WAAT7pC,EAGT,MAAM,IAAInE,MAAM,iBAAmBmE,GAFnC+pC,EAAQ,IAAID,EAMd,OAFAV,EAAOppC,GAAQ+pC,EAERA,GAkBTpC,EAAIjuC,UAAUmvC,SAAW,SAAmBhkC,GAC1C8zB,EAAsB,IAAf9zB,EAAEu0B,SAAgB,iCACzBT,EAAO9zB,EAAEy0B,IAAK,oCAGhBqO,EAAIjuC,UAAUgvC,SAAW,SAAmB7jC,EAAGU,GAC7CozB,EAAqC,KAA7B9zB,EAAEu0B,SAAW7zB,EAAE6zB,UAAiB,iCACxCT,EAAO9zB,EAAEy0B,KAAOz0B,EAAEy0B,MAAQ/zB,EAAE+zB,IAC1B,oCAGJqO,EAAIjuC,UAAUwwC,KAAO,SAAerlC,GAClC,OAAI7H,KAAK+sC,MAAc/sC,KAAK+sC,MAAMM,QAAQxlC,GAAGkjC,UAAU/qC,MAChD6H,EAAEghC,KAAK7oC,KAAKqI,GAAG0iC,UAAU/qC,OAGlC2qC,EAAIjuC,UAAUyjC,IAAM,SAAct4B,GAChC,OAAIA,EAAE82B,SACG92B,EAAEi2B,QAGJ99B,KAAKqI,EAAE2Q,IAAInR,GAAGkjC,UAAU/qC,OAGjC2qC,EAAIjuC,UAAU2tB,IAAM,SAAcxiB,EAAGU,GACnCvI,KAAK0rC,SAAS7jC,EAAGU,GAEjB,IAAIgL,EAAM1L,EAAEwiB,IAAI9hB,GAIhB,OAHIgL,EAAIspB,IAAI78B,KAAKqI,IAAM,GACrBkL,EAAI+tB,KAAKthC,KAAKqI,GAETkL,EAAIw3B,UAAU/qC,OAGvB2qC,EAAIjuC,UAAU2kC,KAAO,SAAex5B,EAAGU,GACrCvI,KAAK0rC,SAAS7jC,EAAGU,GAEjB,IAAIgL,EAAM1L,EAAEw5B,KAAK94B,GAIjB,OAHIgL,EAAIspB,IAAI78B,KAAKqI,IAAM,GACrBkL,EAAI+tB,KAAKthC,KAAKqI,GAETkL,GAGTo3B,EAAIjuC,UAAUsc,IAAM,SAAcnR,EAAGU,GACnCvI,KAAK0rC,SAAS7jC,EAAGU,GAEjB,IAAIgL,EAAM1L,EAAEmR,IAAIzQ,GAIhB,OAHIgL,EAAIs2B,KAAK,GAAK,GAChBt2B,EAAI8tB,KAAKrhC,KAAKqI,GAETkL,EAAIw3B,UAAU/qC,OAGvB2qC,EAAIjuC,UAAU4kC,KAAO,SAAez5B,EAAGU,GACrCvI,KAAK0rC,SAAS7jC,EAAGU,GAEjB,IAAIgL,EAAM1L,EAAEy5B,KAAK/4B,GAIjB,OAHIgL,EAAIs2B,KAAK,GAAK,GAChBt2B,EAAI8tB,KAAKrhC,KAAKqI,GAETkL,GAGTo3B,EAAIjuC,UAAU8uC,IAAM,SAAc3jC,EAAG6jB,GAEnC,OADA1rB,KAAK6rC,SAAShkC,GACP7H,KAAKktC,KAAKrlC,EAAE4/B,MAAM/b,KAG3Bif,EAAIjuC,UAAUkmC,KAAO,SAAe/6B,EAAGU,GAErC,OADAvI,KAAK0rC,SAAS7jC,EAAGU,GACVvI,KAAKktC,KAAKrlC,EAAE+6B,KAAKr6B,KAG1BoiC,EAAIjuC,UAAU0a,IAAM,SAAcvP,EAAGU,GAEnC,OADAvI,KAAK0rC,SAAS7jC,EAAGU,GACVvI,KAAKktC,KAAKrlC,EAAEuP,IAAI7O,KAGzBoiC,EAAIjuC,UAAUmqC,KAAO,SAAeh/B,GAClC,OAAO7H,KAAK4iC,KAAK/6B,EAAGA,EAAEi2B,UAGxB6M,EAAIjuC,UAAUkqC,IAAM,SAAc/+B,GAChC,OAAO7H,KAAKoX,IAAIvP,EAAGA,IAGrB8iC,EAAIjuC,UAAUsvC,KAAO,SAAenkC,GAClC,GAAIA,EAAE82B,SAAU,OAAO92B,EAAEi2B,QAEzB,IAAI4P,EAAO1tC,KAAKqI,EAAE82B,MAAM,GAIxB,GAHAxD,EAAO+R,EAAO,IAAM,GAGP,IAATA,EAAY,CACd,IAAI/1B,EAAM3X,KAAKqI,EAAEgiB,IAAI,IAAI2R,EAAG,IAAIoD,OAAO,GACvC,OAAOp/B,KAAK2X,IAAI9P,EAAG8P,GAQrB,IAFA,IAAInP,EAAIxI,KAAKqI,EAAE2/B,KAAK,GAChBpgC,EAAI,GACAY,EAAEm2B,UAA2B,IAAfn2B,EAAE22B,MAAM,IAC5Bv3B,IACAY,EAAE42B,OAAO,GAEXzD,GAAQnzB,EAAEm2B,UAEV,IAAIgP,EAAM,IAAI3R,EAAG,GAAG4O,MAAM5qC,MACtB4tC,EAAOD,EAAIzB,SAIX2B,EAAO7tC,KAAKqI,EAAE2/B,KAAK,GAAG5I,OAAO,GAC7Bnf,EAAIjgB,KAAKqI,EAAEm3B,YAGf,IAFAvf,EAAI,IAAI+b,EAAG,EAAI/b,EAAIA,GAAG2qB,MAAM5qC,MAEW,IAAhCA,KAAK2X,IAAIsI,EAAG4tB,GAAMhR,IAAI+Q,IAC3B3tB,EAAEmrB,QAAQwC,GAOZ,IAJA,IAAI1lC,EAAIlI,KAAK2X,IAAIsI,EAAGzX,GAChBb,EAAI3H,KAAK2X,IAAI9P,EAAGW,EAAEu/B,KAAK,GAAG3I,OAAO,IACjC13B,EAAI1H,KAAK2X,IAAI9P,EAAGW,GAChBH,EAAIT,EACc,IAAfF,EAAEm1B,IAAI8Q,IAAY,CAEvB,IADA,IAAI5e,EAAMrnB,EACDhF,EAAI,EAAoB,IAAjBqsB,EAAI8N,IAAI8Q,GAAYjrC,IAClCqsB,EAAMA,EAAI6c,SAEZjQ,EAAOj5B,EAAI2F,GACX,IAAIE,EAAIvI,KAAK2X,IAAIzP,EAAG,IAAI8zB,EAAG,GAAG+K,OAAO1+B,EAAI3F,EAAI,IAE7CiF,EAAIA,EAAE8jC,OAAOljC,GACbL,EAAIK,EAAEqjC,SACNlkC,EAAIA,EAAE+jC,OAAOvjC,GACbG,EAAI3F,EAGN,OAAOiF,GAGTgjC,EAAIjuC,UAAUotC,KAAO,SAAejiC,GAClC,IAAIimC,EAAMjmC,EAAE8hC,OAAO3pC,KAAKqI,GACxB,OAAqB,IAAjBylC,EAAI1R,UACN0R,EAAI1R,SAAW,EACRp8B,KAAKktC,KAAKY,GAAK5B,UAEflsC,KAAKktC,KAAKY,IAIrBnD,EAAIjuC,UAAUib,IAAM,SAAc9P,EAAG6jB,GACnC,GAAIA,EAAIiT,SAAU,OAAO,IAAI3C,EAAG,GAAG4O,MAAM5qC,MACzC,GAAoB,IAAhB0rB,EAAIme,KAAK,GAAU,OAAOhiC,EAAEi2B,QAEhC,IACIiQ,EAAM,IAAIxgC,MAAM,IACpBwgC,EAAI,GAAK,IAAI/R,EAAG,GAAG4O,MAAM5qC,MACzB+tC,EAAI,GAAKlmC,EACT,IAAK,IAAInF,EAAI,EAAGA,EAAIqrC,EAAItrC,OAAQC,IAC9BqrC,EAAIrrC,GAAK1C,KAAKoX,IAAI22B,EAAIrrC,EAAI,GAAImF,GAGhC,IAAI0L,EAAMw6B,EAAI,GACVC,EAAU,EACVC,EAAa,EACb19B,EAAQmb,EAAI8T,YAAc,GAK9B,IAJc,IAAVjvB,IACFA,EAAQ,IAGL7N,EAAIgpB,EAAIjpB,OAAS,EAAGC,GAAK,EAAGA,IAAK,CAEpC,IADA,IAAIg7B,EAAOhS,EAAI2Q,MAAM35B,GACZgG,EAAI6H,EAAQ,EAAG7H,GAAK,EAAGA,IAAK,CACnC,IAAIy4B,EAAOzD,GAAQh1B,EAAK,EACpB6K,IAAQw6B,EAAI,KACdx6B,EAAMvT,KAAK4mC,IAAIrzB,IAGL,IAAR4tB,GAAyB,IAAZ6M,GAKjBA,IAAY,EACZA,GAAW7M,GA9BE,MA+Bb8M,GACwC,IAANvrC,GAAiB,IAANgG,KAE7C6K,EAAMvT,KAAKoX,IAAI7D,EAAKw6B,EAAIC,IACxBC,EAAa,EACbD,EAAU,IAXRC,EAAa,EAajB19B,EAAQ,GAGV,OAAOgD,GAGTo3B,EAAIjuC,UAAUouC,UAAY,SAAoBpf,GAC5C,IAAI/jB,EAAI+jB,EAAImd,KAAK7oC,KAAKqI,GAEtB,OAAOV,IAAM+jB,EAAM/jB,EAAEm2B,QAAUn2B,GAGjCgjC,EAAIjuC,UAAUuuC,YAAc,SAAsBvf,GAChD,IAAInY,EAAMmY,EAAIoS,QAEd,OADAvqB,EAAI+oB,IAAM,KACH/oB,GAOTyoB,EAAGkS,KAAO,SAAexiB,GACvB,OAAO,IAAIuhB,EAAKvhB,IAmBlBkQ,EAASqR,EAAMtC,GAEfsC,EAAKvwC,UAAUouC,UAAY,SAAoBpf,GAC7C,OAAO1rB,KAAKktC,KAAKxhB,EAAI+b,MAAMznC,KAAKmoC,SAGlC8E,EAAKvwC,UAAUuuC,YAAc,SAAsBvf,GACjD,IAAI/jB,EAAI3H,KAAKktC,KAAKxhB,EAAItU,IAAIpX,KAAKmtC,OAE/B,OADAxlC,EAAE20B,IAAM,KACD30B,GAGTslC,EAAKvwC,UAAUkmC,KAAO,SAAe/6B,EAAGU,GACtC,GAAIV,EAAE82B,UAAYp2B,EAAEo2B,SAGlB,OAFA92B,EAAEw0B,MAAM,GAAK,EACbx0B,EAAEpF,OAAS,EACJoF,EAGT,IAAIH,EAAIG,EAAE+6B,KAAKr6B,GACXL,EAAIR,EAAEmgC,MAAM7nC,KAAKmoC,OAAO/wB,IAAIpX,KAAKotC,MAAMxF,OAAO5nC,KAAKmoC,OAAO/wB,IAAIpX,KAAKqI,GACnEJ,EAAIP,EAAE45B,KAAKp5B,GAAGk3B,OAAOp/B,KAAKmoC,OAC1B50B,EAAMtL,EAQV,OANIA,EAAE40B,IAAI78B,KAAKqI,IAAM,EACnBkL,EAAMtL,EAAEq5B,KAAKthC,KAAKqI,GACTJ,EAAE4hC,KAAK,GAAK,IACrBt2B,EAAMtL,EAAEo5B,KAAKrhC,KAAKqI,IAGbkL,EAAIw3B,UAAU/qC,OAGvBitC,EAAKvwC,UAAU0a,IAAM,SAAcvP,EAAGU,GACpC,GAAIV,EAAE82B,UAAYp2B,EAAEo2B,SAAU,OAAO,IAAI3C,EAAG,GAAG+O,UAAU/qC,MAEzD,IAAI0H,EAAIG,EAAEuP,IAAI7O,GACVL,EAAIR,EAAEmgC,MAAM7nC,KAAKmoC,OAAO/wB,IAAIpX,KAAKotC,MAAMxF,OAAO5nC,KAAKmoC,OAAO/wB,IAAIpX,KAAKqI,GACnEJ,EAAIP,EAAE45B,KAAKp5B,GAAGk3B,OAAOp/B,KAAKmoC,OAC1B50B,EAAMtL,EAOV,OANIA,EAAE40B,IAAI78B,KAAKqI,IAAM,EACnBkL,EAAMtL,EAAEq5B,KAAKthC,KAAKqI,GACTJ,EAAE4hC,KAAK,GAAK,IACrBt2B,EAAMtL,EAAEo5B,KAAKrhC,KAAKqI,IAGbkL,EAAIw3B,UAAU/qC,OAGvBitC,EAAKvwC,UAAUotC,KAAO,SAAejiC,GAGnC,OADU7H,KAAKktC,KAAKrlC,EAAE8hC,OAAO3pC,KAAKqI,GAAG+O,IAAIpX,KAAK4mB,KACnCmkB,UAAU/qC,OAh2GzB,CAk2GoC0G,EAAQ1G,Q,ss2CCl2G/B,SAASwH,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEf,EAAQ,IAASjE,EAAE8E,EAAEE,GAAGC,EAAEH,EAAEb,EAAQ,KAAekB,EAAElB,EAAQ,IAAwBoB,EAAEpB,EAAQ,IAA6B,SAASmB,IAAI,IAAIN,EAAE,oBAAoBosB,UAAUA,UAAUua,WAAWva,UAAUwa,OAAO,GAAG,MAAM,CAAC,WAAW,UAAU,SAASC,MAAM,SAAS3mC,GAAG,OAAOF,EAAEkO,MAAMhO,MAAM,IAAIE,EAAElF,EAAEyG,YAAY,SAAS3B,EAAEI,GAAG,IAAIK,EAAEC,EAAEV,EAAEgC,OAAOpB,EAAEZ,EAAEhK,MAAM6K,EAAEb,EAAE/H,KAAK8nB,OAAE,IAASlf,EAAE,OAAOA,EAAEL,EAAER,EAAE4C,WAAWjC,EAAEX,EAAE8mC,SAAS3lC,EAAEnB,EAAE2C,gBAAgBvB,EAAEpB,EAAE+mC,SAASvlC,EAAExB,EAAEgnC,UAAU1lC,EAAEtB,EAAEinC,oBAAoB3Y,OAAE,IAAShtB,EAAE,GAAGA,EAAEP,EAAEf,EAAEiC,KAAKkb,EAAEnd,EAAEknC,aAAa5kC,OAAE,IAAS6a,EAAE,MAAMA,EAAE9b,EAAErB,EAAEmnC,YAAYlmC,OAAE,IAASI,EAAE,MAAMA,EAAEI,EAAEzB,EAAEonC,SAAS7lC,EAAElB,EAAEiU,OAAOtU,EAAE,CAAC,SAAS,QAAQ,OAAO,aAAa,WAAW,kBAAkB,WAAW,YAAY,sBAAsB,OAAO,eAAe,cAAc,aAAac,EAAE,SAASd,GAAG,OAAOM,IAAI,CAAC+mC,4BAA2B,EAAG/a,YAAO,EAAO8B,sBAAsBpuB,EAAEouB,uBAAuBpuB,EAAnH,CAAsHsuB,GAAGpb,EAAEpS,EAAEumC,2BAA2B3lC,OAAE,IAASwR,GAAGA,EAAEuH,EAAE3Z,EAAEwrB,OAAO7I,EAAE3iB,EAAEstB,sBAAsBptB,OAAE,IAASyiB,EAAE,EAAEA,EAAEoS,EAAEx1B,EAAE4E,OAAO/E,EAAEgF,UAAU,WAAW,OAAO7E,EAAE+T,SAAS/T,EAAE+T,SAAS,GAAG7T,EAAEotB,oBAAoBlT,IAAIla,EAAEmtB,gBAAgBjT,OAAO,GAAG8T,EAAEsH,EAAE,GAAGyR,EAAE/Y,EAAEtB,yBAAyBsa,EAAEhZ,EAAErB,WAAWxS,EAAE6T,EAAElB,qBAAqBnsB,EAAE20B,EAAE,GAAGpd,EAAE,WAAWsH,EAAEpF,EAAExa,EAAE,kBAAkBgB,EAAE,yBAAyB4e,EAAE,CAAC,+BAA+Bvf,EAAE,6BAA6BG,IAAI6mC,EAAE5mC,EAAE,KAAK,iBAAiBI,GAAGwJ,OAAOi9B,UAAUzmC,IAAIA,GAAG,GAAG,MAAM,IAAI3J,MAAM,+DAA+D,GAAGohB,GAAG,iBAAiB7X,GAAGc,EAAE,CAAC,IAAIgmC,EAAErnC,EAAE4E,OAAO+E,OAAOpJ,GAAGwsB,MAAM,KAAK,GAAGua,EAAED,EAAE,GAAG/F,EAAE+F,EAAE,GAAGE,EAAErnC,EAAEktB,aAAa,CAACW,sBAAsBptB,EAAEsrB,OAAO7R,KAAK,QAAQha,EAAEG,EAAEsN,MAAM,cAAS,IAASzN,OAAE,EAAOA,EAAExF,SAAS0mC,EAAE6F,EAAE,GAAGI,EAAEh9B,SAAS+8B,IAAIL,EAAE/mC,EAAEwtB,wBAAwB,CAACzB,OAAO7R,GAAGknB,GAAGgG,IAAIH,EAAEG,IAAIJ,GAAGI,IAAIjtB,EAAEktB,EAAEh9B,SAAS+8B,IAAI,GAAGJ,EAAEhnC,EAAEwtB,wBAAwB,CAACzB,OAAO7R,GAAGktB,IAAI,OAAOznC,EAAE2nC,WAAW,WAAW3mC,EAAEb,EAAE+T,SAAS/T,EAAE+T,SAAS,GAAG7T,EAAEotB,oBAAoBlT,IAAIla,EAAEmtB,gBAAgBjT,OAAO,CAACA,IAAIvf,EAAEiH,cAAc,MAAM,CAACF,KAAKlB,EAAEsB,UAAUsY,EAAE,cAAcja,GAAGU,GAAGlG,EAAEiH,cAAc,OAAO,CAACE,UAAU,oDAAoDjB,GAAGlG,EAAEiH,cAAc,QAAQ9B,EAAE+T,SAAS,CAAChS,IAAIhC,EAAEiC,UAAU,QAAQpK,KAAKwgB,EAAE,OAAOsH,EAAEmnB,aAAa5kC,EAAEtM,MAAMwxC,EAAEL,YAAYlmC,EAAE2yB,SAASpzB,EAAE4mC,SAAS,SAASpnC,GAAG,IAAIE,EAAitBS,EAA/sB,GAAG8X,EAAE,CAAC,IAAIvd,EAAE8E,EAAE8nC,cAAc9xC,MAAM,GAAGkF,EAAE,CAAC,IAAIiF,EAAEI,EAAE4tB,aAAaxtB,EAAE,CAAC2rB,OAAO7R,EAAE2T,sBAAsBptB,GAAGV,IAAID,EAAE+T,SAAS/T,EAAE+T,SAAS,GAAGzT,GAAG,CAAC2rB,OAAO,UAAU3rB,GAAGzF,GAAGkF,EAAE,KAAKD,GAAG,MAAMjF,GAAGsP,OAAOxP,MAAMwP,OAAOrK,IAAIM,EAAEN,EAAE6J,OAAO7J,GAAG,GAAG,IAAIC,IAAI,QAAQF,EAAEC,EAAE+N,MAAM,YAAO,IAAShO,OAAE,EAAOA,EAAEjF,QAAQwF,EAAEuJ,OAAO7J,GAAGC,IAAIK,EAAEG,IAAIR,IAAIsB,GAAGV,EAAE,GAAGP,EAAE+N,SAAS,QAAQ/N,EAAEF,EAAEiuB,mBAAmB/T,EAAEha,IAAI,IAAIO,GAAG,OAAOP,IAAIA,EAAE,KAAKiB,EAAE,CAAC,IAAIhB,EAAEH,EAAEqtB,4BAA4BntB,GAAGI,EAAEN,EAAEqtB,4BAA4BhtB,GAAGmf,EAAE/f,EAAE8nC,cAActnC,EAAER,EAAE8nC,cAAcC,gBAAgB,GAAGtnC,GAAGuJ,OAAOpJ,GAAG3F,SAASwF,EAAExF,OAAO,GAAG+O,OAAOpJ,GAAG3F,SAASwF,EAAExF,OAAO,IAAI4F,IAAIH,EAAE,EAAEF,GAAG,EAAEK,IAAIH,EAAE,IAAIF,GAAG,GAAG+nB,OAAOyf,uBAAuB,WAAWjoB,EAAEgoB,eAAevnC,EAAEuf,EAAEkoB,aAAaznC,MAAMR,EAAE8nC,cAAc9xC,MAAMyK,GAASgB,EAAEzB,KAAKuB,IAAIC,GAAGtG,EAAEiH,cAAc,OAAO,CAACE,UAAU,qDAAqDb,OAAOtC,EAAOnK,QAAQqL,G,eCA9kG,YACAlB,EAAOnK,QAAUmzC,I,4CCEjB,IAAI7f,E,wVACJ,IAAI8f,EAAQ,IAAI/iC,WAAW,IACZ,SAASgjC,IAEtB,IAAK/f,KAGHA,EAAoC,qBAAXF,QAA0BA,OAAOE,iBAAmBF,OAAOE,gBAAgB6C,KAAK/C,SAA+B,qBAAbC,UAAgE,oBAA7BA,SAASC,iBAAkCD,SAASC,gBAAgB6C,KAAK9C,WAGrO,MAAM,IAAI/wB,MAAM,4GAIpB,OAAOgxB,EAAgB8f,GCjBV,4HCQf,ICFeE,MAJf,SAAkBC,GAChB,MAAuB,kBAATA,GAAqBC,EAAM/iC,KAAK8iC,IDG5CE,EAAY,GAEPttC,EAAI,EAAGA,EAAI,MAAOA,EACzBstC,EAAU9tC,MAAMQ,EAAI,KAAOsN,SAAS,IAAIqC,OAAO,IAoBlC49B,IEvBXC,EAEAC,EFqBWF,EAjBf,SAAmB3iC,GACjB,IAAIyE,EAAS7L,UAAUzD,OAAS,QAAsBrB,IAAjB8E,UAAU,GAAmBA,UAAU,GAAK,EAG7E4pC,GAAQE,EAAU1iC,EAAIyE,EAAS,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAM,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAM,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAM,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAMi+B,EAAU1iC,EAAIyE,EAAS,IAAM,IAAMi+B,EAAU1iC,EAAIyE,EAAS,KAAOi+B,EAAU1iC,EAAIyE,EAAS,KAAOi+B,EAAU1iC,EAAIyE,EAAS,KAAOi+B,EAAU1iC,EAAIyE,EAAS,KAAOi+B,EAAU1iC,EAAIyE,EAAS,KAAOi+B,EAAU1iC,EAAIyE,EAAS,MAAM1B,cAMzf,IAAKw/B,EAASC,GACZ,MAAMzuC,UAAU,+BAGlB,OAAOyuC,GEfLM,EAAa,EACbC,EAAa,EAkFF1Y,MAhFf,SAAY2Y,EAAS5+B,EAAKK,GACxB,IAAIrP,EAAIgP,GAAOK,GAAU,EACrBxJ,EAAImJ,GAAO,IAAInE,MAAM,IAErBypB,GADJsZ,EAAUA,GAAW,IACFtZ,MAAQkZ,EACvBK,OAAgCnvC,IAArBkvC,EAAQC,SAAyBD,EAAQC,SAAWJ,EAInE,GAAY,MAARnZ,GAA4B,MAAZuZ,EAAkB,CACpC,IAAIC,EAAYF,EAAQG,SAAWH,EAAQV,KAAOA,KAEtC,MAAR5Y,IAEFA,EAAOkZ,EAAU,CAAgB,EAAfM,EAAU,GAAWA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAG3F,MAAZD,IAEFA,EAAWJ,EAAiD,OAApCK,EAAU,IAAM,EAAIA,EAAU,KAQ1D,IAAIE,OAA0BtvC,IAAlBkvC,EAAQI,MAAsBJ,EAAQI,MAAQC,KAAKC,MAG3DC,OAA0BzvC,IAAlBkvC,EAAQO,MAAsBP,EAAQO,MAAQR,EAAa,EAEnES,EAAKJ,EAAQN,GAAcS,EAAQR,GAAc,IAarD,GAXIS,EAAK,QAA0B1vC,IAArBkvC,EAAQC,WACpBA,EAAWA,EAAW,EAAI,QAKvBO,EAAK,GAAKJ,EAAQN,SAAiChvC,IAAlBkvC,EAAQO,QAC5CA,EAAQ,GAINA,GAAS,IACX,MAAM,IAAIhyC,MAAM,mDAGlBuxC,EAAaM,EACbL,EAAaQ,EACbV,EAAYI,EAIZ,IAAIvnB,GAA4B,KAAb,WAFnB0nB,GAAS,cAE+BG,GAAS,WACjDtoC,EAAE7F,KAAOsmB,IAAO,GAAK,IACrBzgB,EAAE7F,KAAOsmB,IAAO,GAAK,IACrBzgB,EAAE7F,KAAOsmB,IAAO,EAAI,IACpBzgB,EAAE7F,KAAY,IAALsmB,EAET,IAAI+nB,EAAML,EAAQ,WAAc,IAAQ,UACxCnoC,EAAE7F,KAAOquC,IAAQ,EAAI,IACrBxoC,EAAE7F,KAAa,IAANquC,EAETxoC,EAAE7F,KAAOquC,IAAQ,GAAK,GAAM,GAE5BxoC,EAAE7F,KAAOquC,IAAQ,GAAK,IAEtBxoC,EAAE7F,KAAO6tC,IAAa,EAAI,IAE1BhoC,EAAE7F,KAAkB,IAAX6tC,EAET,IAAK,IAAIxoC,EAAI,EAAGA,EAAI,IAAKA,EACvBQ,EAAE7F,EAAIqF,GAAKivB,EAAKjvB,GAGlB,OAAO2J,GAAOu+B,EAAU1nC,ICzDXyoC,MAhCf,SAAelB,GACb,IAAKD,EAASC,GACZ,MAAMzuC,UAAU,gBAGlB,IAAIsH,EACA2E,EAAM,IAAIV,WAAW,IAuBzB,OArBAU,EAAI,IAAM3E,EAAIyJ,SAAS09B,EAAK/rC,MAAM,EAAG,GAAI,OAAS,GAClDuJ,EAAI,GAAK3E,IAAM,GAAK,IACpB2E,EAAI,GAAK3E,IAAM,EAAI,IACnB2E,EAAI,GAAS,IAAJ3E,EAET2E,EAAI,IAAM3E,EAAIyJ,SAAS09B,EAAK/rC,MAAM,EAAG,IAAK,OAAS,EACnDuJ,EAAI,GAAS,IAAJ3E,EAET2E,EAAI,IAAM3E,EAAIyJ,SAAS09B,EAAK/rC,MAAM,GAAI,IAAK,OAAS,EACpDuJ,EAAI,GAAS,IAAJ3E,EAET2E,EAAI,IAAM3E,EAAIyJ,SAAS09B,EAAK/rC,MAAM,GAAI,IAAK,OAAS,EACpDuJ,EAAI,GAAS,IAAJ3E,EAGT2E,EAAI,KAAO3E,EAAIyJ,SAAS09B,EAAK/rC,MAAM,GAAI,IAAK,KAAO,cAAgB,IACnEuJ,EAAI,IAAM3E,EAAI,WAAc,IAC5B2E,EAAI,IAAM3E,IAAM,GAAK,IACrB2E,EAAI,IAAM3E,IAAM,GAAK,IACrB2E,EAAI,IAAM3E,IAAM,EAAI,IACpB2E,EAAI,IAAU,IAAJ3E,EACH2E,GChBF,IAEQ,WAAUtK,EAAMyuB,EAASwf,GACtC,SAASC,EAAa1zC,EAAO2zC,EAAWz/B,EAAKK,GAS3C,GARqB,kBAAVvU,IACTA,EAjBN,SAAuBiV,GACrBA,EAAM2+B,SAASC,mBAAmB5+B,IAIlC,IAFA,IAAI6D,EAAQ,GAEH5T,EAAI,EAAGA,EAAI+P,EAAIhQ,SAAUC,EAChC4T,EAAMpU,KAAKuQ,EAAIE,WAAWjQ,IAG5B,OAAO4T,EAQKg7B,CAAc9zC,IAGC,kBAAd2zC,IACTA,EAAYH,EAAMG,IAGK,KAArBA,EAAU1uC,OACZ,MAAMpB,UAAU,oEAMlB,IAAIiV,EAAQ,IAAI1J,WAAW,GAAKpP,EAAMiF,QAOtC,GANA6T,EAAMsD,IAAIu3B,GACV76B,EAAMsD,IAAIpc,EAAO2zC,EAAU1uC,SAC3B6T,EAAQ26B,EAAS36B,IACX,GAAgB,GAAXA,EAAM,GAAYmb,EAC7Bnb,EAAM,GAAgB,GAAXA,EAAM,GAAY,IAEzB5E,EAAK,CACPK,EAASA,GAAU,EAEnB,IAAK,IAAIrP,EAAI,EAAGA,EAAI,KAAMA,EACxBgP,EAAIK,EAASrP,GAAK4T,EAAM5T,GAG1B,OAAOgP,EAGT,OAAOu+B,EAAU35B,GAInB,IACE46B,EAAaluC,KAAOA,EACpB,MAAOnF,IAKT,OAFAqzC,EAAaK,IA7CE,uCA8CfL,EAAaM,IA7CE,uCA8CRN,GCNT,SAASO,EAAgBC,GACvB,OAAwC,IAAhCA,EAAe,KAAO,GAAK,GAAU,EAuH/C,SAASC,EAAQrpC,EAAGY,GAClB,IAAI0oC,GAAW,MAAJtpC,IAAmB,MAAJY,GAE1B,OADWZ,GAAK,KAAOY,GAAK,KAAO0oC,GAAO,KAC5B,GAAW,MAANA,EAerB,SAASC,EAAOrpC,EAAGX,EAAGU,EAAGD,EAAGV,EAAGF,GAC7B,OAAOiqC,GATcjmB,EASQimB,EAAQA,EAAQ9pC,EAAGW,GAAImpC,EAAQrpC,EAAGZ,OATrCoqC,EAS0ClqC,GARhD8jB,IAAQ,GAAKomB,EAQuCvpC,GAT1E,IAAuBmjB,EAAKomB,EAY5B,SAASC,EAAMlqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAGV,EAAGF,GAC/B,OAAOmqC,EAAOtpC,EAAIL,GAAKK,EAAIP,EAAGH,EAAGU,EAAGD,EAAGV,EAAGF,GAG5C,SAASsqC,EAAMnqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAGV,EAAGF,GAC/B,OAAOmqC,EAAOtpC,EAAIP,EAAIE,GAAKF,EAAGH,EAAGU,EAAGD,EAAGV,EAAGF,GAG5C,SAASuqC,EAAMpqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAGV,EAAGF,GAC/B,OAAOmqC,EAAOtpC,EAAIL,EAAIF,EAAGH,EAAGU,EAAGD,EAAGV,EAAGF,GAGvC,SAASwqC,EAAMrqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAGV,EAAGF,GAC/B,OAAOmqC,EAAO3pC,GAAKK,GAAKP,GAAIH,EAAGU,EAAGD,EAAGV,EAAGF,GAG3ByqC,ICnNAta,EADNua,EAAI,KAAM,IDkBnB,SAAa97B,GACX,GAAqB,kBAAVA,EAAoB,CAC7B,IAAImX,EAAM2jB,SAASC,mBAAmB/6B,IAEtCA,EAAQ,IAAI1J,WAAW6gB,EAAIhrB,QAE3B,IAAK,IAAIC,EAAI,EAAGA,EAAI+qB,EAAIhrB,SAAUC,EAChC4T,EAAM5T,GAAK+qB,EAAI9a,WAAWjQ,GAI9B,OAOF,SAA8Bg2B,GAK5B,IAJA,IAAI8U,EAAS,GACT6E,EAA0B,GAAf3Z,EAAMj2B,OACjB6vC,EAAS,mBAEJ5vC,EAAI,EAAGA,EAAI2vC,EAAU3vC,GAAK,EAAG,CACpC,IAAI4F,EAAIowB,EAAMh2B,GAAK,KAAOA,EAAI,GAAK,IAC/B6vC,EAAMngC,SAASkgC,EAAOxuC,OAAOwE,IAAM,EAAI,IAAQgqC,EAAOxuC,OAAW,GAAJwE,GAAW,IAC5EklC,EAAOtrC,KAAKqwC,GAGd,OAAO/E,EAlBAgF,CAiCT,SAAoBlqC,EAAGkH,GAErBlH,EAAEkH,GAAO,IAAM,KAAQA,EAAM,GAC7BlH,EAAEmpC,EAAgBjiC,GAAO,GAAKA,EAM9B,IALA,IAAI3H,EAAI,WACJU,GAAK,UACLL,GAAK,WACLF,EAAI,UAECtF,EAAI,EAAGA,EAAI4F,EAAE7F,OAAQC,GAAK,GAAI,CACrC,IAAI+vC,EAAO5qC,EACP6qC,EAAOnqC,EACPoqC,EAAOzqC,EACP0qC,EAAO5qC,EACXH,EAAIkqC,EAAMlqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,GAAI,GAAI,WAChCsF,EAAI+pC,EAAM/pC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,IAAK,WACrCwF,EAAI6pC,EAAM7pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,GAAI,WACpC6F,EAAIwpC,EAAMxpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,IAAK,YACrCmF,EAAIkqC,EAAMlqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,GAAI,WACpCsF,EAAI+pC,EAAM/pC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,GAAI,YACpCwF,EAAI6pC,EAAM7pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,IAAK,YACrC6F,EAAIwpC,EAAMxpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,IAAK,UACrCmF,EAAIkqC,EAAMlqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,EAAG,YACnCsF,EAAI+pC,EAAM/pC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,IAAK,YACrCwF,EAAI6pC,EAAM7pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,IAAK,OACtC6F,EAAIwpC,EAAMxpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,IAAK,IAAK,YACtCmF,EAAIkqC,EAAMlqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,IAAK,EAAG,YACpCsF,EAAI+pC,EAAM/pC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,IAAK,IAAK,UACtCwF,EAAI6pC,EAAM7pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,IAAK,YAEtCmF,EAAImqC,EAAMnqC,EADVU,EAAIwpC,EAAMxpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,IAAK,GAAI,YACrBwF,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,GAAI,WACpCsF,EAAIgqC,EAAMhqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,GAAI,YACpCwF,EAAI8pC,EAAM9pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,GAAI,WACrC6F,EAAIypC,EAAMzpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,GAAI,IAAK,WACjCmF,EAAImqC,EAAMnqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,GAAI,WACpCsF,EAAIgqC,EAAMhqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,IAAK,EAAG,UACpCwF,EAAI8pC,EAAM9pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,IAAK,WACtC6F,EAAIypC,EAAMzpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,IAAK,WACrCmF,EAAImqC,EAAMnqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,EAAG,WACnCsF,EAAIgqC,EAAMhqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,IAAK,GAAI,YACrCwF,EAAI8pC,EAAM9pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,IAAK,WACrC6F,EAAIypC,EAAMzpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,GAAI,YACpCmF,EAAImqC,EAAMnqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,IAAK,GAAI,YACrCsF,EAAIgqC,EAAMhqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,GAAI,UACpCwF,EAAI8pC,EAAM9pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,GAAI,YAEpCmF,EAAIoqC,EAAMpqC,EADVU,EAAIypC,EAAMzpC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,IAAK,IAAK,YACtBwF,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,GAAI,QACpCsF,EAAIiqC,EAAMjqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,IAAK,YACrCwF,EAAI+pC,EAAM/pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,GAAI,YACrC6F,EAAI0pC,EAAM1pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,IAAK,IAAK,UACtCmF,EAAIoqC,EAAMpqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,GAAI,YACpCsF,EAAIiqC,EAAMjqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,GAAI,YACpCwF,EAAI+pC,EAAM/pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,IAAK,WACrC6F,EAAI0pC,EAAM1pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,IAAK,IAAK,YACtCmF,EAAIoqC,EAAMpqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,IAAK,EAAG,WACpCsF,EAAIiqC,EAAMjqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,GAAI,IAAK,WACjCwF,EAAI+pC,EAAM/pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,IAAK,WACrC6F,EAAI0pC,EAAM1pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,GAAI,UACpCmF,EAAIoqC,EAAMpqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,GAAI,WACpCsF,EAAIiqC,EAAMjqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,IAAK,IAAK,WACtCwF,EAAI+pC,EAAM/pC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,GAAI,WAErCmF,EAAIqqC,EAAMrqC,EADVU,EAAI0pC,EAAM1pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,IAAK,WACrBwF,EAAGF,EAAGM,EAAE5F,GAAI,GAAI,WAChCsF,EAAIkqC,EAAMlqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,GAAI,YACpCwF,EAAIgqC,EAAMhqC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,IAAK,YACtC6F,EAAI2pC,EAAM3pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,IAAK,UACrCmF,EAAIqqC,EAAMrqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,IAAK,EAAG,YACpCsF,EAAIkqC,EAAMlqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,GAAI,IAAK,YACrCwF,EAAIgqC,EAAMhqC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,IAAK,IAAK,SACtC6F,EAAI2pC,EAAM3pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,IAAK,YACrCmF,EAAIqqC,EAAMrqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,EAAG,YACnCsF,EAAIkqC,EAAMlqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,IAAK,IAAK,UACtCwF,EAAIgqC,EAAMhqC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,IAAK,YACrC6F,EAAI2pC,EAAM3pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,IAAK,GAAI,YACrCmF,EAAIqqC,EAAMrqC,EAAGU,EAAGL,EAAGF,EAAGM,EAAE5F,EAAI,GAAI,GAAI,WACpCsF,EAAIkqC,EAAMlqC,EAAGH,EAAGU,EAAGL,EAAGI,EAAE5F,EAAI,IAAK,IAAK,YACtCwF,EAAIgqC,EAAMhqC,EAAGF,EAAGH,EAAGU,EAAGD,EAAE5F,EAAI,GAAI,GAAI,WACpC6F,EAAI2pC,EAAM3pC,EAAGL,EAAGF,EAAGH,EAAGS,EAAE5F,EAAI,GAAI,IAAK,WACrCmF,EAAI8pC,EAAQ9pC,EAAG4qC,GACflqC,EAAIopC,EAAQppC,EAAGmqC,GACfxqC,EAAIypC,EAAQzpC,EAAGyqC,GACf3qC,EAAI2pC,EAAQ3pC,EAAG4qC,GAGjB,MAAO,CAAC/qC,EAAGU,EAAGL,EAAGF,GArHW6qC,CA6H9B,SAAsBna,GACpB,GAAqB,IAAjBA,EAAMj2B,OACR,MAAO,GAMT,IAHA,IAAIqwC,EAAyB,EAAfpa,EAAMj2B,OAChB+qC,EAAS,IAAIuF,YAAYtB,EAAgBqB,IAEpCpwC,EAAI,EAAGA,EAAIowC,EAASpwC,GAAK,EAChC8qC,EAAO9qC,GAAK,KAAsB,IAAfg2B,EAAMh2B,EAAI,KAAcA,EAAI,GAGjD,OAAO8qC,EAzIgCwF,CAAa18B,GAAuB,EAAfA,EAAM7T,YERrDq1B,MApBf,SAAYwY,EAAS5+B,EAAKK,GAExB,IAAIkhC,GADJ3C,EAAUA,GAAW,IACFG,SAAWH,EAAQV,KAAOA,KAK7C,GAHAqD,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBvhC,EAAK,CACPK,EAASA,GAAU,EAEnB,IAAK,IAAIrP,EAAI,EAAGA,EAAI,KAAMA,EACxBgP,EAAIK,EAASrP,GAAKuwC,EAAKvwC,GAGzB,OAAOgP,EAGT,OAAOu+B,EAAUgD,IClBnB,SAASrqC,EAAEhB,EAAGU,EAAGY,EAAG+W,GAClB,OAAQrY,GACN,KAAK,EACH,OAAOU,EAAIY,GAAKZ,EAAI2X,EAEtB,KAAK,EAML,KAAK,EACH,OAAO3X,EAAIY,EAAI+W,EAJjB,KAAK,EACH,OAAO3X,EAAIY,EAAIZ,EAAI2X,EAAI/W,EAAI+W,GAOjC,SAASizB,EAAK5qC,EAAGP,GACf,OAAOO,GAAKP,EAAIO,IAAM,GAAKP,EA4EdorC,IC5FApb,EADNqa,EAAI,KAAM,IDoBnB,SAAc97B,GACZ,IAAIqR,EAAI,CAAC,WAAY,WAAY,WAAY,YACzCyrB,EAAI,CAAC,WAAY,WAAY,WAAY,UAAY,YAEzD,GAAqB,kBAAV98B,EAAoB,CAC7B,IAAImX,EAAM2jB,SAASC,mBAAmB/6B,IAEtCA,EAAQ,GAER,IAAK,IAAI5T,EAAI,EAAGA,EAAI+qB,EAAIhrB,SAAUC,EAChC4T,EAAMpU,KAAKurB,EAAI9a,WAAWjQ,SAElB6K,MAAMC,QAAQ8I,KAExBA,EAAQ/I,MAAM7Q,UAAUqH,MAAMnE,KAAK0W,IAGrCA,EAAMpU,KAAK,KAKX,IAJA,IAAIkG,EAAIkO,EAAM7T,OAAS,EAAI,EACvBqzB,EAAIziB,KAAK+pB,KAAKh1B,EAAI,IAClB+Z,EAAI,IAAI5U,MAAMuoB,GAETroB,EAAK,EAAGA,EAAKqoB,IAAKroB,EAAI,CAG7B,IAFA,IAAIH,EAAM,IAAIylC,YAAY,IAEjBrqC,EAAI,EAAGA,EAAI,KAAMA,EACxB4E,EAAI5E,GAAK4N,EAAW,GAAL7I,EAAc,EAAJ/E,IAAU,GAAK4N,EAAW,GAAL7I,EAAc,EAAJ/E,EAAQ,IAAM,GAAK4N,EAAW,GAAL7I,EAAc,EAAJ/E,EAAQ,IAAM,EAAI4N,EAAW,GAAL7I,EAAc,EAAJ/E,EAAQ,GAGvIyZ,EAAE1U,GAAMH,EAGV6U,EAAE2T,EAAI,GAAG,IAA2B,GAApBxf,EAAM7T,OAAS,GAAS4Q,KAAKsE,IAAI,EAAG,IACpDwK,EAAE2T,EAAI,GAAG,IAAMziB,KAAKoF,MAAM0J,EAAE2T,EAAI,GAAG,KACnC3T,EAAE2T,EAAI,GAAG,IAA2B,GAApBxf,EAAM7T,OAAS,GAAS,WAExC,IAAK,IAAI4wC,EAAM,EAAGA,EAAMvd,IAAKud,EAAK,CAGhC,IAFA,IAAIC,EAAI,IAAIP,YAAY,IAEfrrC,EAAI,EAAGA,EAAI,KAAMA,EACxB4rC,EAAE5rC,GAAKya,EAAEkxB,GAAK3rC,GAGhB,IAAK,IAAI6rC,EAAK,GAAIA,EAAK,KAAMA,EAC3BD,EAAEC,GAAML,EAAKI,EAAEC,EAAK,GAAKD,EAAEC,EAAK,GAAKD,EAAEC,EAAK,IAAMD,EAAEC,EAAK,IAAK,GAShE,IANA,IAAI1rC,EAAIurC,EAAE,GACN7qC,EAAI6qC,EAAE,GACNlrC,EAAIkrC,EAAE,GACNprC,EAAIorC,EAAE,GACN5rC,EAAI4rC,EAAE,GAEDI,EAAM,EAAGA,EAAM,KAAMA,EAAK,CACjC,IAAI5rC,EAAIyL,KAAKoF,MAAM+6B,EAAM,IACrB/qC,EAAIyqC,EAAKrrC,EAAG,GAAKe,EAAEhB,EAAGW,EAAGL,EAAGF,GAAKR,EAAImgB,EAAE/f,GAAK0rC,EAAEE,KAAS,EAC3DhsC,EAAIQ,EACJA,EAAIE,EACJA,EAAIgrC,EAAK3qC,EAAG,MAAQ,EACpBA,EAAIV,EACJA,EAAIY,EAGN2qC,EAAE,GAAKA,EAAE,GAAKvrC,IAAM,EACpBurC,EAAE,GAAKA,EAAE,GAAK7qC,IAAM,EACpB6qC,EAAE,GAAKA,EAAE,GAAKlrC,IAAM,EACpBkrC,EAAE,GAAKA,EAAE,GAAKprC,IAAM,EACpBorC,EAAE,GAAKA,EAAE,GAAK5rC,IAAM,EAGtB,MAAO,CAAC4rC,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,OE5FzU,yCCUA3hB,MARf,SAAiBqe,GACf,IAAKD,EAASC,GACZ,MAAMzuC,UAAU,gBAGlB,OAAO+Q,SAAS09B,EAAKz9B,OAAO,GAAI,GAAI,M,6BCPtC,k5TASA,IAAM,EAAoB,EAAO,KAAK,CAAC,GAAI,KAG9B,EACX,qEAiBI,SAAU,EACd,EACA,GAEA,GAAwB,qBAAb,EAAI,KAAsB,CAEnC,IAAM,EAAM,uBAA0B,GAEtC,EAAI,KAAO,gBAAsB,EAAI,WAEvC,IAAM,EAAU,yBAAkC,GAElD,MAAO,CACL,KAAM,EAAQ,OAAO,WACrB,KAAM,EAAQ,QAAQ,IAWpB,SAAU,EAAQ,EAAiB,GAEvC,OADkB,IAAI,IAAI,GACT,QAAQ,GAUrB,SAAU,EAAU,EAAmB,GAC3C,IAAM,EAAa,EAAO,KAAK,eAAmB,EAAmB,IAErE,OADY,OAAU,EAAY,GAY9B,SAAU,EACd,EACA,EACA,GAEA,IAAM,EAAe,EAAO,KAC1B,eAAmB,EAAmB,IAElC,EAAK,gBAAsB,GAAM,UACvC,OAAO,SAAY,EAAc,EAAW,GASxC,SAAU,EAAUvK,GACxB,OAAO,IAAI,WAAW,SAAgB,IAQlC,SAAU,EAAU,GACxB,OAAO,SAAgB,GAGlB,IAAM,EAA4B,IAAI,MAC3C,GAEW,EAA2B,IAAI,MAC1C,KA4DW,EAAiB,K,0GCrK9B,SAAsB,EAAtB,sC,sDAAO,WACL,EACA,EACA,GAHK,yGAQgB,EAAO,SAAS,KARhC,UASiB,qBADhB,EARD,8BAUG,IAAI,MAAM,6BAVb,OAYC,EAAa,EAAO,cAAgB,EACtC,EAAe,EAbd,YAgBE,EAAe,EAAa,GAhB9B,wBAiBC,GAAY,EAjBb,mBAmByB,EAAO,8BAA8B,GAAM,KAnBpE,aAmBK,EAnBL,QAqBe,mBArBf,0CAuBQ,GAvBR,YA0BG,EAAY,cA1Bf,uBA4BC,GAAY,EACN,IAAI,MAAJ,gCAAmC,EAAY,gBA7BtD,8DAmCG,EAnCH,qDAyCG,EAAO,iBAAiB,GAAc,KAzCzC,QA0CH,GAAgB,EA1Cb,6BA6CC,IAAI,MAAJ,0CAA6C,EAA7C,YA7CD,2D,qDCXQ,SAAS2rC,EAA8BrsC,EAAQ2yB,GAC5D,GAAc,MAAV3yB,EAAgB,MAAO,GAC3B,IAEI7J,EAAKmF,EAFLqC,EAAS,GACT2uC,EAAaj3C,OAAO+G,KAAK4D,GAG7B,IAAK1E,EAAI,EAAGA,EAAIgxC,EAAWjxC,OAAQC,IACjCnF,EAAMm2C,EAAWhxC,GACbq3B,EAAS5oB,QAAQ5T,IAAQ,IAC7BwH,EAAOxH,GAAO6J,EAAO7J,IAGvB,OAAOwH,EAZT,mC,6BCAe,SAAS4uC,EAAQr2C,GAG9B,OAAOq2C,EAAU,mBAAqB72C,QAAU,iBAAmBA,OAAOE,SAAW,SAAUM,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBR,QAAUQ,EAAIyF,cAAgBjG,QAAUQ,IAAQR,OAAOJ,UAAY,gBAAkBY,GACvHq2C,EAAQr2C,GAPb,mC,6BCAe,SAASs2C,IACtB,GAAuB,qBAAZ5tC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAU4tC,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EAExC,IAEE,OADA9Y,QAAQt+B,UAAUq3C,QAAQn0C,KAAKoG,QAAQC,UAAU+0B,QAAS,IAAI,iBACvD,EACP,MAAOxzB,GACP,OAAO,GATX,mC,6BCAA,sDAEe,SAASwsC,EAA2B/1C,EAAM2B,GACvD,GAAIA,IAA2B,WAAlB,YAAQA,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIyB,UAAU,4DAGtB,OAAO,YAAsBpD,K,gJCe/B,SAAS,EAAmB,GAC1B,IAAK,IAAM,KAAO,EACZ,OAAO,UAAU,eAAe,KAAK,EAAK,KAEvC,EAAI,IAA4B,IAApB,EAAI,GAAK,eAAqB,EAAI,IAGvD,OAAO,EAQT,SAAS,EAAgB,GAEvB,OAAO,OAAO,KAAK,GAAG,QAAO,SAAC,EAAG,GAAJ,OAAY,EAAE,EAAE,eAAiB,EAAE,GAAK,IAAI,IAQ3E,SAAS,EACP,GAEA,YACY,IAAV,GACA,OAAO,UAAU,eAAe,KAAK,EAAO,WAGrC,YADC,EAAM,OAEH,sBAKC,mB,IAQK,E,WAkBnB,WACE,EACA,EACA,GAC2C,IAA3C,EAA2C,uDAAF,GAAE,oBAGzC,KAAK,QADY,IAAf,EACQ,IAAI,IACZ,EACA,EACA,EACA,GAGQ,E,wFA2Hd,WACE,EACA,GAFF,8GAGE,EAHF,+BAG2C,GACzC,EAJF,+BAImC,GACjC,IALF,iCAOQ,EAAS,EAAgB,GACzB,EARR,2BAQ2B,GAR3B,IAQ2C,OAAQ,IARnD,kBAWsB,KAAK,GAAG,IACxB,EACA,EAAmB,GACnB,GAdN,cAWU,EAXV,yBAiBW,EAAW,gBAAgB,EAAK,EAAQ,EAAW,IAjB9D,wCAmBU,EAAW,qBAAX,MAnBV,0D,4HA4BA,WACE,EACA,GAFF,4GAGE,EAHF,+BAG2C,GACzC,EAJF,uBAKE,IALF,iCAOQ,EAPR,aAQI,eAAgB,oBACb,EAAgB,IATvB,kBAasB,KAAK,GAAG,KACxB,EACA,EAAW,cAAc,EAAM,GAC/B,EACA,GAjBN,cAaU,EAbV,yBAoBW,EAAW,gBAAgB,EAAK,mBAAoB,IApB/D,wCAsBU,EAAW,qBAAX,MAtBV,0D,8HA+BA,WACE,EACA,GAFF,0GAGE,EAHF,+BAG2C,GACzC,IAJF,iCAMQ,EANR,aAOI,eAAgB,oBACb,EAAgB,IARvB,SAWoB,KAAK,GAAG,OACxB,EACA,EAAW,cAAc,EAAM,QAC/B,EACA,GAfJ,cAWQ,EAXR,yBAkBS,EAAW,gBAAgB,EAAK,mBAAoB,IAlB7D,gD,kFAzKO,SACL,EACA,GACmC,IAAnC,EAAmC,uDAAF,GAEjC,IACE,OAAwC,IAApC,OAAO,KAAK,GAAa,OACpB,GAAQ,KAAK,MAAM,GAErB,GAAQ,YAAgB,EAAM,GACrC,MAAO,GACP,IAAM,EAA+B,EAKrC,MAHA,EAAI,YAAc,GAAQ,KAE1B,EAAI,WAAa,EACX,K,2BAYF,SACN,EACA,GAEA,IAAK,EACH,OAAO,IAAI,WAAW,GAExB,GAAuC,qBAAnC,EAAe,gBACjB,OAAO,IAAI,WAAW,EAAO,KAAK,KAAK,UAAU,KAEnD,GAAoB,kBAAT,EACT,OAAO,IAAI,WAAW,EAAO,KAAK,IAEpC,GAAI,aAAgB,WAClB,OAAO,EAET,MAAM,IAAI,MACR,iG,6BASI,SACN,EACA,EACA,GACmC,IAG/B,EAHJ,EAAmC,uDAAF,GAE3B,EAAS,EAAT,KAWN,MARe,wBAAX,IACF,EAAQ,GAAQ,EAAO,KAAK,GAAM,YAAe,IAG/C,GAAwB,qBAAX,IACf,EAAO,EAAW,UAAU,EAAM,EAAI,OAAQ,IAGhD,2BACK,GADL,IAEE,OACA,OACA,GAAqC,IAAjC,KAAK,MAAM,EAAI,OAAS,S,kCAUxB,SAA4B,GAWlC,OAVI,EAAI,WAEN,EAAI,SAAW,EAAW,gBACxB,EAAI,SACJ,oBACA,GAGF,EAAI,OAAS,EAAI,SAAS,QAErB,M,kMC7ML,SAAU,IAAuB,IAAZ,EAAY,uDAAF,GAC/B,EAAO,EAKX,OAJI,OAAO,KAAK,GAAM,OAAM,SAAC,GAAD,MAA+B,iBAAtB,EAAI,oBACvC,EAAI,eAAQ,IACP,gBAAkB,cAElB,E,IAMY,E,kDACnB,WAAY,EAAuB,GAA2B,kCAC5D,cAAM,IAD2B,SAEjC,EAAK,OAAS,EAF8C,E,wCAM9D,WACE,2B,uBAGF,WAA6B,IAAnB,IAAmB,yDAE3B,OADA,KAAK,MAAM,UAAY,EAChB,O,iEAOT,qHAAS,EAAT,+BAAmB,GACX,EAAY,EAAW,GAD/B,SAEoB,KAAK,EAAE,KACvB,KAAK,OACL,EAAO,KAAK,KAAK,QACjB,EACA,KAAK,OANT,cAEQ,EAFR,yBAQS,EAAI,MARb,gD,iEApBmC,K,uICfhB,E,WAInB,WAAY,EAAyB,GAAwB,oBAC3D,KAAK,OAAS,EACd,KAAK,QAAU,E,qDAGjB,SAAkB,GAChB,OAAO,IAAI,WAAW,EAAO,KAAK,M,6BAGpC,SAAgB,GACd,OAAO,IAAI,YAAY,SAAS,OAAO,K,kCAGzC,SAAqB,GACnB,IAAM,EAAO,GAEb,OADA,EAAK,KAAK,CAAC,EAAO,KAAK,KAChB,I,wBAGT,SAAW,GACT,OAAO,UAAQ,aAAa,K,0BAG9B,SAAa,GACX,OAAO,IAAI,WAAW,EAAO,KAAK,EAAK,Y,qCAGzC,SAAwB,GACtB,OAAO,SAAc,EAAO,KAAK,EAAK,a,wBAGxC,SAAW,GACT,OAAO,EAAO,KAAK,EAAM,UAAU,SAAS,W,oCAI9C,SACE,EACA,EACA,EACA,EACA,EAIA,GAGA,IADA,IAAM,EAAY,GACT,EAAI,EAAG,EAAI,EAAM,IACxB,EAAU,KACR,UAAQ,iCAAiC,CACvC,KAAM,EACN,gBAAiB,EACjB,SAAU,EACV,KAAM,KAAK,aAAL,eAA0B,IAChC,MAAO,EACP,YAAa,KAInB,OAAO,I,2BAIT,SAAc,GAEZ,IADA,IAAM,EAA4C,GACzC,EAAI,EAAG,EAAI,EAAmB,OAAQ,IAAK,CAElD,IAAM,EAAY,EAAO,KAAK,EAAmB,GAAG,IAAK,UAGnD,EAAkB,EAAU,SAAS,SAC3C,GACqB,SAAnB,GACmB,YAAnB,GACmB,UAAnB,EAHF,CAUE,IAGM,EAAqB,CACzB,MALS,OAAO,UAAQ,cAAc,IAMtC,aALyB,KAAK,WAC9B,EAAmB,GAAG,MAAM,QAM9B,EAAoB,KAAK,QAZd,EAef,OAAO,I,yBAGT,SAAY,GAEV,IADA,IAAI,EAAU,CAAE,qBAAsB,EAAG,mBAAoB,GACpD,EAAI,EAAG,EAAI,EAAmB,OAAQ,IAAK,CAGlD,GAAgB,YADC,KAAK,WAAW,EAAmB,GAAG,KAC3B,CAC1B,IAAM,EAAQ,EAAO,KAAK,EAAmB,GAAG,MAAM,MAAO,UAC7D,EAAU,CACR,qBAAsB,OACpB,UAAQ,cAAc,EAAM,MAAM,EAAG,KAEvC,mBAAoB,OAAO,UAAQ,cAAc,EAAM,MAAM,EAAG,QAItE,OAAO,I,0BAGT,SAAa,GAKX,IAJA,IAAM,EAAW,CACf,gBAAiB,EACjB,YAAa,QAEN,EAAI,EAAG,EAAI,EAAmB,OAAQ,IAAK,CAGlD,GAAgB,UADC,KAAK,WAAW,EAAmB,GAAG,KAC7B,CACxB,IAAM,EAAQ,EAAO,KAAK,EAAmB,GAAG,MAAM,MAAO,UAS7D,OARA,EAAS,gBAAkB,OACzB,UAAQ,cAAcg2C,EAAM,MAAM,GAAI,MAExC,EAAS,YAAc,KAAK,WAC1B,EAAmB,GAAG,MAAM,OAE3B,MAAM,EAAG,IACT,QAAQ,MAAO,IACX,GAGX,OAAO,I,8BAGT,SAAiB,GAGf,MAAa,IAFA,KAAK,gBAAgB,GACf,QAAQ,MAAO,IAAI,QAAQ,MAAO,IAAI,S,+BAQ3D,SAAkB,EAAmB,GACnC,IAAM,EAAa,CACjB,KAAK,gBAAgB,EAAM,MAAM,EAAG,KAAK,QAAQ,MAAO,IACxD,OAAO,UAAQ,cAAc,EAAM,MAAM,GAAI,MAC7C,KAAK,gBAAgB,EAAM,MAAM,MAEnC,MAAO,CACL,YAAa,EAAW,GACxB,SAAU,EAAW,GACrB,aAAc,EACd,mBAAoB,EAAW,M,+BAInC,SAAkB,GAChB,IAAM,EAAa,CACjB,OAAO,UAAQ,cAAc,EAAM,MAAM,EAAG,KAC5C,OAAO,UAAQ,cAAc,EAAM,MAAM,EAAG,MAC5C,KAAK,gBAAgB,EAAM,MAAM,KAAK,QAAQ,MAAO,KAEvD,MAAO,CACL,SAAU,EAAW,GACrB,aAAc,EAAW,GACzB,UAAW,EAAW,Q,gDClL5B,IAAI3/B,EAAyB,qBAATrW,KAAuBA,KAAO+B,KAC9Ck0C,EAAY,WAChB,SAASx5B,IACT1a,KAAKm0C,OAAQ,EACbn0C,KAAKo0C,aAAe9/B,EAAO8/B,aAG3B,OADA15B,EAAEhe,UAAY4X,EACP,IAAIoG,EANK,IAQhB,SAAUzc,IAEQ,SAAU1B,GAE1B,IAAI83C,EACY,oBAAqBp2C,EADjCo2C,EAEQ,WAAYp2C,GAAQ,aAAcnB,OAF1Cu3C,EAIA,eAAgBp2C,GAChB,SAAUA,GACT,WACC,IAEE,OADA,IAAIq2C,MACG,EACP,MAAO9sC,GACP,OAAO,GALV,GAND6sC,EAcQ,aAAcp2C,EAdtBo2C,EAeW,gBAAiBp2C,EAOhC,GAAIo2C,EACF,IAAIE,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EACF7lC,YAAYsB,QACZ,SAAS3S,GACP,OAAOA,GAAOi3C,EAAYpjC,QAAQ1U,OAAOC,UAAUsT,SAASpQ,KAAKtC,KAAS,GAIhF,SAASm3C,EAAczxC,GAIrB,GAHoB,kBAATA,IACTA,EAAOwO,OAAOxO,IAEZ,4BAA4BgK,KAAKhK,GACnC,MAAM,IAAI3B,UAAU,0CAEtB,OAAO2B,EAAKqN,cAGd,SAASqkC,EAAel3C,GAItB,MAHqB,kBAAVA,IACTA,EAAQgU,OAAOhU,IAEVA,EAIT,SAASm3C,EAAYvoC,GACnB,IAAIpP,EAAW,CACbwE,KAAM,WACJ,IAAIhE,EAAQ4O,EAAM+7B,QAClB,MAAO,CAACzoC,UAAgB0B,IAAV5D,EAAqBA,MAAOA,KAU9C,OANI62C,IACFr3C,EAASF,OAAOE,UAAY,WAC1B,OAAOA,IAIJA,EAGT,SAAS43C,EAAQC,GACf70C,KAAKw1B,IAAM,GAEPqf,aAAmBD,EACrBC,EAAQt0C,SAAQ,SAAS/C,EAAOwF,GAC9BhD,KAAK80C,OAAO9xC,EAAMxF,KACjBwC,MACMuN,MAAMC,QAAQqnC,GACvBA,EAAQt0C,SAAQ,SAASw0C,GACvB/0C,KAAK80C,OAAOC,EAAO,GAAIA,EAAO,MAC7B/0C,MACM60C,GACTp4C,OAAOu4C,oBAAoBH,GAASt0C,SAAQ,SAASyC,GACnDhD,KAAK80C,OAAO9xC,EAAM6xC,EAAQ7xC,MACzBhD,MAgEP,SAASi1C,EAASC,GAChB,GAAIA,EAAKC,SACP,OAAO7xC,QAAQ1C,OAAO,IAAIS,UAAU,iBAEtC6zC,EAAKC,UAAW,EAGlB,SAASC,EAAgBC,GACvB,OAAO,IAAI/xC,SAAQ,SAAS3C,EAASC,GACnCy0C,EAAOC,OAAS,WACd30C,EAAQ00C,EAAOx0C,SAEjBw0C,EAAOE,QAAU,WACf30C,EAAOy0C,EAAOp0C,WAKpB,SAASu0C,EAAsBC,GAC7B,IAAIJ,EAAS,IAAIK,WACbC,EAAUP,EAAgBC,GAE9B,OADAA,EAAOO,kBAAkBH,GAClBE,EAoBT,SAASE,EAAYnkC,GACnB,GAAIA,EAAI3N,MACN,OAAO2N,EAAI3N,MAAM,GAEjB,IAAI+xC,EAAO,IAAIlpC,WAAW8E,EAAI5C,YAE9B,OADAgnC,EAAKl8B,IAAI,IAAIhN,WAAW8E,IACjBokC,EAAKnmC,OAIhB,SAASomC,IA0FP,OAzFA/1C,KAAKm1C,UAAW,EAEhBn1C,KAAKg2C,UAAY,SAASd,GAhM5B,IAAoB53C,EAiMhB0C,KAAKi2C,UAAYf,EACZA,EAEsB,kBAATA,EAChBl1C,KAAKk2C,UAAYhB,EACRb,GAAgBC,KAAK53C,UAAUy5C,cAAcjB,GACtDl1C,KAAKo2C,UAAYlB,EACRb,GAAoBgC,SAAS35C,UAAUy5C,cAAcjB,GAC9Dl1C,KAAKs2C,cAAgBpB,EACZb,GAAwBkC,gBAAgB75C,UAAUy5C,cAAcjB,GACzEl1C,KAAKk2C,UAAYhB,EAAKllC,WACbqkC,GAAuBA,KA5MlB/2C,EA4M6C43C,IA3MjDsB,SAAS95C,UAAUy5C,cAAc74C,KA4M3C0C,KAAKy2C,iBAAmBZ,EAAYX,EAAKvlC,QAEzC3P,KAAKi2C,UAAY,IAAI3B,KAAK,CAACt0C,KAAKy2C,oBACvBpC,IAAwB1lC,YAAYjS,UAAUy5C,cAAcjB,IAASV,EAAkBU,IAChGl1C,KAAKy2C,iBAAmBZ,EAAYX,GAEpCl1C,KAAKk2C,UAAYhB,EAAOz4C,OAAOC,UAAUsT,SAASpQ,KAAKs1C,GAhBvDl1C,KAAKk2C,UAAY,GAmBdl2C,KAAK60C,QAAQnf,IAAI,kBACA,kBAATwf,EACTl1C,KAAK60C,QAAQj7B,IAAI,eAAgB,4BACxB5Z,KAAKo2C,WAAap2C,KAAKo2C,UAAU32C,KAC1CO,KAAK60C,QAAQj7B,IAAI,eAAgB5Z,KAAKo2C,UAAU32C,MACvC40C,GAAwBkC,gBAAgB75C,UAAUy5C,cAAcjB,IACzEl1C,KAAK60C,QAAQj7B,IAAI,eAAgB,qDAKnCy6B,IACFr0C,KAAKy1C,KAAO,WACV,IAAIiB,EAAWzB,EAASj1C,MACxB,GAAI02C,EACF,OAAOA,EAGT,GAAI12C,KAAKo2C,UACP,OAAO9yC,QAAQ3C,QAAQX,KAAKo2C,WACvB,GAAIp2C,KAAKy2C,iBACd,OAAOnzC,QAAQ3C,QAAQ,IAAI2zC,KAAK,CAACt0C,KAAKy2C,oBACjC,GAAIz2C,KAAKs2C,cACd,MAAM,IAAIz3C,MAAM,wCAEhB,OAAOyE,QAAQ3C,QAAQ,IAAI2zC,KAAK,CAACt0C,KAAKk2C,cAI1Cl2C,KAAK22C,YAAc,WACjB,OAAI32C,KAAKy2C,iBACAxB,EAASj1C,OAASsD,QAAQ3C,QAAQX,KAAKy2C,kBAEvCz2C,KAAKy1C,OAAO10C,KAAKy0C,KAK9Bx1C,KAAK42C,KAAO,WACV,IAAIF,EAAWzB,EAASj1C,MACxB,GAAI02C,EACF,OAAOA,EAGT,GAAI12C,KAAKo2C,UACP,OAjGN,SAAwBX,GACtB,IAAIJ,EAAS,IAAIK,WACbC,EAAUP,EAAgBC,GAE9B,OADAA,EAAOwB,WAAWpB,GACXE,EA6FImB,CAAe92C,KAAKo2C,WACtB,GAAIp2C,KAAKy2C,iBACd,OAAOnzC,QAAQ3C,QA5FrB,SAA+B+Q,GAI7B,IAHA,IAAIokC,EAAO,IAAIlpC,WAAW8E,GACtBqlC,EAAQ,IAAIxpC,MAAMuoC,EAAKrzC,QAElBC,EAAI,EAAGA,EAAIozC,EAAKrzC,OAAQC,IAC/Bq0C,EAAMr0C,GAAK8O,OAAOyC,aAAa6hC,EAAKpzC,IAEtC,OAAOq0C,EAAMphC,KAAK,IAqFSqhC,CAAsBh3C,KAAKy2C,mBAC7C,GAAIz2C,KAAKs2C,cACd,MAAM,IAAIz3C,MAAM,wCAEhB,OAAOyE,QAAQ3C,QAAQX,KAAKk2C,YAI5B7B,IACFr0C,KAAKi3C,SAAW,WACd,OAAOj3C,KAAK42C,OAAO71C,KAAKs3B,KAI5Br4B,KAAKk3C,KAAO,WACV,OAAOl3C,KAAK42C,OAAO71C,KAAKo2C,KAAKnG,QAGxBhxC,KA1MT40C,EAAQl4C,UAAUo4C,OAAS,SAAS9xC,EAAMxF,GACxCwF,EAAOyxC,EAAczxC,GACrBxF,EAAQk3C,EAAel3C,GACvB,IAAI45C,EAAWp3C,KAAKw1B,IAAIxyB,GACxBhD,KAAKw1B,IAAIxyB,GAAQo0C,EAAWA,EAAW,KAAO55C,EAAQA,GAGxDo3C,EAAQl4C,UAAR,OAA8B,SAASsG,UAC9BhD,KAAKw1B,IAAIif,EAAczxC,KAGhC4xC,EAAQl4C,UAAUg5B,IAAM,SAAS1yB,GAE/B,OADAA,EAAOyxC,EAAczxC,GACdhD,KAAKq5B,IAAIr2B,GAAQhD,KAAKw1B,IAAIxyB,GAAQ,MAG3C4xC,EAAQl4C,UAAU28B,IAAM,SAASr2B,GAC/B,OAAOhD,KAAKw1B,IAAI54B,eAAe63C,EAAczxC,KAG/C4xC,EAAQl4C,UAAUkd,IAAM,SAAS5W,EAAMxF,GACrCwC,KAAKw1B,IAAIif,EAAczxC,IAAS0xC,EAAel3C,IAGjDo3C,EAAQl4C,UAAU6D,QAAU,SAAS82C,EAAUC,GAC7C,IAAK,IAAIt0C,KAAQhD,KAAKw1B,IAChBx1B,KAAKw1B,IAAI54B,eAAeoG,IAC1Bq0C,EAASz3C,KAAK03C,EAASt3C,KAAKw1B,IAAIxyB,GAAOA,EAAMhD,OAKnD40C,EAAQl4C,UAAU8G,KAAO,WACvB,IAAI4I,EAAQ,GAIZ,OAHApM,KAAKO,SAAQ,SAAS/C,EAAOwF,GAC3BoJ,EAAMlK,KAAKc,MAEN2xC,EAAYvoC,IAGrBwoC,EAAQl4C,UAAU0D,OAAS,WACzB,IAAIgM,EAAQ,GAIZ,OAHApM,KAAKO,SAAQ,SAAS/C,GACpB4O,EAAMlK,KAAK1E,MAENm3C,EAAYvoC,IAGrBwoC,EAAQl4C,UAAU66C,QAAU,WAC1B,IAAInrC,EAAQ,GAIZ,OAHApM,KAAKO,SAAQ,SAAS/C,EAAOwF,GAC3BoJ,EAAMlK,KAAK,CAACc,EAAMxF,OAEbm3C,EAAYvoC,IAGjBioC,IACFO,EAAQl4C,UAAUI,OAAOE,UAAY43C,EAAQl4C,UAAU66C,SAqJzD,IAAIC,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAO3D,SAASC,EAAQ/e,EAAO4X,GAEtB,IAAI4E,GADJ5E,EAAUA,GAAW,IACF4E,KAEnB,GAAIxc,aAAiB+e,EAAS,CAC5B,GAAI/e,EAAMyc,SACR,MAAM,IAAI9zC,UAAU,gBAEtBrB,KAAK03C,IAAMhf,EAAMgf,IACjB13C,KAAK23C,YAAcjf,EAAMif,YACpBrH,EAAQuE,UACX70C,KAAK60C,QAAU,IAAID,EAAQlc,EAAMmc,UAEnC70C,KAAKrB,OAAS+5B,EAAM/5B,OACpBqB,KAAKqoC,KAAO3P,EAAM2P,KAClBroC,KAAK43C,OAASlf,EAAMkf,OACf1C,GAA2B,MAAnBxc,EAAMud,YACjBf,EAAOxc,EAAMud,UACbvd,EAAMyc,UAAW,QAGnBn1C,KAAK03C,IAAMlmC,OAAOknB,GAYpB,GATA14B,KAAK23C,YAAcrH,EAAQqH,aAAe33C,KAAK23C,aAAe,eAC1DrH,EAAQuE,SAAY70C,KAAK60C,UAC3B70C,KAAK60C,QAAU,IAAID,EAAQtE,EAAQuE,UAErC70C,KAAKrB,OAjCP,SAAyBA,GACvB,IAAIk5C,EAAUl5C,EAAOm5C,cACrB,OAAON,EAAQrmC,QAAQ0mC,IAAY,EAAIA,EAAUl5C,EA+BnCo5C,CAAgBzH,EAAQ3xC,QAAUqB,KAAKrB,QAAU,OAC/DqB,KAAKqoC,KAAOiI,EAAQjI,MAAQroC,KAAKqoC,MAAQ,KACzCroC,KAAK43C,OAAStH,EAAQsH,QAAU53C,KAAK43C,OACrC53C,KAAKg4C,SAAW,MAEK,QAAhBh4C,KAAKrB,QAAoC,SAAhBqB,KAAKrB,SAAsBu2C,EACvD,MAAM,IAAI7zC,UAAU,6CAEtBrB,KAAKg2C,UAAUd,GAOjB,SAAS7c,EAAO6c,GACd,IAAI+C,EAAO,IAAI5B,SAYf,OAXAnB,EACGj7B,OACA2a,MAAM,KACNr0B,SAAQ,SAAS+V,GAChB,GAAIA,EAAO,CACT,IAAIse,EAAQte,EAAMse,MAAM,KACpB5xB,EAAO4xB,EAAMuT,QAAQjuB,QAAQ,MAAO,KACpC1c,EAAQo3B,EAAMjf,KAAK,KAAKuE,QAAQ,MAAO,KAC3C+9B,EAAKnD,OAAOoD,mBAAmBl1C,GAAOk1C,mBAAmB16C,QAGxDy6C,EAGT,SAASE,EAAaC,GACpB,IAAIvD,EAAU,IAAID,EAYlB,OAT0BwD,EAAWl+B,QAAQ,eAAgB,KACzC0a,MAAM,SAASr0B,SAAQ,SAAS83C,GAClD,IAAIC,EAAQD,EAAKzjB,MAAM,KACnBr3B,EAAM+6C,EAAMnQ,QAAQluB,OACxB,GAAI1c,EAAK,CACP,IAAIC,EAAQ86C,EAAM3iC,KAAK,KAAKsE,OAC5B46B,EAAQC,OAAOv3C,EAAKC,OAGjBq3C,EAKT,SAAS0D,EAASC,EAAUlI,GACrBA,IACHA,EAAU,IAGZtwC,KAAKP,KAAO,UACZO,KAAKy4C,YAA4Br3C,IAAnBkvC,EAAQmI,OAAuB,IAAMnI,EAAQmI,OAC3Dz4C,KAAK04C,GAAK14C,KAAKy4C,QAAU,KAAOz4C,KAAKy4C,OAAS,IAC9Cz4C,KAAK24C,WAAa,eAAgBrI,EAAUA,EAAQqI,WAAa,KACjE34C,KAAK60C,QAAU,IAAID,EAAQtE,EAAQuE,SACnC70C,KAAK03C,IAAMpH,EAAQoH,KAAO,GAC1B13C,KAAKg2C,UAAUwC,GAjDjBf,EAAQ/6C,UAAUohC,MAAQ,WACxB,OAAO,IAAI2Z,EAAQz3C,KAAM,CAACk1C,KAAMl1C,KAAKi2C,aAmCvCF,EAAKn2C,KAAK63C,EAAQ/6C,WAgBlBq5C,EAAKn2C,KAAK24C,EAAS77C,WAEnB67C,EAAS77C,UAAUohC,MAAQ,WACzB,OAAO,IAAIya,EAASv4C,KAAKi2C,UAAW,CAClCwC,OAAQz4C,KAAKy4C,OACbE,WAAY34C,KAAK24C,WACjB9D,QAAS,IAAID,EAAQ50C,KAAK60C,SAC1B6C,IAAK13C,KAAK03C,OAIda,EAASt3C,MAAQ,WACf,IAAI23C,EAAW,IAAIL,EAAS,KAAM,CAACE,OAAQ,EAAGE,WAAY,KAE1D,OADAC,EAASn5C,KAAO,QACTm5C,GAGT,IAAIC,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CN,EAASO,SAAW,SAASpB,EAAKe,GAChC,IAA0C,IAAtCI,EAAiB1nC,QAAQsnC,GAC3B,MAAM,IAAIlqC,WAAW,uBAGvB,OAAO,IAAIgqC,EAAS,KAAM,CAACE,OAAQA,EAAQ5D,QAAS,CAACkE,SAAUrB,MAGjEn7C,EAAQ63C,aAAen2C,EAAKm2C,aAC5B,IACE,IAAI73C,EAAQ63C,aACZ,MAAOv2C,GACPtB,EAAQ63C,aAAe,SAAS14B,EAAS1Y,GACvChD,KAAK0b,QAAUA,EACf1b,KAAKgD,KAAOA,EACZ,IAAI/B,EAAQpC,MAAM6c,GAClB1b,KAAKg5C,MAAQ/3C,EAAM+3C,OAErBz8C,EAAQ63C,aAAa13C,UAAYD,OAAO6B,OAAOO,MAAMnC,WACrDH,EAAQ63C,aAAa13C,UAAUqG,YAAcxG,EAAQ63C,aAGvD,SAASD,EAAMzb,EAAOpc,GACpB,OAAO,IAAIhZ,SAAQ,SAAS3C,EAASC,GACnC,IAAIq4C,EAAU,IAAIxB,EAAQ/e,EAAOpc,GAEjC,GAAI28B,EAAQrB,QAAUqB,EAAQrB,OAAOsB,QACnC,OAAOt4C,EAAO,IAAIrE,EAAQ63C,aAAa,UAAW,eAGpD,IAAI+E,EAAM,IAAIC,eAEd,SAASC,IACPF,EAAIG,QAGNH,EAAI7D,OAAS,WACX,IAAIhF,EAAU,CACZmI,OAAQU,EAAIV,OACZE,WAAYQ,EAAIR,WAChB9D,QAASsD,EAAagB,EAAII,yBAA2B,KAEvDjJ,EAAQoH,IAAM,gBAAiByB,EAAMA,EAAIK,YAAclJ,EAAQuE,QAAQnf,IAAI,iBAC3E,IAAIwf,EAAO,aAAciE,EAAMA,EAAIP,SAAWO,EAAIM,aAClD94C,EAAQ,IAAI43C,EAASrD,EAAM5E,KAG7B6I,EAAI5D,QAAU,WACZ30C,EAAO,IAAIS,UAAU,4BAGvB83C,EAAIO,UAAY,WACd94C,EAAO,IAAIS,UAAU,4BAGvB83C,EAAIQ,QAAU,WACZ/4C,EAAO,IAAIrE,EAAQ63C,aAAa,UAAW,gBAG7C+E,EAAIxrB,KAAKsrB,EAAQt6C,OAAQs6C,EAAQvB,KAAK,GAEV,YAAxBuB,EAAQtB,YACVwB,EAAIS,iBAAkB,EACW,SAAxBX,EAAQtB,cACjBwB,EAAIS,iBAAkB,GAGpB,iBAAkBT,GAAO9E,IAC3B8E,EAAIU,aAAe,QAGrBZ,EAAQpE,QAAQt0C,SAAQ,SAAS/C,EAAOwF,GACtCm2C,EAAIW,iBAAiB92C,EAAMxF,MAGzBy7C,EAAQrB,SACVqB,EAAQrB,OAAOmC,iBAAiB,QAASV,GAEzCF,EAAIa,mBAAqB,WAEA,IAAnBb,EAAIc,YACNhB,EAAQrB,OAAOsC,oBAAoB,QAASb,KAKlDF,EAAIgB,KAAkC,qBAAtBlB,EAAQhD,UAA4B,KAAOgD,EAAQhD,cAIvE9B,EAAMiG,UAAW,EAEZn8C,EAAKk2C,QACRl2C,EAAKk2C,MAAQA,EACbl2C,EAAK22C,QAAUA,EACf32C,EAAKw5C,QAAUA,EACfx5C,EAAKs6C,SAAWA,GAGlBh8C,EAAQq4C,QAAUA,EAClBr4C,EAAQk7C,QAAUA,EAClBl7C,EAAQg8C,SAAWA,EACnBh8C,EAAQ43C,MAAQA,EAEhB13C,OAAOgB,eAAelB,EAAS,aAAc,CAAEiB,OAAO,IA5gBtC,CAghBf,IAlhBH,CAmhBG02C,GACHA,EAASC,MAAMkG,UAAW,SAEnBnG,EAASC,MAAMiG,SAGtB,IAAIvP,EAAMqJ,GACV33C,EAAUsuC,EAAIsJ,OACN1sC,QAAUojC,EAAIsJ,MACtB53C,EAAQ43C,MAAQtJ,EAAIsJ,MACpB53C,EAAQq4C,QAAU/J,EAAI+J,QACtBr4C,EAAQk7C,QAAU5M,EAAI4M,QACtBl7C,EAAQg8C,SAAW1N,EAAI0N,SACvB7xC,EAAOnK,QAAUA,G,6BCviBjBE,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAGT,IAIgCF,EAJ5Bg9C,EAAS3zC,EAAQ,KAEjB4zC,GAE4Bj9C,EAFKg9C,IAEgBh9C,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,GAEvFf,EAAQkL,QAAU8yC,EAAQ9yC,QAC1Bf,EAAOnK,QAAUA,EAAO,S,gBCbxB,IAAIi+C,EAA+B,EAAQ,KAqB3C9zC,EAAOnK,QAnBP,SAAkC6K,EAAQ2yB,GACxC,GAAc,MAAV3yB,EAAgB,MAAO,GAC3B,IACI7J,EAAKmF,EADLqC,EAASy1C,EAA6BpzC,EAAQ2yB,GAGlD,GAAIt9B,OAAOqK,sBAAuB,CAChC,IAAIkzB,EAAmBv9B,OAAOqK,sBAAsBM,GAEpD,IAAK1E,EAAI,EAAGA,EAAIs3B,EAAiBv3B,OAAQC,IACvCnF,EAAMy8B,EAAiBt3B,GACnBq3B,EAAS5oB,QAAQ5T,IAAQ,GACxBd,OAAOC,UAAUqf,qBAAqBnc,KAAKwH,EAAQ7J,KACxDwH,EAAOxH,GAAO6J,EAAO7J,IAIzB,OAAOwH,GAGkC2B,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,6BCrBnG,IAAIiL,EAAEb,EAAQ,IAAwBgB,EAAEhB,EAAQ,IAA6BpK,EAAQk+C,oBAAoB,SAASjzC,EAAEG,EAAED,GAAG,IAAIK,EAAEL,EAAE8tB,KAAK,SAAShuB,GAAG,OAAOA,EAAEG,MAAM,OAAOH,EAAE4jB,QAAQ,SAAS5jB,EAAEE,GAAG,OAAOK,EAAEiO,SAAStO,EAAEC,KAAKH,EAAEtF,KAAKwF,GAAGF,IAAI,KAAKjL,EAAQm+C,2BAA2B,SAASlzC,EAAEE,GAAG,IAAIK,EAAEL,EAAE,OAAOC,EAAE2tB,oBAAoB9tB,IAAIE,EAAEjF,OAAO+E,IAAIO,EAAEL,EAAE3D,MAAM2D,EAAEjF,OAAO+E,IAAIO,GAAGxL,EAAQo+C,cAAc,SAAShzC,EAAED,EAAEK,GAAG,IAAIE,EAAET,EAAEwU,SAASrU,GAAG,OAAOM,EAAE2yC,OAAOlzC,EAAE,EAAEK,GAAGE,I,cCA3c,SAAS0xB,EAAgB7xB,EAAGK,GAK1B,OAJAzB,EAAOnK,QAAUo9B,EAAkBl9B,OAAOyG,eAAiBzG,OAAOyG,eAAewvB,OAAS,SAAyB5qB,EAAGK,GAEpH,OADAL,EAAE3E,UAAYgF,EACPL,GACNpB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,QACjEo9B,EAAgB7xB,EAAGK,GAG5BzB,EAAOnK,QAAUo9B,EAAiBjzB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCRvG,IAAIgf,EAAmB,EAAQ,KAW/B7U,EAAOnK,QATP,SAAqCuL,EAAG4xB,GACtC,GAAK5xB,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOyT,EAAiBzT,EAAG4xB,GACtD,IAAI3xB,EAAItL,OAAOC,UAAUsT,SAASpQ,KAAKkI,GAAG/D,MAAM,GAAI,GAEpD,MADU,WAANgE,GAAkBD,EAAE/E,cAAagF,EAAID,EAAE/E,YAAYC,MAC7C,QAAN+E,GAAqB,QAANA,EAAoBwF,MAAMmB,KAAK5G,GACxC,cAANC,GAAqB,2CAA2CiF,KAAKjF,GAAWwT,EAAiBzT,EAAG4xB,QAAxG,IAG4ChzB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCXlDmK,EAAOnK,QAAiJ,SAASiL,GAAG,IAAIE,EAAE,GAAG,SAASC,EAAEI,GAAG,GAAGL,EAAEK,GAAG,OAAOL,EAAEK,GAAGxL,QAAQ,IAAImG,EAAEgF,EAAEK,GAAG,CAACrF,EAAEqF,EAAEK,GAAE,EAAG7L,QAAQ,IAAI,OAAOiL,EAAEO,GAAGnI,KAAK8C,EAAEnG,QAAQmG,EAAEA,EAAEnG,QAAQoL,GAAGjF,EAAE0F,GAAE,EAAG1F,EAAEnG,QAAQ,OAAOoL,EAAEU,EAAEb,EAAEG,EAAEO,EAAER,EAAEC,EAAEK,EAAE,SAASR,EAAEE,EAAEK,GAAGJ,EAAEG,EAAEN,EAAEE,IAAIjL,OAAOgB,eAAe+J,EAAEE,EAAE,CAAChK,YAAW,EAAGg4B,IAAI3tB,KAAKJ,EAAEA,EAAE,SAASH,GAAG,oBAAoB1K,QAAQA,OAAOM,aAAaX,OAAOgB,eAAe+J,EAAE1K,OAAOM,YAAY,CAACI,MAAM,WAAWf,OAAOgB,eAAe+J,EAAE,aAAa,CAAChK,OAAM,KAAMmK,EAAED,EAAE,SAASF,EAAEE,GAAG,GAAG,EAAEA,IAAIF,EAAEG,EAAEH,IAAI,EAAEE,EAAE,OAAOF,EAAE,GAAG,EAAEE,GAAG,iBAAiBF,GAAGA,GAAGA,EAAEqvB,WAAW,OAAOrvB,EAAE,IAAIO,EAAEtL,OAAO6B,OAAO,MAAM,GAAGqJ,EAAEA,EAAEI,GAAGtL,OAAOgB,eAAesK,EAAE,UAAU,CAACrK,YAAW,EAAGF,MAAMgK,IAAI,EAAEE,GAAG,iBAAiBF,EAAE,IAAI,IAAI9E,KAAK8E,EAAEG,EAAEK,EAAED,EAAErF,EAAE,SAASgF,GAAG,OAAOF,EAAEE,IAAIgrB,KAAK,KAAKhwB,IAAI,OAAOqF,GAAGJ,EAAEI,EAAE,SAASP,GAAG,IAAIE,EAAEF,GAAGA,EAAEqvB,WAAW,WAAW,OAAOrvB,EAAEC,SAAS,WAAW,OAAOD,GAAG,OAAOG,EAAEK,EAAEN,EAAE,IAAIA,GAAGA,GAAGC,EAAEG,EAAE,SAASN,EAAEE,GAAG,OAAOjL,OAAOC,UAAUE,eAAegD,KAAK4H,EAAEE,IAAIC,EAAEQ,EAAE,GAAGR,EAAEA,EAAEC,EAAE,IAAj5B,CAAs5B,CAAC,GAAG,SAASJ,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAED,aAAQ,EAAO,IAAIM,EAAEJ,EAAE,IAAIjF,EAAE,WAAW,SAAS8E,KAAK,OAAOA,EAAEqzC,cAAc,SAASrzC,EAAEE,GAAG,IAAIC,EAAED,EAAEgO,MAAMlO,GAAG,OAAOG,GAAGA,EAAElF,OAAO,GAAGkF,EAAE,IAAI,IAAIH,EAAEszC,eAAe,SAAStzC,EAAEE,GAAG,IAAIC,EAAED,EAAEgO,MAAMlO,GAAG,OAAOG,GAAGA,EAAElF,OAAO,GAAGkF,EAAE,IAAI,IAAIH,EAAEuzC,oBAAoB,SAASvzC,EAAEE,EAAEC,GAAG,GAAGH,EAAEwF,KAAKtF,GAAG,OAAOC,GAAGH,EAAEwzC,sBAAsB,SAASxzC,GAAG,OAAOA,GAAG,IAAI,KAAK,MAAM,KAAK,IAAI,KAA0C,IAAI,SAAS,MAAM,KAA7C,IAAI,SAAS,MAAM,OAA+B,IAAI,SAAS,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,MAAM,MAAM,IAAI,UAAU,MAAM,KAAK,QAAQ,SAASA,EAAEyzC,oBAAoB,SAASzzC,GAAG,IAAIE,EAAEF,EAAEotB,MAAM,KAAKgmB,OAAO,EAAE,GAAGplB,KAAK,SAAShuB,GAAG,OAAO4K,SAAS5K,EAAE,KAAK,KAAK,GAAGE,EAAExF,KAAK,GAAG,KAAKwF,EAAE,GAAG,OAAOA,EAAE,IAAI,KAAK,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM,eAAe,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,MAAM,gBAAgB,KAAK,EAAE,MAAM,YAAY,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,aAAa,KAAK,GAAG,MAAM,SAAS,KAAK,GAAG,MAAM,cAAc,KAAK,GAAG,MAAM,SAAS,KAAK,GAAG,MAAM,WAAW,QAAQ,SAASF,EAAE0zC,sBAAsB,SAAS1zC,GAAG,IAAIE,EAAEF,EAAEotB,MAAM,KAAKgmB,OAAO,EAAE,GAAGplB,KAAK,SAAShuB,GAAG,OAAO4K,SAAS5K,EAAE,KAAK,KAAK,GAAGE,EAAExF,KAAK,KAAK,IAAIwF,EAAE,IAAIA,EAAE,GAAG,GAAG,OAAO,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,UAAU,IAAIA,EAAE,IAAIA,EAAE,IAAI,EAAE,QAAQ,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,SAAS,IAAIA,EAAE,IAAI,IAAIA,EAAE,GAAG,QAAQ,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,cAAc,IAAIA,EAAE,GAAG,YAAY,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,qBAAqB,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,aAAa,IAAIA,EAAE,IAAIA,EAAE,IAAI,EAAE,SAAS,IAAIA,EAAE,GAAG,WAAW,IAAIA,EAAE,GAAG,cAAc,IAAIA,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,OAAO,IAAIA,EAAE,GAAG,WAAM,GAAQF,EAAE2zC,oBAAoB,SAAS3zC,GAAG,OAAOA,EAAEotB,MAAM,KAAKnyB,QAAQ+E,EAAE4zC,gBAAgB,SAAS1zC,EAAEC,EAAEI,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIrF,EAAE8E,EAAE2zC,oBAAoBzzC,GAAGE,EAAEJ,EAAE2zC,oBAAoBxzC,GAAGE,EAAEwL,KAAKoC,IAAI/S,EAAEkF,GAAGE,EAAE,EAAEG,EAAET,EAAEguB,IAAI,CAAC9tB,EAAEC,IAAI,SAASD,GAAG,IAAIC,EAAEE,EAAEL,EAAE2zC,oBAAoBzzC,GAAGK,EAAEL,EAAE,IAAI6F,MAAM5F,EAAE,GAAGgO,KAAK,MAAM,OAAOnO,EAAEguB,IAAIztB,EAAE6sB,MAAM,MAAM,SAASptB,GAAG,OAAO,IAAI+F,MAAM,GAAG/F,EAAE/E,QAAQkT,KAAK,KAAKnO,KAAK9D,aAAa,IAAIqE,IAAID,EAAED,EAAEwL,KAAKC,IAAI5Q,EAAEkF,IAAIC,GAAG,EAAEA,GAAGC,GAAG,CAAC,GAAGG,EAAE,GAAGJ,GAAGI,EAAE,GAAGJ,GAAG,OAAO,EAAE,GAAGI,EAAE,GAAGJ,KAAKI,EAAE,GAAGJ,GAAG,CAAC,GAAGA,IAAIC,EAAE,OAAO,EAAED,GAAG,OAAO,GAAGI,EAAE,GAAGJ,GAAGI,EAAE,GAAGJ,GAAG,OAAO,IAAIL,EAAEguB,IAAI,SAAShuB,EAAEE,GAAG,IAAIC,EAAEI,EAAE,GAAG,GAAGwF,MAAM7Q,UAAU84B,IAAI,OAAOjoB,MAAM7Q,UAAU84B,IAAI51B,KAAK4H,EAAEE,GAAG,IAAIC,EAAE,EAAEA,EAAEH,EAAE/E,OAAOkF,GAAG,EAAEI,EAAE7F,KAAKwF,EAAEF,EAAEG,KAAK,OAAOI,GAAGP,EAAEgtB,KAAK,SAAShtB,EAAEE,GAAG,IAAIC,EAAEI,EAAE,GAAGwF,MAAM7Q,UAAU83B,KAAK,OAAOjnB,MAAM7Q,UAAU83B,KAAK50B,KAAK4H,EAAEE,GAAG,IAAIC,EAAE,EAAEI,EAAEP,EAAE/E,OAAOkF,EAAEI,EAAEJ,GAAG,EAAE,CAAC,IAAIjF,EAAE8E,EAAEG,GAAG,GAAGD,EAAEhF,EAAEiF,GAAG,OAAOjF,IAAI8E,EAAEqU,OAAO,SAASrU,GAAG,IAAI,IAAIE,EAAEC,EAAEI,EAAEP,EAAE9E,EAAEwD,UAAUzD,OAAOmF,EAAE,IAAI2F,MAAM7K,EAAE,EAAEA,EAAE,EAAE,GAAGmF,EAAE,EAAEA,EAAEnF,EAAEmF,IAAID,EAAEC,EAAE,GAAG3B,UAAU2B,GAAG,GAAGpL,OAAOof,OAAO,OAAOpf,OAAOof,OAAO1V,MAAM1J,OAAO,CAAC+K,GAAGyN,OAAOrN,IAAI,IAAIE,EAAE,WAAW,IAAIN,EAAEI,EAAEF,GAAG,iBAAiBF,GAAG,OAAOA,GAAG/K,OAAO+G,KAAKgE,GAAGjH,SAAS,SAASmH,GAAGK,EAAEL,GAAGF,EAAEE,OAAO,IAAIA,EAAE,EAAEC,EAAEC,EAAEnF,OAAOiF,EAAEC,EAAED,GAAG,EAAEI,IAAI,OAAON,GAAGA,EAAE6zC,gBAAgB,SAAS7zC,GAAG,OAAOO,EAAEuzC,oBAAoB9zC,IAAIA,EAAE+zC,sBAAsB,SAAS/zC,GAAG,OAAOO,EAAEyzC,YAAYh0C,IAAI,IAAIA,EAArtF,GAA0tFE,EAAED,QAAQ/E,EAAE8E,EAAEjL,QAAQmL,EAAED,SAAS,GAAG,SAASD,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAE+zC,WAAW/zC,EAAEg0C,OAAOh0C,EAAEi0C,cAAcj0C,EAAE8zC,YAAY9zC,EAAE4zC,yBAAoB,EAAO5zC,EAAE4zC,oBAAoB,CAAC,cAAc,cAAc,kBAAkB,UAAUM,KAAK,OAAOC,WAAW,aAAaC,OAAO,SAASC,SAAS,WAAWC,SAAS,WAAWC,SAAS,WAAWC,QAAQ,UAAUC,MAAM,QAAQC,QAAQ,UAAU,gBAAgB,gBAAgBC,UAAU,YAAY,oBAAoB,KAAK,WAAW,WAAWC,QAAQ,UAAU,iBAAiB,OAAO,aAAa,KAAK,sBAAsB,QAAQC,MAAM,QAAQ,cAAc,cAAcC,UAAU,YAAYC,OAAO,SAASC,SAAS,WAAWC,GAAG,KAAKC,OAAO,SAASC,OAAO,SAASC,SAAS,WAAW,+BAA+B,mBAAmBC,UAAU,YAAYC,SAAS,WAAWC,MAAM,QAAQC,MAAM,QAAQ,aAAa,KAAKC,QAAQ,UAAU,gBAAgB,QAAQC,OAAO,SAAS,iBAAiB,SAASC,KAAK,QAAQ31C,EAAE8zC,YAAY,CAAC8B,YAAY,cAAcC,QAAQ,kBAAkBC,KAAK,OAAOC,WAAW,aAAaC,OAAO,SAASC,SAAS,WAAWC,SAAS,WAAWC,SAAS,WAAWC,QAAQ,UAAUC,MAAM,QAAQC,QAAQ,UAAUC,UAAU,YAAYC,cAAc,gBAAgB3Y,GAAG,oBAAoB4Y,SAAS,WAAWC,QAAQ,UAAUC,KAAK,iBAAiBC,GAAG,aAAaC,MAAM,sBAAsBC,MAAM,QAAQC,YAAY,cAAcC,UAAU,YAAYC,OAAO,SAASC,SAAS,WAAWC,GAAG,aAAaC,OAAO,kBAAkBC,OAAO,SAASC,SAAS,WAAWC,iBAAiB,+BAA+BC,UAAU,YAAYC,SAAS,WAAWC,MAAM,QAAQC,MAAM,QAAQC,GAAG,aAAaC,QAAQ,UAAUC,MAAM,gBAAgBC,OAAO,SAASC,OAAO,kBAAkBh4C,EAAEi0C,cAAc,CAACgE,OAAO,SAASC,OAAO,SAASC,QAAQ,UAAUC,GAAG,MAAMp4C,EAAEg0C,OAAO,CAACqE,aAAa,gBAAgBC,QAAQ,UAAUC,MAAM,QAAQC,IAAI,MAAMC,QAAQ,UAAUC,MAAM,QAAQvE,WAAW,aAAaD,KAAK,OAAOsB,MAAM,QAAQmD,MAAM,QAAQC,SAAS,YAAYC,aAAa,gBAAgBlD,KAAK,QAAQ31C,EAAE+zC,WAAW,CAAC+E,SAAS,WAAWC,MAAM,QAAQC,QAAQ,UAAUC,OAAO,SAASC,MAAM,QAAQC,OAAO,WAAW,GAAG,SAASr5C,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAED,aAAQ,EAAO,IAAIM,EAAErF,GAAGqF,EAAEJ,EAAE,MAAMI,EAAE8uB,WAAW9uB,EAAE,CAACN,QAAQM,GAAGH,EAAED,EAAE,IAAI,SAASE,EAAEL,EAAEE,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAEjF,OAAOkF,IAAI,CAAC,IAAII,EAAEL,EAAEC,GAAGI,EAAErK,WAAWqK,EAAErK,aAAY,EAAGqK,EAAEpK,cAAa,EAAG,UAAUoK,IAAIA,EAAEnK,UAAS,GAAInB,OAAOgB,eAAe+J,EAAEO,EAAExK,IAAIwK,IAAI,IAAID,EAAE,WAAW,SAASN,KAAK,IAAIE,EAAEC,EAAEI,EAAE,OAAOP,EAAEs5C,UAAU,SAASt5C,EAAEE,GAAG,QAAG,IAASA,IAAIA,GAAE,GAAI,iBAAiBF,EAAE,MAAM,IAAI3I,MAAM,gCAAgC,OAAO,IAAI6D,EAAE+E,QAAQD,EAAEE,IAAIF,EAAEwpC,MAAM,SAASxpC,GAAG,OAAO,IAAI9E,EAAE+E,QAAQD,GAAGu5C,aAAar5C,EAAEF,EAAEO,EAAE,CAAC,CAACxK,IAAI,cAAcm4B,IAAI,WAAW,OAAO9tB,EAAE4zC,cAAc,CAACj+C,IAAI,aAAam4B,IAAI,WAAW,OAAO9tB,EAAE6zC,aAAa,CAACl+C,IAAI,SAASm4B,IAAI,WAAW,OAAO9tB,EAAE8zC,SAAS,CAACn+C,IAAI,gBAAgBm4B,IAAI,WAAW,OAAO9tB,EAAE+zC,kBAAkBh0C,EAAE,OAAOE,EAAEH,EAAEhL,UAAUiL,GAAGI,GAAGF,EAAEH,EAAEK,GAAGP,EAA1f,GAA+fE,EAAED,QAAQK,EAAEN,EAAEjL,QAAQmL,EAAED,SAAS,GAAG,SAASD,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAED,aAAQ,EAAO,IAAIM,EAAEE,EAAEN,EAAE,KAAKjF,EAAEuF,EAAEN,EAAE,KAAKC,EAAEK,EAAEN,EAAE,KAAKE,EAAEI,EAAEN,EAAE,KAAKG,EAAEG,EAAEN,EAAE,KAAK,SAASM,EAAET,GAAG,OAAOA,GAAGA,EAAEqvB,WAAWrvB,EAAE,CAACC,QAAQD,GAAG,IAAIQ,EAAE,WAAW,SAASR,EAAEA,EAAEE,GAAG,QAAG,IAASA,IAAIA,GAAE,GAAI,MAAMF,GAAG,KAAKA,EAAE,MAAM,IAAI3I,MAAM,sCAAsCmB,KAAKghD,IAAIx5C,EAAExH,KAAKihD,aAAa,IAAG,IAAKv5C,GAAG1H,KAAKgxC,QAAQ,IAAItpC,EAAEF,EAAE9K,UAAU,OAAOgL,EAAEw5C,MAAM,WAAW,OAAOlhD,KAAKghD,KAAKt5C,EAAEsF,KAAK,SAASxF,GAAG,OAAOA,EAAEwF,KAAKhN,KAAKghD,MAAMt5C,EAAEy5C,aAAa,WAAW,IAAI35C,EAAExH,KAAKA,KAAKihD,aAAa3vB,QAAQ,GAAG,IAAI5pB,EAAEI,EAAEL,QAAQ+sB,KAAKzsB,EAAEN,SAAS,SAASC,GAAG,GAAG,mBAAmBA,EAAEsF,KAAK,OAAOtF,EAAEsF,KAAKxF,GAAG,GAAGE,EAAEsF,gBAAgBO,MAAM,OAAO7F,EAAEsF,KAAKqhC,MAAM,SAAS3mC,GAAG,OAAOF,EAAEwF,KAAKtF,MAAM,MAAM,IAAI7I,MAAM,2CAA2C,OAAO6I,IAAI1H,KAAKihD,aAAa3vB,QAAQ5pB,EAAE05C,SAASphD,KAAKkhD,UAAUlhD,KAAKihD,aAAa3vB,SAAS5pB,EAAE25C,WAAW,WAAW,OAAOrhD,KAAKihD,aAAa3vB,QAAQtxB,KAAKihD,aAAa3vB,QAAQtxB,KAAKmhD,gBAAgBz5C,EAAE45C,eAAe,SAAS95C,GAAG,OAAOA,EAAEgK,OAAOxR,KAAKqhD,aAAar+C,MAAMqN,eAAe,GAAGrQ,KAAKqhD,aAAar+C,MAAM,IAAI0E,EAAE65C,kBAAkB,WAAW,OAAOvhD,KAAKqhD,aAAa5vB,SAAS/pB,EAAE85C,MAAM,WAAW,OAAOxhD,KAAKihD,aAAaQ,GAAGzhD,KAAKihD,aAAaQ,GAAGzhD,KAAK0hD,WAAWh6C,EAAEg6C,QAAQ,WAAW,IAAIl6C,EAAExH,KAAKA,KAAKihD,aAAaQ,GAAG,GAAG,IAAI/5C,EAAEI,EAAEL,QAAQ+sB,KAAK9xB,EAAE+E,SAAS,SAASC,GAAG,GAAG,mBAAmBA,EAAEsF,KAAK,OAAOtF,EAAEsF,KAAKxF,GAAG,GAAGE,EAAEsF,gBAAgBO,MAAM,OAAO7F,EAAEsF,KAAKqhC,MAAM,SAAS3mC,GAAG,OAAOF,EAAEwF,KAAKtF,MAAM,MAAM,IAAI7I,MAAM,2CAA2C,OAAO6I,IAAI1H,KAAKihD,aAAaQ,GAAG/5C,EAAE05C,SAASphD,KAAKkhD,UAAUlhD,KAAKihD,aAAaQ,IAAI/5C,EAAEi6C,UAAU,SAASn6C,GAAG,IAAIE,EAAE1H,KAAKwhD,QAAQx+C,KAAK,OAAOwE,EAAEgK,OAAO9J,GAAG2I,eAAe,GAAG3I,GAAG,IAAIA,EAAEk6C,aAAa,WAAW,OAAO5hD,KAAKwhD,QAAQ/vB,SAAS/pB,EAAEm6C,YAAY,WAAW,OAAO7hD,KAAKihD,aAAaa,SAAS9hD,KAAKihD,aAAaa,SAAS9hD,KAAK+hD,iBAAiBr6C,EAAEs6C,gBAAgB,SAASx6C,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIE,EAAE1H,KAAK6hD,cAAcpiD,KAAK,OAAO+H,EAAEgK,OAAO9J,GAAG2I,eAAe,GAAG3I,GAAG,IAAIA,EAAEq6C,cAAc,WAAW,IAAIv6C,EAAExH,KAAKA,KAAKihD,aAAaa,SAAS,GAAG,IAAIp6C,EAAEI,EAAEL,QAAQ+sB,KAAK5sB,EAAEH,SAAS,SAASC,GAAG,GAAG,mBAAmBA,EAAEsF,KAAK,OAAOtF,EAAEsF,KAAKxF,GAAG,GAAGE,EAAEsF,gBAAgBO,MAAM,OAAO7F,EAAEsF,KAAKqhC,MAAM,SAAS3mC,GAAG,OAAOF,EAAEwF,KAAKtF,MAAM,MAAM,IAAI7I,MAAM,2CAA2C,OAAO6I,IAAI1H,KAAKihD,aAAaa,SAASp6C,EAAE05C,SAASphD,KAAKkhD,UAAUlhD,KAAKihD,aAAaa,UAAUp6C,EAAEu6C,UAAU,WAAW,OAAOjiD,KAAKihD,aAAaiB,OAAOliD,KAAKihD,aAAaiB,OAAOliD,KAAKmiD,eAAez6C,EAAE06C,cAAc,SAAS56C,GAAG,OAAOA,EAAEgK,OAAOxR,KAAKiiD,YAAYj/C,MAAMqN,eAAe,GAAGrQ,KAAKiiD,YAAYj/C,MAAM,IAAI0E,EAAEy6C,YAAY,WAAW,IAAI36C,EAAExH,KAAKA,KAAKihD,aAAaiB,OAAO,GAAG,IAAIx6C,EAAEI,EAAEL,QAAQ+sB,KAAK3sB,EAAEJ,SAAS,SAASC,GAAG,GAAG,mBAAmBA,EAAEsF,KAAK,OAAOtF,EAAEsF,KAAKxF,GAAG,GAAGE,EAAEsF,gBAAgBO,MAAM,OAAO7F,EAAEsF,KAAKqhC,MAAM,SAAS3mC,GAAG,OAAOF,EAAEwF,KAAKtF,MAAM,MAAM,IAAI7I,MAAM,2CAA2C,OAAO6I,IAAI1H,KAAKihD,aAAaiB,OAAOx6C,EAAE05C,SAASphD,KAAKkhD,UAAUlhD,KAAKihD,aAAaiB,QAAQx6C,EAAEspC,MAAM,WAAW,OAAOhxC,KAAKmhD,eAAenhD,KAAK0hD,UAAU1hD,KAAK+hD,gBAAgB/hD,KAAKmiD,cAAcniD,MAAM0H,EAAEq5C,UAAU,WAAW,OAAOj5C,EAAEL,QAAQoU,OAAO,GAAG7b,KAAKihD,eAAev5C,EAAE26C,UAAU,SAAS76C,GAAG,IAAIE,EAAE1H,KAAK2H,EAAE,GAAGI,EAAE,EAAErF,EAAE,GAAGkF,EAAE,EAAE,GAAGnL,OAAO+G,KAAKgE,GAAGjH,SAAS,SAASmH,GAAG,IAAIG,EAAEL,EAAEE,GAAG,iBAAiBG,GAAGnF,EAAEgF,GAAGG,EAAED,GAAG,GAAG,iBAAiBC,IAAIF,EAAED,GAAGG,EAAEE,GAAG,MAAMA,EAAE,EAAE,CAAC,IAAIF,EAAEpL,OAAO+G,KAAKmE,GAAGM,EAAEH,EAAEL,QAAQ+sB,KAAK3sB,GAAG,SAASL,GAAG,OAAOE,EAAE46C,KAAK96C,MAAM,GAAGS,EAAE,CAAC,IAAID,EAAEhI,KAAKqiD,UAAU16C,EAAEM,IAAI,QAAG,IAASD,EAAE,OAAOA,EAAE,IAAIE,EAAEJ,EAAEL,QAAQ+sB,KAAK3sB,GAAG,SAASL,GAAG,OAAOE,EAAE66C,WAAW/6C,MAAM,GAAGU,EAAE,CAAC,IAAIU,EAAE5I,KAAKqiD,UAAU16C,EAAEO,IAAI,QAAG,IAASU,EAAE,OAAOA,GAAG,GAAGhB,EAAE,EAAE,CAAC,IAAIQ,EAAE3L,OAAO+G,KAAKd,GAAGoG,EAAEhB,EAAEL,QAAQ+sB,KAAKpsB,GAAG,SAASZ,GAAG,OAAOE,EAAE86C,UAAUh7C,GAAE,MAAO,QAAG,IAASsB,EAAE,OAAO9I,KAAKyiD,eAAe//C,EAAEoG,MAAMpB,EAAE86C,UAAU,SAASh7C,EAAEE,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIC,EAAE3H,KAAKshD,iBAAiBjxC,cAActI,EAAEP,EAAE6I,cAAc3N,EAAEoF,EAAEL,QAAQ8zC,sBAAsBxzC,GAAG,OAAOL,GAAGhF,IAAIqF,EAAErF,EAAE2N,eAAetI,IAAIJ,GAAGD,EAAE+6C,eAAe,SAASj7C,GAAG,IAAIE,EAAE,CAAC,GAAGC,EAAEH,EAAEO,GAAE,EAAGrF,EAAE1C,KAAKuhD,oBAAoB,GAAG,iBAAiB7+C,EAAE,MAAM,MAAM8E,EAAE,IAAI,MAAMA,EAAE,IAAIG,EAAEH,EAAE6K,OAAO,GAAG,MAAM7K,EAAE,IAAIO,GAAE,EAAGJ,EAAEH,EAAE6K,OAAO,IAAI3K,EAAE,GAAG,MAAMF,EAAE,GAAGE,EAAExF,KAAK,GAAGwF,EAAExF,MAAM,IAAI,MAAMsF,EAAE,GAAGG,EAAEH,EAAE6K,OAAO,GAAG,MAAM7K,EAAE,KAAKO,GAAE,EAAGJ,EAAEH,EAAE6K,OAAO,IAAI3K,EAAEyJ,QAAQrJ,EAAEL,QAAQ2zC,gBAAgB14C,EAAEiF,EAAEI,KAAK,GAAGL,EAAE46C,KAAK,SAAS96C,GAAG,OAAOxH,KAAK2hD,WAAU,KAAMnwC,OAAOhK,GAAG6I,eAAe3I,EAAE66C,WAAW,SAAS/6C,GAAG,OAAOxH,KAAKgiD,iBAAgB,KAAMxwC,OAAOhK,GAAG6I,eAAe3I,EAAEg7C,SAAS,SAASl7C,GAAG,OAAOxH,KAAKoiD,eAAc,KAAM5wC,OAAOhK,GAAG6I,eAAe3I,EAAE0sB,GAAG,SAAS5sB,EAAEE,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAI1H,KAAKwiD,UAAUh7C,EAAEE,IAAI1H,KAAKsiD,KAAK96C,IAAIxH,KAAKuiD,WAAW/6C,IAAIE,EAAE2mC,KAAK,SAAS7mC,GAAG,IAAIE,EAAE1H,KAAK,YAAO,IAASwH,IAAIA,EAAE,IAAIA,EAAE6mC,MAAM,SAAS7mC,GAAG,OAAOE,EAAE0sB,GAAG5sB,OAAOA,EAAt0I,GAA20IE,EAAED,QAAQO,EAAER,EAAEjL,QAAQmL,EAAED,SAAS,GAAG,SAASD,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAED,aAAQ,EAAO,IAAIM,EAAErF,GAAGqF,EAAEJ,EAAE,MAAMI,EAAE8uB,WAAW9uB,EAAE,CAACN,QAAQM,GAAOH,EAAE,6BAA6BC,EAAE,CAAC,CAACmF,KAAK,CAAC,cAAco0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,aAAa2E,EAAEjF,EAAE+E,QAAQozC,cAAc,2BAA2BrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,SAAS2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,kCAAkCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,gBAAgBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,SAAS2E,EAAEjF,EAAE+E,QAAQozC,cAAc,2BAA2BrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,mBAAmBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,gCAAgC2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,2CAA2CrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,uBAAuB2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,iCAAiCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,cAAco0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,cAAc2E,EAAEjF,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,SAAS2E,EAAEjF,EAAE+E,QAAQozC,cAAc,iCAAiCrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,SAAS2E,EAAEjF,EAAE+E,QAAQozC,cAAc,iCAAiCrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,eAAe2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,kCAAkCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,yBAAyBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,eAAe2E,EAAEjF,EAAE+E,QAAQozC,cAAc,gCAAgCrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,cAAco0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,kBAAkB2E,EAAEjF,EAAE+E,QAAQozC,cAAc,sCAAsCrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,cAAco0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,cAAc2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,sCAAsCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,kBAAkBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,WAAW2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,0CAA0CrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,WAAWo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,UAAU2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,mCAAmCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,mBAAmBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,UAAU2E,EAAEjF,EAAE+E,QAAQozC,cAAc,2CAA2CrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,cAAco0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,iBAAiBgK,KAAKxF,GAAG,kBAAkB,cAAcG,EAAEjF,EAAE+E,QAAQozC,cAAc,kDAAkDrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,iBAAiBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,qBAAqB2E,EAAEjF,EAAE+E,QAAQozC,cAAc,iCAAiCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,YAAYo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,kBAAkB2E,EAAEjF,EAAE+E,QAAQozC,cAAc,2BAA2BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,kBAAkBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,kBAAkB2E,EAAEjF,EAAE+E,QAAQqzC,eAAe,mCAAmCtzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,YAAYo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,WAAW2E,EAAEjF,EAAE+E,QAAQozC,cAAc,6BAA6BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,cAAco0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,aAAa2E,EAAEjF,EAAE+E,QAAQozC,cAAc,+BAA+BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,SAASo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,eAAe2E,EAAEjF,EAAE+E,QAAQozC,cAAc,0BAA0BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,YAAYo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,aAAa2E,EAAEjF,EAAE+E,QAAQozC,cAAc,+BAA+BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAc,8BAA8BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,sBAAsB,gBAAgBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,cAAc2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,mBAAmBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,iBAAiB2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,IAAI9E,EAAE+E,QAAQozC,cAAc,0CAA0CrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,SAASo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,QAAQ2E,EAAEjF,EAAE+E,QAAQozC,cAAc,4BAA4BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,SAAS2E,EAAEjF,EAAE+E,QAAQozC,cAAc,0CAA0CrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,4BAA4Bo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,WAAW2E,EAAEjF,EAAE+E,QAAQozC,cAAc,oDAAoDrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAc,kCAAkCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,gBAAgBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,QAAQ2E,EAAEjF,EAAE+E,QAAQozC,cAAc,wCAAwCrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,YAAY2E,EAAEjF,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,IAAI9E,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,sBAAsBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,UAAU2E,EAAEjF,EAAE+E,QAAQozC,cAAc,2CAA2CrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,QAAQo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,iBAAiB2E,EAAEjF,EAAE+E,QAAQozC,cAAc,6BAA6BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,SAASxF,GAAG,IAAIE,GAAGF,EAAEwF,KAAK,iBAAiBrF,EAAEH,EAAEwF,KAAK,YAAY,OAAOtF,GAAGC,GAAGy5C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,mBAAmB2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,kBAAkBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,iBAAiB2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,uBAAuBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK,UAAU2E,EAAEjF,EAAE+E,QAAQozC,cAAcjzC,EAAEJ,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,OAAOo0C,SAAS,SAAS55C,GAAG,IAAIE,GAAG,IAAIF,EAAEm7C,OAAO,OAAO,yBAAyB,eAAe,MAAM,CAAC3/C,KAAKN,EAAE+E,QAAQozC,cAAcnzC,EAAEF,GAAGiqB,QAAQ/uB,EAAE+E,QAAQqzC,eAAepzC,EAAEF,OAAOE,EAAED,QAAQI,EAAEL,EAAEjL,QAAQmL,EAAED,SAAS,GAAG,SAASD,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAED,aAAQ,EAAO,IAAIM,EAAErF,GAAGqF,EAAEJ,EAAE,MAAMI,EAAE8uB,WAAW9uB,EAAE,CAACN,QAAQM,GAAGH,EAAED,EAAE,IAAQE,EAAE,CAAC,CAACmF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,wBAAwBrzC,GAAG,MAAM,CAACxE,KAAK4E,EAAE8zC,OAAO2B,KAAK5rB,QAAQ/pB,KAAK,CAACsF,KAAK,CAAC,kBAAkBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,yCAAyCrzC,GAAG,MAAM,CAACxE,KAAK4E,EAAE8zC,OAAOqE,aAAatuB,QAAQ/pB,KAAK,CAACsF,KAAK,CAAC,aAAao0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,iCAAiCrzC,GAAGG,EAAEjF,EAAE+E,QAAQuzC,sBAAsBtzC,GAAG,MAAM,CAAC1E,KAAK4E,EAAE8zC,OAAOsE,QAAQvuB,QAAQ/pB,EAAEk7C,YAAYj7C,KAAK,CAACqF,KAAK,CAAC,+BAA+Bo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK4E,EAAE8zC,OAAOwE,KAAKv4C,EAAEjF,EAAE+E,QAAQqzC,eAAe,wBAAwBtzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,cAAco0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,6BAA6BrzC,GAAG0S,QAAQ,SAAS,KAAKvS,EAAEjF,EAAE+E,QAAQwzC,oBAAoBvzC,GAAGK,EAAE,CAAC/E,KAAK4E,EAAE8zC,OAAOuE,MAAMxuB,QAAQ/pB,GAAG,OAAOC,IAAII,EAAE66C,YAAYj7C,GAAGI,IAAI,CAACiF,KAAK,CAAC,uBAAuBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,qCAAqCrzC,GAAG0S,QAAQ,SAAS,KAAK,MAAM,CAAClX,KAAK4E,EAAE8zC,OAAOwE,IAAIzuB,QAAQ/pB,KAAK,CAACsF,KAAK,SAASxF,GAAG,IAAIE,GAAGF,EAAEwF,KAAK,iBAAiBrF,EAAEH,EAAEwF,KAAK,YAAY,OAAOtF,GAAGC,GAAGy5C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,8BAA8BrzC,GAAGG,EAAEjF,EAAE+E,QAAQyzC,sBAAsBxzC,GAAGK,EAAE,CAAC/E,KAAK4E,EAAE8zC,OAAOyE,QAAQ1uB,QAAQ/pB,GAAG,OAAOC,IAAII,EAAE66C,YAAYj7C,GAAGI,IAAI,CAACiF,KAAK,CAAC,mBAAmBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,mCAAmCrzC,GAAGG,EAAE,CAAC3E,KAAK4E,EAAE8zC,OAAO0E,OAAO,OAAO14C,GAAGA,EAAEjF,SAASkF,EAAE8pB,QAAQ/pB,GAAGC,IAAI,CAACqF,KAAK,CAAC,sBAAsB,gBAAgBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,kCAAkCrzC,IAAI9E,EAAE+E,QAAQozC,cAAc,mCAAmCrzC,IAAI9E,EAAE+E,QAAQozC,cAAc,aAAarzC,GAAG,MAAM,CAACxE,KAAK4E,EAAE8zC,OAAOG,WAAWpqB,QAAQ/pB,KAAK,CAACsF,KAAK,CAAC,SAASo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,uBAAuBrzC,GAAG,MAAM,CAACxE,KAAK4E,EAAE8zC,OAAOE,KAAKnqB,QAAQ/pB,KAAK,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,2BAA2BrzC,GAAG,MAAM,CAACxE,KAAK4E,EAAE8zC,OAAOwB,MAAMzrB,QAAQ/pB,KAAK,CAACsF,KAAK,CAAC,UAAUo0C,SAAS,WAAW,MAAM,CAACp+C,KAAK4E,EAAE8zC,OAAO2E,SAAS,CAACrzC,KAAK,CAAC,QAAQo0C,SAAS,WAAW,MAAM,CAACp+C,KAAK4E,EAAE8zC,OAAO4E,YAAY,CAACtzC,KAAK,CAAC,iBAAiBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,mCAAmCrzC,GAAG,MAAM,CAACxE,KAAK4E,EAAE8zC,OAAO6E,aAAa9uB,QAAQ/pB,MAAMA,EAAED,QAAQI,EAAEL,EAAEjL,QAAQmL,EAAED,SAAS,GAAG,SAASD,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAED,aAAQ,EAAO,IAAIM,EAAErF,GAAGqF,EAAEJ,EAAE,MAAMI,EAAE8uB,WAAW9uB,EAAE,CAACN,QAAQM,GAAGH,EAAED,EAAE,IAAQE,EAAE,CAAC,CAACmF,KAAK,CAAC,cAAco0C,SAAS,WAAW,MAAM,CAAC3hD,KAAK,MAAM2uC,OAAO,YAAY,CAACphC,KAAK,CAAC,WAAWo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,aAAarzC,IAAI,OAAOG,EAAE,CAAClI,KAAKmI,EAAE+zC,cAAciE,OAAOxR,OAAO,UAAU,OAAO1mC,IAAIC,EAAEk7C,MAAMn7C,GAAGC,IAAI,CAACqF,KAAK,CAAC,2BAA2Bo0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcgE,OAAOvR,OAAO,WAAW,CAACphC,KAAK,CAAC,SAASo0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcgE,OAAOvR,OAAO,QAAQyU,MAAM,UAAU,CAAC71C,KAAK,CAAC,+BAA+Bo0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcgE,OAAOvR,OAAO,QAAQyU,MAAM,UAAU,CAAC71C,KAAK,CAAC,eAAeo0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcgE,OAAOvR,OAAO,SAASyU,MAAM,sBAAsB,CAAC71C,KAAK,CAAC,SAASo0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcgE,OAAOvR,OAAO,YAAY,CAACphC,KAAK,CAAC,kBAAkBo0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcgE,UAAU,CAAC3yC,KAAK,SAASxF,GAAG,IAAIE,EAAEF,EAAEwF,KAAK,gBAAgBrF,EAAEH,EAAEwF,KAAK,uBAAuB,OAAOtF,IAAIC,GAAGy5C,SAAS,SAAS55C,GAAG,IAAIE,EAAEhF,EAAE+E,QAAQozC,cAAc,iBAAiBrzC,GAAG,MAAM,CAAC/H,KAAKmI,EAAE+zC,cAAciE,OAAOxR,OAAO,QAAQyU,MAAMn7C,KAAK,CAACsF,KAAK,CAAC,mBAAmB,iBAAiBo0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAciE,OAAOxR,OAAO,WAAW,CAACphC,KAAK,CAAC,aAAao0C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAciE,UAAU,CAAC5yC,KAAK,SAASxF,GAAG,MAAM,eAAeA,EAAE85C,gBAAe,IAAKF,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAciE,OAAOxR,OAAO,gBAAgB,CAACphC,KAAK,SAASxF,GAAG,MAAM,SAASA,EAAE85C,gBAAe,IAAKF,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAciE,UAAU,CAAC5yC,KAAK,SAASxF,GAAG,MAAM,kBAAkBA,EAAE85C,kBAAkBF,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAciE,OAAOxR,OAAO,eAAe,CAACphC,KAAK,SAASxF,GAAG,IAAIE,EAAEsK,OAAOR,OAAOhK,EAAEo6C,gBAAgBhtB,MAAM,KAAK,IAAI,MAAM,YAAYptB,EAAEm6C,WAAU,IAAKj6C,GAAG,GAAG05C,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcgE,UAAU,CAAC3yC,KAAK,SAASxF,GAAG,MAAM,YAAYA,EAAEm6C,WAAU,IAAKP,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAciE,UAAU,CAAC5yC,KAAK,SAASxF,GAAG,MAAM,UAAUA,EAAEm6C,WAAU,IAAKP,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAckE,QAAQzR,OAAO,WAAW,CAACphC,KAAK,SAASxF,GAAG,MAAM,YAAYA,EAAEm6C,WAAU,IAAKP,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAckE,WAAW,CAAC7yC,KAAK,SAASxF,GAAG,MAAM,UAAUA,EAAEm6C,WAAU,IAAKP,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAckE,WAAW,CAAC7yC,KAAK,SAASxF,GAAG,MAAM,kBAAkBA,EAAEm6C,WAAU,IAAKP,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcmE,MAAM,CAAC9yC,KAAK,SAASxF,GAAG,MAAM,SAASA,EAAEm6C,WAAU,IAAKP,SAAS,WAAW,MAAM,CAAC3hD,KAAKmI,EAAE+zC,cAAcmE,OAAOp4C,EAAED,QAAQI,EAAEL,EAAEjL,QAAQmL,EAAED,SAAS,GAAG,SAASD,EAAEE,EAAEC,GAAG,aAAaD,EAAEmvB,YAAW,EAAGnvB,EAAED,aAAQ,EAAO,IAAIM,EAAErF,GAAGqF,EAAEJ,EAAE,MAAMI,EAAE8uB,WAAW9uB,EAAE,CAACN,QAAQM,GAAGH,EAAED,EAAE,IAAQE,EAAE,CAAC,CAACmF,KAAK,SAASxF,GAAG,MAAM,mBAAmBA,EAAE85C,gBAAe,IAAKF,SAAS,SAAS55C,GAAG,GAAG,WAAWwF,KAAKxF,GAAG,MAAM,CAACxE,KAAK4E,EAAE6zC,WAAWgF,OAAO,IAAI/4C,EAAEhF,EAAE+E,QAAQozC,cAAc,0BAA0BrzC,GAAG,MAAM,CAACxE,KAAK4E,EAAE6zC,WAAW+E,SAAS/uB,QAAQ/pB,KAAK,CAACsF,KAAK,CAAC,YAAYo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK4E,EAAE6zC,WAAWiF,SAAS/4C,EAAEjF,EAAE+E,QAAQozC,cAAc,6BAA6BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,SAASxF,GAAG,OAAOA,EAAEwF,KAAK,YAAYo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK4E,EAAE6zC,WAAWkF,QAAQh5C,EAAEjF,EAAE+E,QAAQozC,cAAc,4BAA4BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,SAASxF,GAAG,IAAIE,EAAEF,EAAEwF,KAAK,UAAUrF,EAAEH,EAAEwF,KAAK,eAAe,OAAOtF,IAAIC,GAAGy5C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK4E,EAAE6zC,WAAWmF,OAAOj5C,EAAEjF,EAAE+E,QAAQozC,cAAc,2BAA2BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,IAAI,CAACsF,KAAK,CAAC,4BAA4Bo0C,SAAS,WAAW,MAAM,CAACp+C,KAAK4E,EAAE6zC,WAAWgF,SAAS,CAACzzC,KAAK,CAAC,mBAAmBo0C,SAAS,SAAS55C,GAAG,IAAIE,EAAE,CAAC1E,KAAK4E,EAAE6zC,WAAWoF,QAAQl5C,EAAEjF,EAAE+E,QAAQozC,cAAc,4BAA4BrzC,GAAG,OAAOG,IAAID,EAAE+pB,QAAQ9pB,GAAGD,KAAKA,EAAED,QAAQI,EAAEL,EAAEjL,QAAQmL,EAAED,Y,6BCE93yBhL,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQumD,UAAYvmD,EAAQwmD,aAAexmD,EAAQymD,wBAAqB5hD,EAExE,IAIgC9D,EAJ5B2lD,EAASt8C,EAAQ,KAMrB,IAAIu8C,IAF4B5lD,EAFK2lD,IAEgB3lD,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,IAEtEmK,QAEb07C,EAAkBD,EAAGJ,UAAY/yB,OAAOqzB,YAAc,GAEjC7mD,EAAQymD,mBAAqBE,EAAGJ,UAAY/yB,OAAOszB,eAAiB,GAE1E9mD,EAAQwmD,aAAeG,EAAGJ,UAAY/yB,OAAOuzB,SAAW,GAE3D/mD,EAAQumD,UAAYI,EAAGJ,UAEvCvmD,EAAQkL,QAAU07C,G,kSCvBLI,EAA0B,8BAC1BC,EAA6B,iCAW7B,EAAyB,sCAIzB,EAAiC,0BC2D/B,E,WAvDb,iCACE,KAAK,eAAiB,G,6CAGjB,SAAU,GACf,KAAK,eAAe,KAAK,K,yBAGpB,SAAY,GACjB,KAAK,eAAiB,KAAK,eAAe,QAAO,YAAC,OAAI,EAAE,QAAU,O,qBAG7D,SACL,GAEA,IACI,EADA,EAAiC,IAInC,EADE,YAAiB,GACX,EAAQ,OACP,YAAyB,IAAY,YAAuB,GAChE,mBAAe,EAAQ,IACnB,YAAgB,GACjB,EAAQ,MAER,MAIR,EAAgB,KAAK,eAAe,QAClC,SAAC,GAAD,OAAiC,EAAa,QAAU,MAKxD,GAAkB,EAAc,QACjC,YAAgB,IAChB,YAAgB,KAEjB,EAAgB,KAAK,eAAe,QAClC,SAAC,GAAD,MAAwD,iBAAvB,EAAa,UAIlD,EAAc,SAAQ,SAAC,GACrB,GAAI,YAAuB,GAAU,CACnC,IAAM,EAAQ,IAAI,MAAM,EAAQ,MAAM,SACtC,EAAa,SAAS,EAAO,WAE7B,EAAa,SAAS,KAAM,U,KClE9B,E,WACJ,aAAsD,IAAnC,EAAmC,uDAAf,gBAAe,oBAAnC,iB,8CAEZ,WACL,IAAI,EAAwC,KACtC,EAAO,YAAS,KAAK,WAI3B,OAHI,GAAQ,YAAuB,KACjC,EAAU,GAEL,I,wBAGF,SAAW,GAEhB,OADA,YAAS,KAAK,UAAW,GAClB,I,2BAGF,WACL,YAAY,KAAK,e,KAIN,I5GrBT,EAFiB,uCAEQ,MAAM,IAAI,KAAI,YAAI,wBAAe,EAAf,gCAuB3C,SAAU,IACd,OAAO,EAJA,KAAK,MAAM,KAAK,SAAW,EAAQ,S,IrB6CtC,E,WAkDJ,WAAY,GAQV,GAR8B,oBAjDhB,cAAW,KACX,aAAU,EAIlB,aAAU,GACV,UAA2B,KAI3B,eAAY,GACZ,iBAAkC,KAIlC,aAAU,GACV,eAAgC,KAIhC,kBAAe,EACf,qBAAkB,GAIlB,iBAAa,EACb,eAAsB,GACtB,cAAW,EACX,gBAAa,EACb,aAAU,GAMV,mBAA8B,IAAI,EAexC,KAAK,YAAc,eAAmB,EAAK,cAAc,YAAc,KACvE,KAAK,WAAa,EAAK,UACvB,KAAK,gBAAkB,EAAK,gBAAkB,IAAI,EAAe,EAAK,cAAc,WACpF,KAAK,aAAe,EAAK,cAAc,YACvC,KAAK,oBAAsB,EAAK,cAAc,mBAC9C,KAAK,gBAAL,sBAA2B,KAA3B,YAA+C,EAAK,cAAc,gBAAkB,MAE/E,EAAK,cAAc,SAAW,EAAK,cAAc,MAAQ,EAAK,cAAc,QAC/E,MAAM,IAAI,M+HtHd,kE1GyBI,IAAuB,ErBgGrB,EAAK,cAAc,SACrB,KAAK,OqBrGL,SAA+B,GACnC,MAhCa,sBAgBT,SAA4B,GAChC,OAXI,SAA0B,GAE9B,IAAI,EAAW,EAAI,QAAQ,OAAS,EAAI,EAAI,MAAM,KAAK,GAAK,EAAI,MAAM,KAAK,GAK3E,OAHA,EAAW,EAAS,MAAM,KAAK,IAEX,MAAM,KAAK,GAKxB,CAAgB,GACpB,MAAM,KACN,OAAO,GACP,KAAK,KAYD,CAAkB,GAIrB,CADuB,ErBiGI,EAAK,cAAc,QqB/FzC,IAEF,GrBgGD,EAAK,cAAc,MACrB,KAAK,IAAM,EAAK,cAAc,KAGhC,IAAM,EAAU,EAAK,cAAc,SAAW,KAAK,qBAE/C,IACF,KAAK,QAAU,GAGb,KAAK,aACP,KAAK,4BAA4B,KAAK,YAAa,4BAGrD,KAAK,WACH,EAAK,WACL,IAAI,IAAgB,CAClB,SAAU,KAAK,SACf,QAAS,KAAK,QACd,IAAK,KAAK,OACV,cAAe,CAAC,KAAK,YAGzB,KAAK,6BACL,KAAK,iBAED,EAAK,cAAc,KACrB,KAAK,6BAGH,EAAK,gBACP,KAAK,oBAAoB,EAAK,gB,wCAalC,WACE,OAAO,KAAK,S,IARd,SAAW,GACJ,IAGL,KAAK,QAAU,K,eAejB,WACE,OAAI,KAAK,KACa,YAAwB,KAAK,MAAM,GAGlD,I,IAbT,SAAQ,GACN,GAAK,EAAL,CAGA,IAAM,EAAmB,YAAwB,GACjD,KAAK,KAAO,K,oBAkBd,WACE,IAAI,EAA0B,KAAK,UAKnC,OAJK,IACH,EAAW,KAAK,UAAY,eAGvB,KAAK,W,IAbd,SAAa,GACN,IAGL,KAAK,UAAY,K,kBAmBnB,WACE,OAAO,KAAK,S,IARd,SAAW,GACJ,IAGL,KAAK,QAAU,K,sBAWjB,WACE,IAAI,EAAiC,KAAK,YAI1C,OAHK,IACH,EAAa,KAAK,YAAc,eAE3B,G,IATT,SAAe,M,oBAgBf,WAEE,OADqC,KAAK,W,IAL5C,SAAa,GACX,KAAK,UAAY,I,0BAenB,WACE,OAAO,KAAK,iB,IARd,SAAmB,GACZ,IAGL,KAAK,gBAAkB,K,uBAczB,WACE,OAAO,KAAK,c,IARd,SAAgB,GACT,IAGL,KAAK,aAAe,K,eAOtB,WAEE,OADa,KAAK,c,IAIpB,SAAQ,GACN,GAAK,EAAL,CAGA,MAAwC,KAAK,UAAU,GAA/C,EAAR,EAAQ,eAAgB,EAAxB,EAAwB,OAAQ,EAAhC,EAAgC,IAChC,KAAK,eAAiB,EACtB,KAAK,OAAS,EACd,KAAK,IAAM,K,mBAOb,WAEE,OAD+B,KAAK,U,IALtC,SAAY,GACV,KAAK,SAAW,I,qBAYlB,WAEE,OADiC,KAAK,Y,IALxC,SAAc,GACZ,KAAK,WAAa,I,oBAYpB,WAEE,OADkC,KAAK,W,IALzC,SAAa,GACX,KAAK,UAAY,I,kBAYnB,WAEE,OAD8B,KAAK,S,IALrC,SAAW,GACT,KAAK,QAAU,I,qBAYjB,WACE,OAAO,KAAK,Y,IALd,SAAc,M,mBAYd,WACE,QAAS,KAAK,iB,IALhB,SAAY,M,mBAQZ,WACE,MAAO,CACL,UAAW,KAAK,UAChB,SAAU,KAAK,SACf,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,IAAK,KAAK,IACV,SAAU,KAAK,SACf,WAAY,KAAK,WACjB,OAAQ,KAAK,OACb,SAAU,KAAK,SACf,YAAa,KAAK,YAClB,eAAgB,KAAK,iB,IAIzB,SAAY,GACL,IAGL,KAAK,WAAa,EAAM,UACxB,KAAK,SAAW,EAAM,SACtB,KAAK,QAAU,EAAM,QACrB,KAAK,OAAS,EAAM,OACpB,KAAK,IAAM,EAAM,IACjB,KAAK,SAAW,EAAM,SACtB,KAAK,WAAa,EAAM,WACxB,KAAK,OAAS,EAAM,OACpB,KAAK,SAAW,EAAM,SACtB,KAAK,YAAc,EAAM,YACzB,KAAK,eAAiB,EAAM,kB,gBAKvB,SAAG,EAAe,GACvB,IAAM,EAAe,CACnB,QACA,YAEF,KAAK,cAAc,UAAU,K,iBAGxB,SAAI,GACT,KAAK,cAAc,YAAY,K,mFAG1B,WAA2B,GAA3B,4GACa,KAAK,eADlB,cACL,KAAK,KADA,OAGC,EAA2B,KAAK,eAAe,CACnD,OAAQ,oBACR,OAAQ,CACN,CACE,OAAQ,KAAK,SACb,SAAU,KAAK,WACf,QAAS,KAAK,eAAe,OAKnC,KAAK,YAAc,EAAQ,GAC3B,KAAK,eAAiB,cAEtB,KAAK,cAAc,QAAQ,CACzB,MAAO,cACP,OAAQ,CAAC,KAAK,OAGhB,KAAK,GAAG,gBAAgB,WACtB,MAAM,IAAI,MAAM,MAGZ,EAAoB,WACxB,EAAK,eA3BF,mBA+BkB,KAAK,iBAAiB,GA/BxC,eA+BG,EA/BH,SAkCD,IAlCC,kBAqCI,GArCJ,wCAuCH,IAvCG,+D,6HA4CA,WAAc,GAAd,yFACA,KAAK,aADL,sBAEG,IAAI,M+H9Z+B,6B/H4ZtC,WAKD,KAAK,UALJ,yCAMI,CACL,QAAS,KAAK,QACd,SAAU,KAAK,WARd,uBAYC,KAAK,cAAc,GAZpB,gCAcE,IAAI,QAAJ,iDAA4B,WAAO,EAAS,GAAhB,2EACjC,EAAK,GAAG,gBAAgB,kBAAM,EAAO,IAAI,MAAM,OAE/C,EAAK,GAAG,WAAW,SAAC,EAAO,GACzB,GAAI,EACF,OAAO,EAAO,GAGhB,EAAQ,EAAQ,OAAO,OARQ,2CAA5B,0DAdF,gD,mIA2BA,WAAoB,GAApB,qFACD,KAAK,WADJ,sBAEG,IAAI,MAAM,GAFb,WAKD,KAAK,QALJ,iEASa,KAAK,eATlB,OASL,KAAK,KATA,OAWC,EAA2B,KAAK,eAAe,CACnD,OAAQ,oBACR,OAAQ,CACN,CACE,OAAQ,KAAK,SACb,SAAU,KAAK,WACf,QAAS,GAAQ,EAAK,QAAU,EAAK,QAAU,SAKrD,KAAK,YAAc,EAAQ,GAC3B,KAAK,eAAiB,cAEtB,KAAK,oBAAoB,EAAS,0BAA2B,CAC3D,MAAO,KAAK,iBAGd,KAAK,cAAc,QAAQ,CACzB,MAAO,cACP,OAAQ,CAAC,KAAK,OA/BX,iD,mFAmCA,SAAe,GACpB,GAAI,KAAK,WACP,MAAM,IAAI,MAAM,GAGlB,KAAK,QAAU,EAAc,QAC7B,KAAK,SAAW,EAAc,SAC9B,KAAK,UAAY,EAAc,WAAa,EAC5C,KAAK,OAAS,EAAc,QAAU,GAEtC,IAAM,EAAgC,CACpC,UAAU,EACV,QAAS,KAAK,QACd,UAAW,KAAK,UAChB,SAAU,KAAK,SACf,OAAQ,KAAK,OACb,OAAQ,KAAK,SACb,SAAU,KAAK,YAGX,EAAW,CACf,GAAI,KAAK,YACT,QAAS,MACT,OAAQ,GAGV,KAAK,cAAc,GAEnB,KAAK,YAAa,EAClB,KAAK,qBACL,KAAK,cAAc,QAAQ,CACzB,MAAO,UACP,OAAQ,CACN,CACE,OAAQ,KAAK,OACb,SAAU,KAAK,SACf,QAAS,KAAK,QACd,SAAU,KAAK,e,2BAMhB,SAAc,GACnB,GAAI,KAAK,WACP,MAAM,IAAI,MAAM,GAGlB,IAAM,EACJ,GAAgB,EAAa,QAAU,EAAa,Q+HxhBpB,mB/H0hB5B,EAAW,KAAK,gBAAgB,CACpC,GAAI,KAAK,YACT,MAAO,CAAE,aAGX,KAAK,cAAc,GAEnB,KAAK,YAAa,EAClB,KAAK,cAAc,QAAQ,CACzB,MAAO,aACP,OAAQ,CAAC,CAAE,cAEb,KAAK,0B,2BAGA,SAAc,GACnB,IAAK,KAAK,WACR,MAAM,IAAI,MAAM,GAGlB,KAAK,QAAU,EAAc,QAC7B,KAAK,SAAW,EAAc,SAC9B,KAAK,UAAY,EAAc,WAAa,EAC5C,KAAK,OAAS,EAAc,QAAU,GAEtC,IAAM,EAAgC,CACpC,UAAU,EACV,QAAS,KAAK,QACd,UAAW,KAAK,UAChB,SAAU,KAAK,SACf,OAAQ,KAAK,QAGT,EAAU,KAAK,eAAe,CAClC,OAAQ,mBACR,OAAQ,CAAC,KAGX,KAAK,oBAAoB,EAAS,2BAElC,KAAK,cAAc,QAAQ,CACzB,MAAO,iBACP,OAAQ,CACN,CACE,QAAS,KAAK,QACd,SAAU,KAAK,aAKrB,KAAK,0B,0EAGA,WAAkB,GAAlB,4FACC,EAAU,EAAe,EAAa,QAAU,uBAEhD,EAAgC,CACpC,UAAU,EACV,QAAS,KACT,UAAW,KACX,SAAU,MAGN,EAAU,KAAK,eAAe,CAClC,OAAQ,mBACR,OAAQ,CAAC,KAZN,SAeC,KAAK,aAAa,GAfnB,OAiBL,KAAK,yBAAyB,GAjBzB,gD,qIAoBA,WAAsB,GAAtB,wFACA,KAAK,WADL,sBAEG,IAAI,MAAM,GAFb,cAKC,EAAW,YAAqB,GAEhC,EAAU,KAAK,eAAe,CAClC,OAAQ,sBACR,OAAQ,CAAC,KATN,SAYgB,KAAK,iBAAiB,GAZtC,cAYC,EAZD,yBAaE,GAbF,gD,qIAgBA,WAAsB,GAAtB,wFACA,KAAK,WADL,sBAEG,IAAI,MAAM,GAFb,cAKC,EAAW,YAAqB,GAEhC,EAAU,KAAK,eAAe,CAClC,OAAQ,sBACR,OAAQ,CAAC,KATN,SAYgB,KAAK,iBAAiB,GAZtC,cAYC,EAZD,yBAaE,GAbF,gD,iIAgBA,WAAkB,GAAlB,sFACA,KAAK,WADL,sBAEG,IAAI,MAAM,GAFb,cAKC,EAAU,KAAK,eAAe,CAClC,OAAQ,WACR,WAPG,SAUgB,KAAK,iBAAiB,GAVtC,cAUC,EAVD,yBAWE,GAXF,gD,yIAcA,WAA0B,GAA1B,sFACA,KAAK,WADL,sBAEG,IAAI,MAAM,GAFb,cAKL,EAAS,YAAkB,GAErB,EAAU,KAAK,eAAe,CAClC,OAAQ,gBACR,WATG,SAYgB,KAAK,iBAAiB,GAZtC,cAYC,EAZD,yBAaE,GAbF,gD,mIAgBA,WAAoB,GAApB,sFACA,KAAK,WADL,sBAEG,IAAI,MAAM,GAFb,cAKC,EAAU,KAAK,eAAe,CAClC,OAAQ,oBACR,WAPG,SAUgB,KAAK,iBAAiB,GAVtC,cAUC,EAVD,yBAWE,GAXF,gD,iIAcA,WAAkB,GAAlB,sFACA,KAAK,WADL,sBAEG,IAAI,MAAM,kCAFb,cAKC,EAAU,KAAK,eAAe,CAClC,OAAQ,qBACR,OAAQ,CAAC,KAPN,SAUgB,KAAK,iBAAiB,GAVtC,cAUC,EAVD,yBAWE,GAXF,gD,+EAcA,SACL,EACA,GAAyB,WASzB,OAPA,KAAK,aAAa,EAAS,GAE3B,KAAK,cAAc,QAAQ,CACzB,MAAO,oBACP,OAAQ,CAAC,CAAE,UAAS,cAGf,IAAI,SAAQ,SAAC,EAAS,GAC3B,EAAK,qBAAqB,EAAQ,IAAI,SAAC,EAAqB,GAC1D,GAAI,EACF,EAAO,OADT,CAIA,IAAK,EACH,MAAM,IAAI,M+H7sBkB,6B/H+sB9B,EAAQ,Y,gFAKP,WAAwB,EAAmC,GAA3D,sFACA,KAAK,WADL,sBAEG,IAAI,MAAM,GAFb,YAKG,EAAQ,OALX,OAME,iBANF,OAQE,gBARF,OAUE,wBAVF,MAWE,wBAXF,OAgBE,kBAhBF,gDAOM,KAAK,UAPX,gCASM,YAAmB,KAAK,UAT9B,cAYG,EAAQ,SACV,EAAQ,OAAO,GAAK,YAAqB,EAAQ,OAAO,KAbzD,mCAiBG,EAAQ,SACV,EAAQ,OAAS,YAAkB,EAAQ,SAlB5C,wEAyBC,EAAmB,KAAK,eAAe,GAzBxC,UA2BgB,KAAK,iBAAiB,EAAkB,GA3BxD,eA2BC,EA3BD,yBA4BE,GA5BF,iD,qFA+BA,SAAe,GACpB,IAAI,YAAyB,GAI3B,MAAM,IAAI,M+HvvBiB,yD/HovB3B,IAAM,EAAoB,KAAK,gBAAgB,GAC/C,KAAK,cAAc,K,2BAMhB,SAAc,GACnB,IAAI,YAAuB,GAIzB,MAAM,IAAI,M+H/vBgB,sD/H4vB1B,IAAM,EAAoB,KAAK,gBAAgB,GAC/C,KAAK,cAAc,K,4BAMhB,WACL,KAAK,WAAW,U,2EAKR,WACR,EACA,GAFQ,gGAIF,EAA+B,KAAK,eAAe,GAJjD,SAMmD,KAAK,SAAS,GANjE,OAMF,EANE,OAQF,EAA0C,qBAAZ,OAAP,QAAO,IAAP,OAAO,EAAP,EAAS,OAAwB,EAAQ,MAAQ,KAAK,OAC7E,EAAkB,KAAK,UAAU,GACjC,EACsC,qBAA5B,OAAP,QAAO,IAAP,OAAO,EAAP,EAAS,wBACX,EAAQ,sBACT,YAAgB,GAEtB,KAAK,WAAW,KAAK,EAAS,EAAO,GAf7B,gD,qIAkBA,WAAoB,GAApB,qGACmD,KAAK,SAAS,GADjE,OACF,EADE,OAGF,EAAgB,KAAK,OACrB,EAAkB,KAAK,UAAU,IACxB,EAEf,KAAK,WAAW,KAAK,EAAS,EAFf,MALP,gD,yIAUA,WACR,EACA,EACA,GAHQ,2EAKR,KAAK,aAAa,EAAS,GAC3B,KAAK,4BAA4B,EAAQ,GAAI,GANrC,gD,yFASA,SAAiB,EAA0B,GAQnD,OAPA,KAAK,aAAa,EAAS,GAE3B,KAAK,cAAc,QAAQ,CACzB,MAAO,oBACP,OAAQ,CAAC,CAAE,UAAS,cAGf,KAAK,yBAAyB,EAAQ,M,4BAGrC,SAAe,GACvB,GAA8B,qBAAnB,EAAQ,OACjB,MAAM,IAAI,M+H1zBiB,mD/Hk0B7B,MAN0C,CACxC,GAA0B,qBAAf,EAAQ,GAAqB,cAAc,EAAQ,GAC9D,QAAS,MACT,OAAQ,EAAQ,OAChB,OAAkC,qBAAnB,EAAQ,OAAyB,GAAK,EAAQ,U,6BAKvD,SACR,GAEA,GAA2B,qBAAhB,EAAS,GAClB,MAAM,IAAI,M+Hx0Ba,+C/H20BzB,IAAM,EAAe,CAAE,GAAI,EAAS,GAAI,QAAS,OAEjD,GAAI,YAAuB,GAAW,CACpC,IAAM,EAAQ,YAAe,EAAS,OAOtC,OALmB,6CACd,GACA,GAAQ,CACX,UAGG,GAAI,YAAyB,GAMlC,OALqB,+BAChB,GACA,GAMP,MAAM,IAAI,MAAM,K,sCAGV,SAAyB,GAC/B,IAAM,EAAU,GAAY,uBACvB,KAAK,aACJ,KAAK,cACP,KAAK,aAAa,QAEpB,YAAY,MAEV,KAAK,aACP,KAAK,YAAa,GAEhB,KAAK,eACP,KAAK,aAAe,GAElB,KAAK,kBACP,KAAK,gBAAkB,IAErB,KAAK,UACP,KAAK,QAAU,IAEjB,KAAK,cAAc,QAAQ,CACzB,MAAO,aACP,OAAQ,CAAC,CAAE,cAEb,KAAK,wBACL,KAAK,mB,oCAGC,SAAuB,EAAkB,GAC3C,GACE,EAAc,UACX,KAAK,YA+BJ,EAAc,UAChB,KAAK,QAAU,EAAc,SAE3B,EAAc,WAChB,KAAK,SAAW,EAAc,UAGhC,KAAK,cAAc,QAAQ,CACzB,MAAO,iBACP,OAAQ,CACN,CACE,QAAS,KAAK,QACd,SAAU,KAAK,eA1CrB,KAAK,YAAa,EAEd,EAAc,UAChB,KAAK,QAAU,EAAc,SAG3B,EAAc,WAChB,KAAK,SAAW,EAAc,UAG5B,EAAc,SAAW,KAAK,SAChC,KAAK,OAAS,EAAc,QAG1B,EAAc,WAAa,KAAK,WAClC,KAAK,SAAW,EAAc,UAGhC,KAAK,cAAc,QAAQ,CACzB,MAAO,UACP,OAAQ,CACN,CACE,OAAQ,KAAK,OACb,SAAU,KAAK,SACf,QAAS,KAAK,QACd,SAAU,KAAK,cAuBvB,KAAK,yBAKP,KAAK,yBAAyB,K,sFAI1B,WAA8B,GAA9B,sFACe,CAAC,KAAK,SAAU,KAAK,gBAExB,SAAS,EAAc,OAHnC,0DASJ,EAAoB,KAAK,MAAM,EAAc,SATzC,mGAkBW,KAAK,SAAS,GAlBzB,SAcA,EAdA,SAqBJ,KAAK,cAAc,QAAQ,GArBvB,yD,+FAyBA,WACN,KAAK,WAAW,UAAU,KAAK,kB,kCAGzB,SACN,EACA,GAEA,KAAK,GAAL,mBAAoB,GAAM,K,yCAGpB,SAA4B,EAAY,GAAgB,WAC9D,KAAK,qBAAqB,GAAI,SAAC,EAAO,GAChC,EACF,EAAK,uBAAuB,EAAM,SAGhC,YAAyB,GAC3B,EAAK,uBAAuB,EAAU,EAAQ,QACrC,EAAQ,OAAS,EAAQ,MAAM,QACxC,EAAK,uBAAuB,EAAQ,MAAM,SAE1C,EAAK,uBAAuB,Q,sCAK1B,SAAyB,GAAU,WACzC,OAAO,IAAI,SAAQ,SAAC,EAAS,GAC3B,EAAK,qBAAqB,GAAI,SAAC,EAAO,GAChC,EACF,EAAO,GAGL,YAAyB,GAC3B,EAAQ,EAAQ,QACP,EAAQ,OAAS,EAAQ,MAAM,QACxC,EAAO,EAAQ,OAEf,EAAO,IAAI,MAAM,Y,wCAMjB,WAA0B,WAChC,KAAK,GAAG,eAAe,WACjB,EAAK,cACP,EAAK,aAAa,KAChB,EAAK,KACL,WACE,EAAK,cAAc,QAAQ,CACzB,MAAO,eACP,OAAQ,OAGZ,EAAK,wBAKX,KAAK,GAAG,WAAW,WACb,EAAK,cACP,EAAK,aAAa,WAItB,KAAK,GAAG,qBAAqB,SAAC,EAAO,GACnC,IAAQ,EAAY,EAAQ,OAAO,GAA3B,QACR,GAAI,eAAc,EAAK,gBAAgB,SAAS,EAAQ,QAAS,CAC/D,IAAM,EAAgB,YAAS,KAC3B,IACF,OAAO,SAAS,KAAO,EAAc,UAK3C,KAAK,GAAG,qBAAqB,SAAC,EAAO,GAC/B,GACF,EAAK,cAAc,QAAQ,CACzB,MAAO,QACP,OAAQ,CACN,CACE,KAAM,wBACN,QAAS,EAAM,eAKvB,EAAK,YAAc,EAAQ,GAC3B,EAAK,OAAS,EAAQ,OAAO,GAAG,OAChC,EAAK,SAAW,EAAQ,OAAO,GAAG,SAElC,IAAM,EAAe,+BAChB,GAAO,CACV,OAAQ,oBAEV,EAAK,cAAc,QAAQ,MAG7B,KAAK,GAAG,oBAAoB,SAAC,EAAO,GAC9B,GACF,EAAK,uBAAuB,EAAM,SAEpC,EAAK,uBAAuB,uBAAwB,EAAQ,OAAO,S,4BAI/D,WAAc,WACpB,KAAK,WAAW,GAAG,WAAW,SAAC,GAAD,OAC5B,EAAK,wBAAwB,MAG/B,KAAK,WAAW,GAAG,QAAQ,kBACzB,EAAK,cAAc,QAAQ,CAAE,MAAO,iBAAkB,OAAQ,QAGhE,KAAK,WAAW,GAAG,SAAS,kBAC1B,EAAK,cAAc,QAAQ,CAAE,MAAO,kBAAmB,OAAQ,QAGjE,KAAK,WAAW,GAAG,SAAS,kBAC1B,EAAK,cAAc,QAAQ,CACzB,MAAO,kBACP,OAAQ,CAAC,oCAIb,KAAK,WAAW,S,wBAKV,WACN,IAAM,EAAW,KAAK,SAChB,EAAiB,KAAK,eACtB,EAAU,KAAK,QACf,EAAS,mBAAmB,KAAK,QACjC,EAAM,KAAK,IAEjB,MADS,UAAM,EAAN,YAAkB,EAAlB,YAAoC,EAApC,mBAAsD,EAAtD,gBAAoE,K,uBAIvE,SAAU,GAChB,IAAM,EAA0B,YAAsB,GAEtD,GAAI,EAAO,WAAa,KAAK,SAAU,CACrC,IAAK,EAAO,eACV,MAAM,MAAM,qDAEd,IAAM,EAAiB,EAAO,eAE9B,IAAK,EAAO,OACV,MAAM,MAAM,iDAEd,IAAM,EAAS,mBAAmB,EAAO,QAEzC,IAAK,EAAO,IACV,MAAM,MAAM,0CAId,MAAO,CAAE,iBAAgB,SAAQ,IAFrB,EAAO,KAInB,MAAM,IAAI,M+HnnCiB,2B,2E/HynCvB,kGACF,KAAK,WADH,gCAEiB,KAAK,WAAW,cAFjC,cAEE,EAFF,yBAGG,GAHH,gCAKC,MALD,gD,6HAQA,WACN,GADM,sFAGA,EAA0B,KAAK,MACjC,KAAK,aAAc,EAJjB,gCAKqC,KAAK,WAAW,QAAQ,EAAM,GALnE,cAKE,EALF,yBAMG,GANH,gCAQC,MARD,gD,8HAWA,WACN,GADM,sFAGA,EAA0B,KAAK,MACjC,KAAK,aAAc,EAJjB,gCASa,KAAK,WAAW,QAAQ,EAAS,GAT9C,cAKE,EALF,yBAUG,GAVH,gCAYC,MAZD,gD,uFAiBA,WACN,IAAI,EAAuC,KAI3C,OAHI,KAAK,kBACP,EAAS,KAAK,gBAAgB,cAEzB,I,gCAGD,WACF,KAAK,iBACP,KAAK,gBAAgB,WAAW,KAAK,W,mCAIjC,WACF,KAAK,iBACP,KAAK,gBAAgB,kB,mCAIjB,WACF,KAAK,WACP,KAAK,qBAEL,KAAK,0B,iCAMD,SAAoB,GAC1B,IAAK,EAAe,KAAqC,kBAAvB,EAAe,IAC/C,MAAM,MAAM,yDAGd,IAAK,EAAe,MAAuC,kBAAxB,EAAe,KAChD,MAAM,MAAM,0DAGd,IAAK,EAAe,OAAyC,kBAAzB,EAAe,MACjD,MAAM,MAAM,2DAGd,IAAM,EAAsC,CAC1C,OAAQ,KAAK,OACb,MAAO,KAAK,SACZ,KAAM,EAAe,KACrB,MAAO,EAAe,MACtB,SAAU,GACV,SAAU,EAAe,UAAY,IAGvC,KAAK,GAAG,UAAR,iDAAmB,WAAO,EAAqB,GAA5B,uFACb,EADa,sBAET,EAFS,cAKb,EAAe,WACX,EAAW,EAAQ,OAAO,GAAG,SAAS,KAC5C,EAAiB,SAAW,GAPb,kBAWQ,MAAK,UAAI,EAAe,IAAnB,QAA8B,CACxD,OAAQ,OACR,QAAS,CACP,OAAQ,mBACR,eAAgB,oBAElB,KAAM,KAAK,UAAU,KAjBR,cAWT,EAXS,gBAoBI,EAAS,OApBb,iBAqBL,QArBK,uBAsBP,MAAM,qCAtBC,gEAyBT,MAAM,qCAzBG,0DAAnB,6D,KA8BW,I,gBAlvCf,SAAsB,EAAtB,kC,sDAAO,WAA2B,GAA3B,4FACC,GAAW,GAAU,KAAO,EAC5B,EAAQ,cAAmB,GAC3B,EAAS,YAA2B,gBAAuB,IAH5D,kBAKE,GALF,4C,sBAQP,SAAsB,EAAtB,oC,sDAAO,WAA0B,EAA6B,GAAvD,oGACC,EAAa,aAAoB,EAAQ,MACzC,EAAK,aAAoB,EAAQ,IACjC,EAAO,aAAoB,EAAQ,MACnC,EAAkB,aAAoB,GAAM,GAC5C,EAAW,eAAsB,EAAY,GAL9C,SAMe,iBAAsB,EAAK,GAN1C,UAMC,EAND,OAOC,EAAmB,aAAoB,GAAO,GAEhD,kBAAyB,KAAa,kBAAyB,GAT9D,2CAUI,GAVJ,kCAaE,GAbF,6C,sBAgBP,SAAsB,EAAtB,sC,sDAAO,WACL,EACA,EACA,GAHK,wGAKC,EAAO,gBAAuB,YAA2B,IAL1D,KAO8B,EAP9B,qCAOmD,EAAY,KAP/D,iCAOC,EAPD,KAQC,EAAK,gBAAuB,YAA2B,IACvD,EAAgB,aAAoB,GAAI,GAExC,EAAwB,KAAK,UAAU,GACvC,EAAU,cAAqB,GAZhC,UAcoB,gBAAqB,EAAI,EAAM,GAdnD,eAcC,EAdD,OAeC,EAAwB,aAAoB,GAAY,GAExD,EAAW,eAAsB,EAAY,GAjB9C,UAkBc,iBAAsB,EAAM,GAlB1C,eAkBC,EAlBD,OAmBC,EAAkB,aAAoB,GAAM,GAnB7C,kBAqBE,CACL,KAAM,EACN,KAAM,EACN,GAAI,IAxBD,6C,sBA4BP,SAAsB,EAAtB,oC,sDAAO,WACL,EACA,GAFK,8FAIC,EAAO,gBAAuB,YAA2B,IAJ1D,sBAOG,IAAI,MAAM,wCAPb,uBAU2B,EAAW,EAAS,GAV/C,0DAYI,MAZJ,cAeC,EAAa,aAAoB,EAAQ,MACzC,EAAK,aAAoB,EAAQ,IAhBlC,UAiBgB,gBAAqB,EAAI,EAAM,GAjB/C,QAiBC,EAjBD,OAkBC,EAAe,cAAqB,GAlBrC,UAqBH,EAAO,KAAK,MAAM,GArBf,4EAuBI,MAvBJ,iCA0BE,GA1BF,4D,0BA1DD,E,kDACJ,WAAY,EAAsC,GAAmC,uCAC7E,CACJ,YACA,gBACA,mB,uBALsB,GAUb,a,ckIdf98C,EAAOnK,QAAeknD,EACtBA,EAAaC,OAASC,EACtBF,EAAaG,MAASC,EAEtB,IAAI7zC,EAAWvT,OAAOC,UAAUsT,SAC5B8zC,EAAQ,CACR,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAG7B,SAASL,EAAan2C,GACpB,OACKq2C,EAAmBr2C,IACnBu2C,EAAkBv2C,GAIzB,SAASq2C,EAAmBr2C,GAC1B,OACKA,aAAey2C,WACfz2C,aAAe02C,YACf12C,aAAe4b,YACf5b,aAAeV,YACfU,aAAe22C,mBACf32C,aAAeyT,aACfzT,aAAeylC,aACfzlC,aAAe42C,cACf52C,aAAeiP,aAItB,SAASsnC,EAAkBv2C,GACzB,OAAOw2C,EAAM9zC,EAASpQ,KAAK0N,M,iBCvC7B,qBASA,WACE,aAEA,IAAI62C,EAAc,wBAEdC,EAA2B,kBAAXr0B,OAChB+G,EAAOstB,EAASr0B,OAAS,GACzB+G,EAAKutB,oBACPD,GAAS,GAEX,IAAIE,GAAcF,GAA0B,kBAATnmD,MACpB64B,EAAKytB,oBAAyC,kBAAZr0B,GAAwBA,EAAQwB,UAAYxB,EAAQwB,SAASsF,KAE5GF,EAAOxiB,EACEgwC,IACTxtB,EAAO74B,MAET,IAAIg5B,GAAaH,EAAK0tB,sBAA0C,kBAAX99C,GAAuBA,EAAOnK,QAC/E46B,EAAsC95B,MACtConD,GAAgB3tB,EAAK4tB,yBAAkD,qBAAhB/1C,YACvDg2C,EAAY,mBAAmB/vB,MAAM,IAErCgwB,EAAiB,CAAC,EAAG,KAAM,OAAQ,UAGnCrxB,EAAQ,CAAC,EAAG,EAAG,GAAI,IACnBsxB,EAAK,CAAC,EAAG,EAAG,MAAO,EAAG,MAAO,WAAY,WAAY,WAAY,MAAO,EAAG,WAC7E,EAAG,WAAY,WAAY,MAAO,WAAY,IAAK,EAAG,IAAK,EAAG,WAAY,EAC1E,WAAY,EAAG,WAAY,EAAG,IAAK,WAAY,MAAO,WAAY,MAClE,WAAY,MAAO,WAAY,IAAK,WAAY,MAAO,EAAG,WAAY,WACtE,WAAY,WAAY,MAAO,WAAY,WAAY,EAAG,WAAY,YACpEC,EAAO,CAAC,IAAK,IAAK,IAAK,KACvBC,EAAa,CAAC,IAAK,KACnBC,EAAe,CAAC,MAAO,SAAU,cAAe,QAAS,UACzDC,EAAiB,CACnB,IAAO,IACP,IAAO,MAGLnuB,EAAKytB,oBAAuBh3C,MAAMC,UACpCD,MAAMC,QAAU,SAAUlQ,GACxB,MAA+C,mBAAxCb,OAAOC,UAAUsT,SAASpQ,KAAKtC,MAItCmnD,IAAiB3tB,EAAKouB,iCAAoCv2C,YAAYsB,SACxEtB,YAAYsB,OAAS,SAAU3S,GAC7B,MAAsB,kBAARA,GAAoBA,EAAIqS,QAAUrS,EAAIqS,OAAO5M,cAAgB4L,cAgG/E,IA5FA,IAAIw2C,EAAqB,SAAUne,EAAMxI,EAAS4mB,GAChD,OAAO,SAAU1pC,GACf,OAAO,IAAI2pC,EAAOre,EAAMxI,EAASwI,GAAM3lB,OAAO3F,GAAS0pC,OAIvDE,EAA0B,SAAUte,EAAMxI,EAAS4mB,GACrD,OAAO,SAAU1pC,EAAS6pC,GACxB,OAAO,IAAIF,EAAOre,EAAMxI,EAAS+mB,GAAYlkC,OAAO3F,GAAS0pC,OAI7DI,EAA2B,SAAUxe,EAAMxI,EAAS4mB,GACtD,OAAO,SAAU1pC,EAAS6pC,EAAYx9C,EAAGH,GACvC,OAAO4vC,EAAQ,SAAWxQ,GAAM3lB,OAAO3F,EAAS6pC,EAAYx9C,EAAGH,GAAGw9C,OAIlEK,EAAyB,SAAUze,EAAMxI,EAAS4mB,GACpD,OAAO,SAAU7nD,EAAKme,EAAS6pC,EAAY39C,GACzC,OAAO4vC,EAAQ,OAASxQ,GAAM3lB,OAAO9jB,EAAKme,EAAS6pC,EAAY39C,GAAGw9C,OAIlEM,EAAsB,SAAU/mD,EAAQgnD,EAAc3e,EAAMxI,GAC9D,IAAK,IAAI97B,EAAI,EAAGA,EAAIsiD,EAAaviD,SAAUC,EAAG,CAC5C,IAAIjD,EAAOulD,EAAatiD,GACxB/D,EAAOc,GAAQkmD,EAAa3e,EAAMxI,EAAS/+B,GAE7C,OAAOd,GAGLgnD,EAAe,SAAU3e,EAAMxI,GACjC,IAAI7/B,EAASwmD,EAAmBne,EAAMxI,EAAS,OAO/C,OANA7/B,EAAOL,OAAS,WACd,OAAO,IAAI+mD,EAAOre,EAAMxI,EAASwI,IAEnCroC,EAAO0iB,OAAS,SAAU3F,GACxB,OAAO/c,EAAOL,SAAS+iB,OAAO3F,IAEzBgqC,EAAoB/mD,EAAQwmD,EAAoBne,EAAMxI,IA0C3DonB,EAAa,CACf,CAAE5iD,KAAM,SAAUw7B,QA/GC,CAAC,EAAG,IAAK,MAAO,UA+GQwI,KAAM8d,EAAMa,aAAcA,GACrE,CAAE3iD,KAAM,OAAQw7B,QA/GJ,CAAC,EAAG,KAAM,OAAQ,WA+GIwI,KAAM8d,EAAMa,aAAcA,GAC5D,CAAE3iD,KAAM,QAASw7B,QAnHC,CAAC,GAAI,KAAM,QAAS,WAmHGwI,KAAM+d,EAAYY,aA1CrC,SAAU3e,EAAMxI,GACtC,IAAI7/B,EAAS2mD,EAAwBte,EAAMxI,EAAS,OAOpD,OANA7/B,EAAOL,OAAS,SAAUinD,GACxB,OAAO,IAAIF,EAAOre,EAAMxI,EAAS+mB,IAEnC5mD,EAAO0iB,OAAS,SAAU3F,EAAS6pC,GACjC,OAAO5mD,EAAOL,OAAOinD,GAAYlkC,OAAO3F,IAEnCgqC,EAAoB/mD,EAAQ2mD,EAAyBte,EAAMxI,KAmClE,CAAEx7B,KAAM,SAAUw7B,QAASomB,EAAgB5d,KAAM+d,EAAYY,aAhCtC,SAAU3e,EAAMxI,GACvC,IAAInB,EAAI4nB,EAAeje,GACnBroC,EAAS6mD,EAAyBxe,EAAMxI,EAAS,OAWrD,OAVA7/B,EAAOL,OAAS,SAAUinD,EAAYx9C,EAAGH,GACvC,OAAKG,GAAMH,EAGF,IAAIy9C,EAAOre,EAAMxI,EAAS+mB,GAAYM,QAAQ,CAAC99C,EAAGH,GAAIy1B,GAFtDma,EAAQ,QAAUxQ,GAAM1oC,OAAOinD,IAK1C5mD,EAAO0iB,OAAS,SAAU3F,EAAS6pC,EAAYx9C,EAAGH,GAChD,OAAOjJ,EAAOL,OAAOinD,EAAYx9C,EAAGH,GAAGyZ,OAAO3F,IAEzCgqC,EAAoB/mD,EAAQ6mD,EAA0Bxe,EAAMxI,KAoBnE,CAAEx7B,KAAM,OAAQw7B,QAASomB,EAAgB5d,KAAM+d,EAAYY,aAjBtC,SAAU3e,EAAMxI,GACrC,IAAInB,EAAI4nB,EAAeje,GACnBroC,EAAS8mD,EAAuBze,EAAMxI,EAAS,OAOnD,OANA7/B,EAAOL,OAAS,SAAUf,EAAKgoD,EAAY39C,GACzC,OAAO,IAAIk+C,EAAK9e,EAAMxI,EAAS+mB,GAAYM,QAAQ,CAAC,OAAQj+C,GAAIy1B,GAAGwoB,QAAQ,CAACtoD,GAAM8/B,IAEpF1+B,EAAO0iB,OAAS,SAAU9jB,EAAKme,EAAS6pC,EAAY39C,GAClD,OAAOjJ,EAAOL,OAAOf,EAAKgoD,EAAY39C,GAAGyZ,OAAO3F,IAE3CgqC,EAAoB/mD,EAAQ8mD,EAAwBze,EAAMxI,MAW/DgZ,EAAU,GAAIuO,EAAc,GAEvBrjD,EAAI,EAAGA,EAAIkjD,EAAWnjD,SAAUC,EAGvC,IAFA,IAAIsjD,EAAYJ,EAAWljD,GACvBskC,EAAOgf,EAAUhf,KACZt+B,EAAI,EAAGA,EAAIs+B,EAAKvkC,SAAUiG,EAAG,CACpC,IAAIu9C,EAAaD,EAAUhjD,KAAO,IAAMgkC,EAAKt+B,GAG7C,GAFAq9C,EAAY7jD,KAAK+jD,GACjBzO,EAAQyO,GAAcD,EAAUL,aAAa3e,EAAKt+B,GAAIs9C,EAAUxnB,SACzC,SAAnBwnB,EAAUhjD,KAAiB,CAC7B,IAAIkjD,EAAgBF,EAAUhjD,KAAOgkC,EAAKt+B,GAC1Cq9C,EAAY7jD,KAAKgkD,GACjB1O,EAAQ0O,GAAiB1O,EAAQyO,IAKvC,SAASZ,EAAOre,EAAMxI,EAAS+mB,GAC7BvlD,KAAKolB,OAAS,GACdplB,KAAK4H,EAAI,GACT5H,KAAKw+B,QAAUA,EACfx+B,KAAKulD,WAAaA,EAClBvlD,KAAKqC,OAAQ,EACbrC,KAAKmmD,WAAY,EACjBnmD,KAAKomD,MAAQ,EACbpmD,KAAKuQ,MAAQ,EACbvQ,KAAKqmD,WAAc,MAAQrf,GAAQ,IAAO,EAC1ChnC,KAAKsmD,UAAYtmD,KAAKqmD,YAAc,EACpCrmD,KAAKumD,aAAehB,GAAc,EAClCvlD,KAAKwmD,YAA2B,GAAbjB,IAAoB,EAEvC,IAAK,IAAI7iD,EAAI,EAAGA,EAAI,KAAMA,EACxB1C,KAAK4H,EAAElF,GAAK,EAyQhB,SAASojD,EAAK9e,EAAMxI,EAAS+mB,GAC3BF,EAAOzlD,KAAKI,KAAMgnC,EAAMxI,EAAS+mB,GAtQnCF,EAAO3oD,UAAU2kB,OAAS,SAAU3F,GAClC,GAAI1b,KAAKmmD,UACP,MAAM,IAAItnD,MA/KO,2BAiLnB,IAAI85B,EAAWl5B,SAAcic,EAC7B,GAAa,WAATjc,EAAmB,CACrB,GAAa,WAATA,EAWF,MAAM,IAAIZ,MAAMslD,GAVhB,GAAgB,OAAZzoC,EACF,MAAM,IAAI7c,MAAMslD,GACX,GAAIM,GAAgB/oC,EAAQ3Y,cAAgB4L,YACjD+M,EAAU,IAAI9O,WAAW8O,QACpB,IAAKnO,MAAMC,QAAQkO,MACnB+oC,IAAiB91C,YAAYsB,OAAOyL,IACvC,MAAM,IAAI7c,MAAMslD,GAMtBxrB,GAAY,EAKd,IAHA,IACuDj2B,EAAGyK,EADtDiY,EAASplB,KAAKolB,OAAQkhC,EAAYtmD,KAAKsmD,UAAW7jD,EAASiZ,EAAQjZ,OACrE4jD,EAAarmD,KAAKqmD,WAAYp8C,EAAQ,EAAGrC,EAAI5H,KAAK4H,EAE7CqC,EAAQxH,GAAQ,CACrB,GAAIzC,KAAKqC,MAGP,IAFArC,KAAKqC,OAAQ,EACb+iB,EAAO,GAAKplB,KAAKomD,MACZ1jD,EAAI,EAAGA,EAAI2jD,EAAa,IAAK3jD,EAChC0iB,EAAO1iB,GAAK,EAGhB,GAAIi2B,EACF,IAAKj2B,EAAI1C,KAAKuQ,MAAOtG,EAAQxH,GAAUC,EAAI4jD,IAAar8C,EACtDmb,EAAO1iB,GAAK,IAAMgZ,EAAQzR,IAAUspB,EAAY,EAAN7wB,UAG5C,IAAKA,EAAI1C,KAAKuQ,MAAOtG,EAAQxH,GAAUC,EAAI4jD,IAAar8C,GACtDkD,EAAOuO,EAAQ/I,WAAW1I,IACf,IACTmb,EAAO1iB,GAAK,IAAMyK,GAAQomB,EAAY,EAAN7wB,KACvByK,EAAO,MAChBiY,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,IAAOomB,EAAY,EAAN7wB,KAChD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,EAAY,EAAN7wB,MACzCyK,EAAO,OAAUA,GAAQ,OAClCiY,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,KAAQomB,EAAY,EAAN7wB,KACjD0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,EAAK,KAAUomB,EAAY,EAAN7wB,KACzD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,EAAY,EAAN7wB,OAElDyK,EAAO,QAAoB,KAAPA,IAAiB,GAAqC,KAA9BuO,EAAQ/I,aAAa1I,IACjEmb,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,KAAQomB,EAAY,EAAN7wB,KACjD0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,GAAM,KAAUomB,EAAY,EAAN7wB,KAC1D0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,EAAK,KAAUomB,EAAY,EAAN7wB,KACzD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,EAAY,EAAN7wB,MAKxD,GADA1C,KAAKymD,cAAgB/jD,EACjBA,GAAK4jD,EAAW,CAGlB,IAFAtmD,KAAKuQ,MAAQ7N,EAAI4jD,EACjBtmD,KAAKomD,MAAQhhC,EAAOihC,GACf3jD,EAAI,EAAGA,EAAI2jD,IAAc3jD,EAC5BkF,EAAElF,IAAM0iB,EAAO1iB,GAEjBkG,EAAEhB,GACF5H,KAAKqC,OAAQ,OAEbrC,KAAKuQ,MAAQ7N,EAGjB,OAAO1C,MAGTqlD,EAAO3oD,UAAU+7B,OAAS,SAAUnwB,EAAGs0B,GACrC,IAAI90B,EAAQ,IAAJQ,EAASP,EAAI,EACjBuO,EAAQ,CAACxO,GAGb,IADAA,EAAQ,KADRQ,IAAS,GAEFR,EAAI,GACTwO,EAAMowC,QAAQ5+C,GAEdA,EAAQ,KADRQ,IAAS,KAEPP,EAQJ,OANI60B,EACFtmB,EAAMpU,KAAK6F,GAEXuO,EAAMowC,QAAQ3+C,GAEhB/H,KAAKqhB,OAAO/K,GACLA,EAAM7T,QAGf4iD,EAAO3oD,UAAUiqD,aAAe,SAAUl0C,GACxC,IAAIkmB,EAAWl5B,SAAcgT,EAC7B,GAAa,WAAThT,EAAmB,CACrB,GAAa,WAATA,EAWF,MAAM,IAAIZ,MAAMslD,GAVhB,GAAY,OAAR1xC,EACF,MAAM,IAAI5T,MAAMslD,GACX,GAAIM,GAAgBhyC,EAAI1P,cAAgB4L,YAC7C8D,EAAM,IAAI7F,WAAW6F,QAChB,IAAKlF,MAAMC,QAAQiF,MACnBgyC,IAAiB91C,YAAYsB,OAAOwC,IACvC,MAAM,IAAI5T,MAAMslD,GAMtBxrB,GAAY,EAEd,IAAIriB,EAAQ,EAAG7T,EAASgQ,EAAIhQ,OAC5B,GAAIk2B,EACFriB,EAAQ7T,OAER,IAAK,IAAIC,EAAI,EAAGA,EAAI+P,EAAIhQ,SAAUC,EAAG,CACnC,IAAIyK,EAAOsF,EAAIE,WAAWjQ,GACtByK,EAAO,IACTmJ,GAAS,EACAnJ,EAAO,KAChBmJ,GAAS,EACAnJ,EAAO,OAAUA,GAAQ,MAClCmJ,GAAS,GAETnJ,EAAO,QAAoB,KAAPA,IAAiB,GAA6B,KAAtBsF,EAAIE,aAAajQ,IAC7D4T,GAAS,GAMf,OAFAA,GAAStW,KAAKy4B,OAAe,EAARniB,GACrBtW,KAAKqhB,OAAO5O,GACL6D,GAGT+uC,EAAO3oD,UAAUmpD,QAAU,SAAUe,EAAMvpB,GAEzC,IADA,IAAI/mB,EAAQtW,KAAKy4B,OAAO4E,GACf36B,EAAI,EAAGA,EAAIkkD,EAAKnkD,SAAUC,EACjC4T,GAAStW,KAAK2mD,aAAaC,EAAKlkD,IAElC,IAAImkD,EAAexpB,EAAI/mB,EAAQ+mB,EAC3BY,EAAQ,GAGZ,OAFAA,EAAMx7B,OAASokD,EACf7mD,KAAKqhB,OAAO4c,GACLj+B,MAGTqlD,EAAO3oD,UAAUoqD,SAAW,WAC1B,IAAI9mD,KAAKmmD,UAAT,CAGAnmD,KAAKmmD,WAAY,EACjB,IAAI/gC,EAASplB,KAAKolB,OAAQ1iB,EAAI1C,KAAKymD,cAAeJ,EAAarmD,KAAKqmD,WAAYz+C,EAAI5H,KAAK4H,EAEzF,GADAwd,EAAO1iB,GAAK,IAAM1C,KAAKw+B,QAAY,EAAJ97B,GAC3B1C,KAAKymD,gBAAkBzmD,KAAKsmD,UAE9B,IADAlhC,EAAO,GAAKA,EAAOihC,GACd3jD,EAAI,EAAGA,EAAI2jD,EAAa,IAAK3jD,EAChC0iB,EAAO1iB,GAAK,EAIhB,IADA0iB,EAAOihC,EAAa,IAAM,WACrB3jD,EAAI,EAAGA,EAAI2jD,IAAc3jD,EAC5BkF,EAAElF,IAAM0iB,EAAO1iB,GAEjBkG,EAAEhB,KAGJy9C,EAAO3oD,UAAUsT,SAAWq1C,EAAO3oD,UAAU61C,IAAM,WACjDvyC,KAAK8mD,WAKL,IAHA,IAEcV,EAFVC,EAAarmD,KAAKqmD,WAAYz+C,EAAI5H,KAAK4H,EAAG2+C,EAAevmD,KAAKumD,aAChEC,EAAaxmD,KAAKwmD,WAAY9jD,EAAI,EAAGgG,EAAI,EACvC6pC,EAAM,GACH7pC,EAAI69C,GAAc,CACvB,IAAK7jD,EAAI,EAAGA,EAAI2jD,GAAc39C,EAAI69C,IAAgB7jD,IAAKgG,EACrD09C,EAAQx+C,EAAElF,GACV6vC,GAAOoS,EAAWyB,GAAS,EAAK,IAAQzB,EAAkB,GAARyB,GAChDzB,EAAWyB,GAAS,GAAM,IAAQzB,EAAWyB,GAAS,EAAK,IAC3DzB,EAAWyB,GAAS,GAAM,IAAQzB,EAAWyB,GAAS,GAAM,IAC5DzB,EAAWyB,GAAS,GAAM,IAAQzB,EAAWyB,GAAS,GAAM,IAE5D19C,EAAI29C,IAAe,IACrBz9C,EAAEhB,GACFlF,EAAI,GAaR,OAVI8jD,IACFJ,EAAQx+C,EAAElF,GACV6vC,GAAOoS,EAAWyB,GAAS,EAAK,IAAQzB,EAAkB,GAARyB,GAC9CI,EAAa,IACfjU,GAAOoS,EAAWyB,GAAS,GAAM,IAAQzB,EAAWyB,GAAS,EAAK,KAEhEI,EAAa,IACfjU,GAAOoS,EAAWyB,GAAS,GAAM,IAAQzB,EAAWyB,GAAS,GAAM,MAGhE7T,GAGT8S,EAAO3oD,UAAUi6C,YAAc,WAC7B32C,KAAK8mD,WAEL,IAGIn3C,EAHA02C,EAAarmD,KAAKqmD,WAAYz+C,EAAI5H,KAAK4H,EAAG2+C,EAAevmD,KAAKumD,aAChEC,EAAaxmD,KAAKwmD,WAAY9jD,EAAI,EAAGgG,EAAI,EACvC4N,EAAQtW,KAAKulD,YAAc,EAG7B51C,EADE62C,EACO,IAAI73C,YAAa43C,EAAe,GAAM,GAEtC,IAAI53C,YAAY2H,GAG3B,IADA,IAAI1H,EAAQ,IAAImkC,YAAYpjC,GACrBjH,EAAI69C,GAAc,CACvB,IAAK7jD,EAAI,EAAGA,EAAI2jD,GAAc39C,EAAI69C,IAAgB7jD,IAAKgG,EACrDkG,EAAMlG,GAAKd,EAAElF,GAEXgG,EAAI29C,IAAe,GACrBz9C,EAAEhB,GAON,OAJI4+C,IACF53C,EAAMlM,GAAKkF,EAAElF,GACbiN,EAASA,EAAO5L,MAAM,EAAGuS,IAEpB3G,GAGT01C,EAAO3oD,UAAUiT,OAAS01C,EAAO3oD,UAAUi6C,YAE3C0O,EAAO3oD,UAAUqqD,OAAS1B,EAAO3oD,UAAUkS,MAAQ,WACjD5O,KAAK8mD,WAKL,IAHA,IAEgB/0C,EAAQq0C,EAFpBC,EAAarmD,KAAKqmD,WAAYz+C,EAAI5H,KAAK4H,EAAG2+C,EAAevmD,KAAKumD,aAChEC,EAAaxmD,KAAKwmD,WAAY9jD,EAAI,EAAGgG,EAAI,EACvCkG,EAAQ,GACLlG,EAAI69C,GAAc,CACvB,IAAK7jD,EAAI,EAAGA,EAAI2jD,GAAc39C,EAAI69C,IAAgB7jD,IAAKgG,EACrDqJ,EAASrJ,GAAK,EACd09C,EAAQx+C,EAAElF,GACVkM,EAAMmD,GAAkB,IAARq0C,EAChBx3C,EAAMmD,EAAS,GAAMq0C,GAAS,EAAK,IACnCx3C,EAAMmD,EAAS,GAAMq0C,GAAS,GAAM,IACpCx3C,EAAMmD,EAAS,GAAMq0C,GAAS,GAAM,IAElC19C,EAAI29C,IAAe,GACrBz9C,EAAEhB,GAcN,OAXI4+C,IACFz0C,EAASrJ,GAAK,EACd09C,EAAQx+C,EAAElF,GACVkM,EAAMmD,GAAkB,IAARq0C,EACZI,EAAa,IACf53C,EAAMmD,EAAS,GAAMq0C,GAAS,EAAK,KAEjCI,EAAa,IACf53C,EAAMmD,EAAS,GAAMq0C,GAAS,GAAM,MAGjCx3C,GAOTk3C,EAAKppD,UAAY,IAAI2oD,EAErBS,EAAKppD,UAAUoqD,SAAW,WAExB,OADA9mD,KAAKy4B,OAAOz4B,KAAKulD,YAAY,GACtBF,EAAO3oD,UAAUoqD,SAASlnD,KAAKI,OAGxC,IAAI4I,EAAI,SAAUhB,GAChB,IAAIkB,EAAGV,EAAGL,EAAGi/C,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAC/C9jC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKgjC,EAAKC,EAC3EC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAC3EC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAC7E,IAAK5hD,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBi/C,EAAKp/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IACtCq/C,EAAKr/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IACtCs/C,EAAKt/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IACtCu/C,EAAKv/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IACtCw/C,EAAKx/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IACtCy/C,EAAKz/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IACtC0/C,EAAK1/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IACtC2/C,EAAK3/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAItCkB,GAHA0+C,EAAK5/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,MAG3Bs/C,GAAM,EAAMC,IAAO,IAC9B/+C,GAHAq/C,EAAK7/C,EAAE,GAAKA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,MAG3Bu/C,GAAM,EAAMD,IAAO,IAC9Bt/C,EAAE,IAAMkB,EACRlB,EAAE,IAAMQ,EACRR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTU,EAAIk+C,GAAOI,GAAM,EAAMC,IAAO,IAC9Bj/C,EAAI6+C,GAAOI,GAAM,EAAMD,IAAO,IAC9Bx/C,EAAE,IAAMkB,EACRlB,EAAE,IAAMQ,EACRR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTU,EAAIo+C,GAAOI,GAAM,EAAMC,IAAO,IAC9Bn/C,EAAI++C,GAAOI,GAAM,EAAMD,IAAO,IAC9B1/C,EAAE,IAAMkB,EACRlB,EAAE,IAAMQ,EACRR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTU,EAAIs+C,GAAOI,GAAM,EAAMC,IAAO,IAC9Br/C,EAAIi/C,GAAOI,GAAM,EAAMD,IAAO,IAC9B5/C,EAAE,IAAMkB,EACRlB,EAAE,IAAMQ,EACRR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTU,EAAIw+C,GAAON,GAAM,EAAMC,IAAO,IAC9B7+C,EAAIm/C,GAAON,GAAM,EAAMD,IAAO,IAC9Bp/C,EAAE,IAAMkB,EACRlB,EAAE,IAAMQ,EACRR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EACTR,EAAE,KAAOkB,EACTlB,EAAE,KAAOQ,EAETub,EAAK/b,EAAE,GACPgc,EAAKhc,EAAE,GACP8gD,EAAO9gD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC+gD,EAAO/gD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC6c,EAAO7c,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC8c,EAAO9c,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC4hD,GAAO5hD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC6hD,GAAO7hD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC0gD,EAAO1gD,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjC2gD,EAAO3gD,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjCkgD,EAAOlgD,EAAE,IAAM,EAAMA,EAAE,KAAO,GAC9BmgD,EAAOngD,EAAE,IAAM,EAAMA,EAAE,KAAO,GAC9Bic,EAAMjc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAChCkc,EAAMlc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAChCghD,EAAOhhD,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjCihD,EAAOjhD,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjC8/C,EAAO9/C,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjC+/C,EAAO//C,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjC8hD,GAAO9hD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC+hD,GAAO/hD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChCshD,GAAOthD,EAAE,IAAM,GAAOA,EAAE,KAAO,EAC/BuhD,GAAOvhD,EAAE,IAAM,GAAOA,EAAE,KAAO,EAC/BogD,EAAOpgD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChCqgD,EAAOrgD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChCmc,EAAMnc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAChCoc,EAAMpc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAChCkhD,EAAOlhD,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjCmhD,EAAOnhD,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjCggD,EAAOhgD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjCigD,EAAOjgD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjCyc,EAAOzc,EAAE,IAAM,GAAOA,EAAE,KAAO,EAC/B0c,EAAO1c,EAAE,IAAM,GAAOA,EAAE,KAAO,EAC/BwhD,GAAOxhD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjCyhD,GAAOzhD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjCsgD,EAAOtgD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjCugD,EAAOvgD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjCqc,EAAMrc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAChCsc,EAAMtc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAChCohD,EAAOphD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjCqhD,GAAOrhD,EAAE,KAAO,GAAOA,EAAE,MAAQ,EACjC4gD,EAAO5gD,EAAE,IAAM,GAAOA,EAAE,KAAO,EAC/B6gD,EAAO7gD,EAAE,IAAM,GAAOA,EAAE,KAAO,EAC/B2c,EAAO3c,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjC4c,EAAO5c,EAAE,KAAO,GAAOA,EAAE,MAAQ,GACjC0hD,GAAO1hD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChC2hD,GAAO3hD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChCwgD,EAAOxgD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChCygD,EAAOzgD,EAAE,KAAO,EAAMA,EAAE,MAAQ,GAChCuc,EAAMvc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAChCwc,EAAMxc,EAAE,KAAO,GAAOA,EAAE,MAAQ,GAEhCA,EAAE,GAAK+b,GAAOE,EAAKE,EACnBnc,EAAE,GAAKgc,GAAOE,EAAKE,EACnBpc,EAAE,IAAMyc,GAAQE,EAAME,EACtB7c,EAAE,IAAM0c,GAAQE,EAAME,EACtB9c,EAAE,IAAMkgD,GAAQE,EAAME,EACtBtgD,EAAE,IAAMmgD,GAAQE,EAAME,EACtBvgD,EAAE,IAAM4gD,GAAQE,EAAME,EACtBhhD,EAAE,IAAM6gD,GAAQE,EAAME,EACtBjhD,EAAE,IAAMshD,IAAQE,GAAME,GACtB1hD,EAAE,IAAMuhD,IAAQE,GAAME,GACtB3hD,EAAE,GAAKic,GAAOE,EAAKE,EACnBrc,EAAE,GAAKkc,GAAOE,EAAKE,EACnBtc,EAAE,IAAM2c,GAAQE,EAAMijC,EACtB9/C,EAAE,IAAM4c,GAAQE,EAAMijC,EACtB//C,EAAE,IAAMogD,GAAQE,EAAME,EACtBxgD,EAAE,IAAMqgD,GAAQE,EAAME,EACtBzgD,EAAE,IAAM8gD,GAAQE,EAAME,EACtBlhD,EAAE,IAAM+gD,GAAQE,EAAME,EACtBnhD,EAAE,IAAMwhD,IAAQE,GAAME,GACtB5hD,EAAE,IAAMyhD,IAAQE,GAAME,GACtB7hD,EAAE,GAAKmc,GAAOE,EAAKE,EACnBvc,EAAE,GAAKoc,GAAOE,EAAKE,EACnBxc,EAAE,IAAM6c,GAAQijC,EAAME,EACtBhgD,EAAE,IAAM8c,GAAQijC,EAAME,EACtBjgD,EAAE,IAAMsgD,GAAQE,EAAME,EACtB1gD,EAAE,IAAMugD,GAAQE,EAAME,EACtB3gD,EAAE,IAAMghD,GAAQE,EAAME,EACtBphD,EAAE,IAAMihD,GAAQE,EAAME,GACtBrhD,EAAE,IAAM0hD,IAAQE,GAAME,GACtB9hD,EAAE,IAAM2hD,IAAQE,GAAME,GACtB/hD,EAAE,GAAKqc,GAAOE,EAAKR,EACnB/b,EAAE,GAAKsc,GAAOE,EAAKR,EACnBhc,EAAE,IAAM8/C,GAAQE,EAAMvjC,EACtBzc,EAAE,IAAM+/C,GAAQE,EAAMvjC,EACtB1c,EAAE,IAAMwgD,GAAQE,EAAMR,EACtBlgD,EAAE,IAAMygD,GAAQE,EAAMR,EACtBngD,EAAE,IAAMkhD,GAAQE,EAAMR,EACtB5gD,EAAE,IAAMmhD,GAAQE,GAAMR,EACtB7gD,EAAE,IAAM4hD,IAAQE,GAAMR,GACtBthD,EAAE,IAAM6hD,IAAQE,GAAMR,GACtBvhD,EAAE,GAAKuc,GAAOR,EAAKE,EACnBjc,EAAE,GAAKwc,GAAOR,EAAKE,EACnBlc,EAAE,IAAMggD,GAAQvjC,EAAME,EACtB3c,EAAE,IAAMigD,GAAQvjC,EAAME,EACtB5c,EAAE,IAAM0gD,GAAQR,EAAME,EACtBpgD,EAAE,IAAM2gD,GAAQR,EAAME,EACtBrgD,EAAE,IAAMohD,GAAQR,EAAME,EACtB9gD,EAAE,IAAMqhD,IAAQR,EAAME,EACtB/gD,EAAE,IAAM8hD,IAAQR,GAAME,GACtBxhD,EAAE,IAAM+hD,IAAQR,GAAME,GAEtBzhD,EAAE,IAAMi9C,EAAG98C,GACXH,EAAE,IAAMi9C,EAAG98C,EAAI,IAInB,GAAIkvB,EACFvwB,EAAOnK,QAAUi7C,MACZ,CACL,IAAK90C,EAAI,EAAGA,EAAIqjD,EAAYtjD,SAAUC,EACpCo0B,EAAKivB,EAAYrjD,IAAM80C,EAAQuO,EAAYrjD,IAEzCy0B,SACI,KAAN95B,aACE,OAAOm6C,GADH,gCAjoBZ,K,uPCAM,SAAU,IAAsC,IAAZ,EAAY,uDAAF,GAC9C,EAAO,EAKX,OAJI,OAAO,KAAK,GAAM,OAAM,SAAC,GAAD,MAA+B,iBAAtB,EAAI,oBACvC,EAAI,eAAQ,IACP,gBAAkB,wBAElB,EAGT,SAAS,EAAY,GACnB,OAAO,QAA8B,IAArB,EAAM,W,IAMH,E,kDAGnB,WAAY,EAAe,GAAoC,0BAC7D,cAAM,GAEN,IAAI,EAAa,EACjB,GAAI,MAAM,QAAQ,GAAY,CAC5B,IAAK,EAAU,MAAM,GACnB,MAAM,IAAI,UAAU,sCAGtB,EAAa,eAAY,WAAZ,cAAgB,SACxB,IAAK,EAAY,GACtB,MAAM,IAAI,UAAU,+BAXuC,OAa7D,EAAK,eAAiB,EAbuC,E,wCAiB/D,WACE,MAAO,qB,iEAGT,qHAAS,EAAT,+BAAmB,GACX,EAAY,EAA0B,GAD9C,SAEoB,KAAK,EAAE,KACvB,KAAK,OACL,EAAO,KAAK,KAAK,gBACjB,GALJ,cAEQ,EAFR,yBAOS,EAAI,MAPb,gD,2DAxB8C,M,sDCzBnC/6C,OAAOgB,eAAelB,EAAQ,aAAa,CAACiB,OAAM,IAAK,IAAIgK,EAAEb,EAAQ,KAAuBA,EAAQ,KAAyBA,EAAQ,GAAWA,EAAQ,KAAUpK,EAAQqtD,kBAAkBpiD,EAAEoiD,kBAAkBrtD,EAAQstD,4BAA4BriD,EAAEqiD,6B,oFCC7PC,EAAkBnjD,EAAQ,KAC1BojD,EAAkBpjD,EAAQ,KAC1BqjD,EAAerjD,EAAQ,KA0I7B,SAASsjD,EAA6BzsD,GACrC,GAAqB,kBAAVA,GAAuC,IAAjBA,EAAMiF,OACtC,MAAM,IAAIpB,UAAU,wDAItB,SAASo3B,EAAOj7B,EAAO8yC,GACtB,OAAIA,EAAQ7X,OACJ6X,EAAQoT,OAASoG,EAAgBtsD,GAAS6zC,mBAAmB7zC,GAG9DA,EAGR,SAAS66B,EAAO76B,EAAO8yC,GACtB,OAAIA,EAAQjY,OACJ0xB,EAAgBvsD,GAGjBA,EAGR,SAAS0sD,EAAWxxB,GACnB,OAAInrB,MAAMC,QAAQkrB,GACVA,EAAMyxB,OAGO,kBAAVzxB,EACHwxB,EAAWztD,OAAO+G,KAAKk1B,IAC5ByxB,MAAK,SAACtiD,EAAGU,GAAJ,OAAUyJ,OAAOnK,GAAKmK,OAAOzJ,MAClCitB,KAAI,SAAAj4B,GAAG,OAAIm7B,EAAMn7B,MAGbm7B,EAGR,SAAS0xB,EAAW1xB,GACnB,IAAM2xB,EAAY3xB,EAAMvnB,QAAQ,KAKhC,OAJmB,IAAfk5C,IACH3xB,EAAQA,EAAM30B,MAAM,EAAGsmD,IAGjB3xB,EAaR,SAAS4xB,EAAQ5xB,GAEhB,IAAM6xB,GADN7xB,EAAQ0xB,EAAW1xB,IACMvnB,QAAQ,KACjC,OAAoB,IAAhBo5C,EACI,GAGD7xB,EAAM30B,MAAMwmD,EAAa,GAGjC,SAASC,EAAWhtD,EAAO8yC,GAO1B,OANIA,EAAQma,eAAiBz4C,OAAOxP,MAAMwP,OAAOxU,KAA6B,kBAAVA,GAAuC,KAAjBA,EAAMyc,OAC/Fzc,EAAQwU,OAAOxU,IACL8yC,EAAQoa,eAA2B,OAAVltD,GAA2C,SAAxBA,EAAM6S,eAAoD,UAAxB7S,EAAM6S,gBAC9F7S,EAAgC,SAAxBA,EAAM6S,eAGR7S,EAGR,SAASwzC,EAAMtY,EAAO4X,GAUrB2Z,GATA3Z,EAAU7zC,OAAOof,OAAO,CACvBwc,QAAQ,EACR8xB,MAAM,EACNQ,YAAa,OACbC,qBAAsB,IACtBH,cAAc,EACdC,eAAe,GACbpa,IAEkCsa,sBAErC,IAAMC,EAnJP,SAA8Bva,GAC7B,IAAIzvC,EAEJ,OAAQyvC,EAAQqa,aACf,IAAK,QACJ,OAAO,SAACptD,EAAKC,EAAOstD,GACnBjqD,EAAS,aAAakqD,KAAKxtD,GAE3BA,EAAMA,EAAI2c,QAAQ,WAAY,IAEzBrZ,QAKoBO,IAArB0pD,EAAYvtD,KACfutD,EAAYvtD,GAAO,IAGpButD,EAAYvtD,GAAKsD,EAAO,IAAMrD,GAR7BstD,EAAYvtD,GAAOC,GAWtB,IAAK,UACJ,OAAO,SAACD,EAAKC,EAAOstD,GACnBjqD,EAAS,UAAUkqD,KAAKxtD,GACxBA,EAAMA,EAAI2c,QAAQ,QAAS,IAEtBrZ,OAKoBO,IAArB0pD,EAAYvtD,GAKhButD,EAAYvtD,GAAO,GAAG0X,OAAO61C,EAAYvtD,GAAMC,GAJ9CstD,EAAYvtD,GAAO,CAACC,GALpBstD,EAAYvtD,GAAOC,GAYtB,IAAK,QACL,IAAK,YACJ,OAAO,SAACD,EAAKC,EAAOstD,GACnB,IACME,EAD2B,kBAAVxtD,GAAsBA,EAAMo3B,MAAM,IAAIzjB,QAAQm/B,EAAQsa,uBAAyB,EAC3EptD,EAAMo3B,MAAM0b,EAAQsa,sBAAsBp1B,KAAI,SAAA2E,GAAI,OAAI9B,EAAO8B,EAAMmW,MAAsB,OAAV9yC,EAAiBA,EAAQ66B,EAAO76B,EAAO8yC,GACjJwa,EAAYvtD,GAAOytD,GAGrB,QACC,OAAO,SAACztD,EAAKC,EAAOstD,QACM1pD,IAArB0pD,EAAYvtD,GAKhButD,EAAYvtD,GAAO,GAAG0X,OAAO61C,EAAYvtD,GAAMC,GAJ9CstD,EAAYvtD,GAAOC,IAgGLytD,CAAqB3a,GAGjCn6B,EAAM1Z,OAAO6B,OAAO,MAE1B,GAAqB,kBAAVo6B,EACV,OAAOviB,EAKR,KAFAuiB,EAAQA,EAAMze,OAAOC,QAAQ,SAAU,KAGtC,OAAO/D,EAxBsB,UA2BVuiB,EAAM9D,MAAM,MA3BF,IA2B9B,IAAK,EAAL,qBAAsC,KAA3Bs2B,EAA2B,QACrC,EAAmBlB,EAAa1Z,EAAQjY,OAAS6yB,EAAMhxC,QAAQ,MAAO,KAAOgxC,EAAO,KAApF,SAAK3tD,EAAL,KAAUC,EAAV,KAIAA,OAAkB4D,IAAV5D,EAAsB,KAAO,CAAC,QAAS,aAAawY,SAASs6B,EAAQqa,aAAentD,EAAQ66B,EAAO76B,EAAO8yC,GAClHua,EAAUxyB,EAAO96B,EAAK+yC,GAAU9yC,EAAO2Y,IAjCV,8BAoC9B,IAAK,IAAL,MAAkB1Z,OAAO+G,KAAK2S,GAA9B,eAAoC,CAA/B,IAAM5Y,EAAG,KACPC,EAAQ2Y,EAAI5Y,GAClB,GAAqB,kBAAVC,GAAgC,OAAVA,EAChC,IAAK,IAAL,MAAgBf,OAAO+G,KAAKhG,GAA5B,eAAoC,CAA/B,IAAMigB,EAAC,KACXjgB,EAAMigB,GAAK+sC,EAAWhtD,EAAMigB,GAAI6yB,QAGjCn6B,EAAI5Y,GAAOitD,EAAWhtD,EAAO8yC,GAI/B,OAAqB,IAAjBA,EAAQ6Z,KACJh0C,IAGiB,IAAjBm6B,EAAQ6Z,KAAgB1tD,OAAO+G,KAAK2S,GAAKg0C,OAAS1tD,OAAO+G,KAAK2S,GAAKg0C,KAAK7Z,EAAQ6Z,OAAO/+B,QAAO,SAACvqB,EAAQtD,GAC9G,IAAMC,EAAQ2Y,EAAI5Y,GAQlB,OAPIy9B,QAAQx9B,IAA2B,kBAAVA,IAAuB+P,MAAMC,QAAQhQ,GAEjEqD,EAAOtD,GAAO2sD,EAAW1sD,GAEzBqD,EAAOtD,GAAOC,EAGRqD,IACLpE,OAAO6B,OAAO,OAGlB/B,EAAQ+tD,QAAUA,EAClB/tD,EAAQy0C,MAAQA,EAEhBz0C,EAAQ0zC,UAAY,SAACxsC,EAAQ6sC,GAC5B,IAAK7sC,EACJ,MAAO,GAURwmD,GAPA3Z,EAAU7zC,OAAOof,OAAO,CACvB4c,QAAQ,EACRirB,QAAQ,EACRiH,YAAa,OACbC,qBAAsB,KACpBta,IAEkCsa,sBAWrC,IATA,IAAMO,EAAe,SAAA5tD,GAAG,OACtB+yC,EAAQ8a,WArSkC,QAAnB5tD,EAqSeiG,EAAOlG,UArSe6D,IAAV5D,IAsSlD8yC,EAAQ+a,iBAAmC,KAAhB5nD,EAAOlG,GAtSX,IAAAC,GAySnBqtD,EAvSP,SAA+Bva,GAC9B,OAAQA,EAAQqa,aACf,IAAK,QACJ,OAAO,SAAAptD,GAAG,OAAI,SAACsD,EAAQrD,GACtB,IAAMyM,EAAQpJ,EAAO4B,OAErB,YACWrB,IAAV5D,GACC8yC,EAAQ8a,UAAsB,OAAV5tD,GACpB8yC,EAAQ+a,iBAA6B,KAAV7tD,EAErBqD,EAIA,GAAP,SAAWA,GADE,OAAVrD,EACH,CAAmB,CAACi7B,EAAOl7B,EAAK+yC,GAAU,IAAKrmC,EAAO,KAAK0L,KAAK,KAGjE,CAEC,CAAC8iB,EAAOl7B,EAAK+yC,GAAU,IAAK7X,EAAOxuB,EAAOqmC,GAAU,KAAM7X,EAAOj7B,EAAO8yC,IAAU36B,KAAK,QAI1F,IAAK,UACJ,OAAO,SAAApY,GAAG,OAAI,SAACsD,EAAQrD,GACtB,YACW4D,IAAV5D,GACC8yC,EAAQ8a,UAAsB,OAAV5tD,GACpB8yC,EAAQ+a,iBAA6B,KAAV7tD,EAErBqD,EAIA,GAAP,SAAWA,GADE,OAAVrD,EACH,CAAmB,CAACi7B,EAAOl7B,EAAK+yC,GAAU,MAAM36B,KAAK,KAGtD,CAAmB,CAAC8iB,EAAOl7B,EAAK+yC,GAAU,MAAO7X,EAAOj7B,EAAO8yC,IAAU36B,KAAK,QAGhF,IAAK,QACL,IAAK,YACJ,OAAO,SAAApY,GAAG,OAAI,SAACsD,EAAQrD,GACtB,OAAc,OAAVA,QAA4B4D,IAAV5D,GAAwC,IAAjBA,EAAMiF,OAC3C5B,EAGc,IAAlBA,EAAO4B,OACH,CAAC,CAACg2B,EAAOl7B,EAAK+yC,GAAU,IAAK7X,EAAOj7B,EAAO8yC,IAAU36B,KAAK,KAG3D,CAAC,CAAC9U,EAAQ43B,EAAOj7B,EAAO8yC,IAAU36B,KAAK26B,EAAQsa,yBAGxD,QACC,OAAO,SAAArtD,GAAG,OAAI,SAACsD,EAAQrD,GACtB,YACW4D,IAAV5D,GACC8yC,EAAQ8a,UAAsB,OAAV5tD,GACpB8yC,EAAQ+a,iBAA6B,KAAV7tD,EAErBqD,EAIA,GAAP,SAAWA,GADE,OAAVrD,EACH,CAAmBi7B,EAAOl7B,EAAK+yC,IAGhC,CAAmB,CAAC7X,EAAOl7B,EAAK+yC,GAAU,IAAK7X,EAAOj7B,EAAO8yC,IAAU36B,KAAK,SAkO7D21C,CAAsBhb,GAElCib,EAAa,GAEnB,MAAkB9uD,OAAO+G,KAAKC,GAA9B,eAAuC,CAAlC,IAAMlG,EAAG,KACR4tD,EAAa5tD,KACjBguD,EAAWhuD,GAAOkG,EAAOlG,IAI3B,IAAMiG,EAAO/G,OAAO+G,KAAK+nD,GAMzB,OAJqB,IAAjBjb,EAAQ6Z,MACX3mD,EAAK2mD,KAAK7Z,EAAQ6Z,MAGZ3mD,EAAKgyB,KAAI,SAAAj4B,GACf,IAAMC,EAAQiG,EAAOlG,GAErB,YAAc6D,IAAV5D,EACI,GAGM,OAAVA,EACIi7B,EAAOl7B,EAAK+yC,GAGhB/iC,MAAMC,QAAQhQ,GACVA,EACL4tB,OAAOy/B,EAAUttD,GAAM,IACvBoY,KAAK,KAGD8iB,EAAOl7B,EAAK+yC,GAAW,IAAM7X,EAAOj7B,EAAO8yC,MAChDtpC,QAAO,SAAAsB,GAAC,OAAIA,EAAE7F,OAAS,KAAGkT,KAAK,MAGnCpZ,EAAQivD,SAAW,SAAC9yB,EAAO4X,GAC1BA,EAAU7zC,OAAOof,OAAO,CACvBwc,QAAQ,GACNiY,GAEH,MAAoB0Z,EAAatxB,EAAO,KAAxC,SAAOgf,EAAP,KAAYloB,EAAZ,KAEA,OAAO/yB,OAAOof,OACb,CACC67B,IAAKA,EAAI9iB,MAAM,KAAK,IAAM,GAC1B62B,MAAOza,EAAMsZ,EAAQ5xB,GAAQ4X,IAE9BA,GAAWA,EAAQob,yBAA2Bl8B,EAAO,CAACm8B,mBAAoBtzB,EAAO7I,EAAM8gB,IAAY,KAIrG/zC,EAAQqvD,aAAe,SAAClzB,EAAO4X,GAC9BA,EAAU7zC,OAAOof,OAAO,CACvB4c,QAAQ,EACRirB,QAAQ,GACNpT,GAEH,IAAMoH,EAAM0S,EAAW1xB,EAAMgf,KAAK9iB,MAAM,KAAK,IAAM,GAC7Ci3B,EAAetvD,EAAQ+tD,QAAQ5xB,EAAMgf,KACrCoU,EAAqBvvD,EAAQy0C,MAAM6a,EAAc,CAAC1B,MAAM,IAExDsB,EAAQhvD,OAAOof,OAAOiwC,EAAoBpzB,EAAM+yB,OAClDM,EAAcxvD,EAAQ0zC,UAAUwb,EAAOnb,GACvCyb,IACHA,EAAc,IAAH,OAAOA,IAGnB,IAAIv8B,EAzLL,SAAiBkoB,GAChB,IAAIloB,EAAO,GACL66B,EAAY3S,EAAIvmC,QAAQ,KAK9B,OAJmB,IAAfk5C,IACH76B,EAAOkoB,EAAI3zC,MAAMsmD,IAGX76B,EAkLIw8B,CAAQtzB,EAAMgf,KAKzB,OAJIhf,EAAMizB,qBACTn8B,EAAO,IAAH,OAAOiJ,EAAOC,EAAMizB,mBAAoBrb,KAGtC,GAAP,OAAUoH,GAAV,OAAgBqU,GAAhB,OAA8Bv8B,K,6BCtX7B9oB,EAAOnK,Q,YCDP,IAAI0vD,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAU5vD,QAGnC,IAAImK,EAASulD,EAAiBE,GAAY,CACzCzpD,EAAGypD,EACH/jD,GAAGA,EACH7L,QAAS,IAUV,OANA6vD,EAAQD,GAAUvsD,KAAK8G,EAAOnK,QAASmK,EAAQA,EAAOnK,QAAS2vD,GAG/DxlD,EAAO0B,KAGA1B,EAAOnK,QA0Df,OArDA2vD,EAAoB7jD,EAAI+jD,EAGxBF,EAAoBhkD,EAAI+jD,EAGxBC,EAAoBlkD,EAAI,SAASzL,EAASyG,EAAMqpD,GAC3CH,EAAoBpkD,EAAEvL,EAASyG,IAClCvG,OAAOgB,eAAelB,EAASyG,EAAM,CAAEtF,YAAYA,EAAMg4B,IAAK22B,KAKhEH,EAAoBvkD,EAAI,SAASpL,GACX,oBAAXO,QAA0BA,OAAOM,aAC1CX,OAAOgB,eAAelB,EAASO,OAAOM,YAAa,CAAEI,MAAO,WAE7Df,OAAOgB,eAAelB,EAAS,aAAc,CAAEiB,OAAOA,KAQvD0uD,EAAoBxkD,EAAI,SAASlK,EAAO6qC,GAEvC,GADU,EAAPA,IAAU7qC,EAAQ0uD,EAAoB1uD,IAC/B,EAAP6qC,EAAU,OAAO7qC,EACpB,GAAW,EAAP6qC,GAA8B,iBAAV7qC,GAAsBA,GAASA,EAAMq5B,WAAY,OAAOr5B,EAChF,IAAI8uD,EAAK7vD,OAAO6B,OAAO,MAGvB,GAFA4tD,EAAoBvkD,EAAE2kD,GACtB7vD,OAAOgB,eAAe6uD,EAAI,UAAW,CAAE5uD,YAAYA,EAAMF,MAAOA,IACtD,EAAP6qC,GAA4B,iBAAT7qC,EAAmB,IAAI,IAAID,KAAOC,EAAO0uD,EAAoBlkD,EAAEskD,EAAI/uD,EAAK,SAASA,GAAO,OAAOC,EAAMD,IAAQm1B,KAAK,KAAMn1B,IAC9I,OAAO+uD,GAIRJ,EAAoBnkD,EAAI,SAASrB,GAChC,IAAI2lD,EAAS3lD,GAAUA,EAAOmwB,WAC7B,WAAwB,OAAOnwB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAwlD,EAAoBlkD,EAAEqkD,EAAQ,IAAKA,GAC5BA,GAIRH,EAAoBpkD,EAAI,SAASrE,EAAQ8oD,GAAY,OAAO9vD,OAAOC,UAAUE,eAAegD,KAAK6D,EAAQ8oD,IAGzGL,EAAoB/jD,EAAI,GAIjB+jD,EAAoBA,EAAoBtkD,EAAI,G,ymCClFxC4kD,EACQ,oBAAZt8B,GAEgB,oBAAhBu8B,aACgB,oBAAhBC,YAEF,SAASC,EAAUl6C,GAKxB,IAJA,IAAMm6C,EAAYn6C,EAAIhQ,OAElBqM,EAAa,EACbqG,EAAM,EACHA,EAAMy3C,GAAW,CACtB,IAAIpvD,EAAQiV,EAAIE,WAAWwC,KAE3B,GAA6B,IAAhB,WAAR3X,GAIE,GAA6B,IAAhB,WAARA,GAEVsR,GAAc,MACT,CAEL,GAAItR,GAAS,OAAUA,GAAS,OAE1B2X,EAAMy3C,EAAW,CACnB,IAAMC,EAAQp6C,EAAIE,WAAWwC,GACJ,QAAZ,MAAR03C,OACD13C,EACF3X,IAAkB,KAARA,IAAkB,KAAe,KAARqvD,GAAiB,OAOxD/9C,GAF2B,IAAhB,WAARtR,GAEW,EAGA,OAvBhBsR,IA2BJ,OAAOA,EA8CT,IAAMg+C,EAAoBN,EAA0B,IAAIC,mBAC3CM,EAA4C,oBAAZ78B,EAAmE,IAAM,EAYzG88B,GAAeF,iBAAmBG,YAL/C,SAAgCx6C,EAAa+6B,EAAoB0f,GAE/DJ,EAAmBG,WAAWx6C,EAAK+6B,EAAOh5B,SAAS04C,KAPrD,SAA4Bz6C,EAAa+6B,EAAoB0f,GAE3D1f,EAAO5zB,IAAIkzC,EAAmBr0B,OAAOhmB,GAAMy6C,IAYtC,SAASC,EAAa72C,EAAmB82C,EAAqBt+C,GAMnE,IALA,IAAIiD,EAASq7C,EACP58C,EAAMuB,EAASjD,EAEfkE,EAAuB,GACzBnS,EAAS,GACNkR,EAASvB,GAAK,CACnB,IAAM68C,EAAQ/2C,EAAMvE,KACpB,GAAuB,IAAV,IAARs7C,GAEHr6C,EAAM9Q,KAAKmrD,QACN,GAAuB,MAAV,IAARA,GAAwB,CAElC,IAAMC,EAA0B,GAAlBh3C,EAAMvE,KACpBiB,EAAM9Q,MAAe,GAARmrD,IAAiB,EAAKC,QAC9B,GAAuB,MAAV,IAARD,GAAwB,CAE5BC,EAA0B,GAAlBh3C,EAAMvE,KAApB,IACMw7C,EAA0B,GAAlBj3C,EAAMvE,KACpBiB,EAAM9Q,MAAe,GAARmrD,IAAiB,GAAOC,GAAS,EAAKC,QAC9C,GAAuB,MAAV,IAARF,GAAwB,CAElC,IAGIG,GAAiB,EAARH,IAAiB,IAHxBC,EAA0B,GAAlBh3C,EAAMvE,OAG4B,IAF1Cw7C,EAA0B,GAAlBj3C,EAAMvE,OAE8C,EADlC,GAAlBuE,EAAMvE,KAEhBy7C,EAAO,QACTA,GAAQ,MACRx6C,EAAM9Q,KAAOsrD,IAAS,GAAM,KAAS,OACrCA,EAAO,MAAiB,KAAPA,GAEnBx6C,EAAM9Q,KAAKsrD,QAEXx6C,EAAM9Q,KAAKmrD,GAGTr6C,EAAMvQ,QAtCK,OAuCb5B,GAAU2Q,OAAOyC,aAAY,MAAnBzC,OAAM,EAAiBwB,IACjCA,EAAMvQ,OAAS,GAQnB,OAJIuQ,EAAMvQ,OAAS,IACjB5B,GAAU2Q,OAAOyC,aAAY,MAAnBzC,OAAM,EAAiBwB,KAG5BnS,EAGT,IAAM4sD,EAAoBjB,EAA0B,IAAIE,YAAgB,KAC3DgB,EAA4C,oBAAZx9B,EAAkE,IAAM,ECzJrH,EACE,SAAqBzwB,EAAuBmQ,GAAvBnQ,YAAuBmQ,aCMvC,SAAS+9C,EAAS7X,EAAgB/jC,EAAgBvU,GACvD,IAAMowD,EAAOv6C,KAAKoF,MAAMjb,EAAQ,YAC1BqwD,EAAMrwD,EACZs4C,EAAKgY,UAAU/7C,EAAQ67C,GACvB9X,EAAKgY,UAAU/7C,EAAS,EAAG87C,GActB,SAASE,EAASjY,EAAgB/jC,GACvC,IAAM67C,EAAO9X,EAAKkY,SAASj8C,GACrB87C,EAAM/X,EAAKmY,UAAUl8C,EAAS,GAE9Bm8C,EACJN,EAAOv6C,KAAKoF,MAAMzG,OAAOm8C,iBAAmB,aAC3CP,IAASv6C,KAAKoF,MAAMzG,OAAOm8C,iBAAmB,aAA0B,IAARN,EAE7DO,EAAuBR,EAAOv6C,KAAKoF,MAAMzG,OAAOq8C,iBAAmB,YAEzE,OAAIH,GAAwBE,EACnBE,OAAOV,GAAQU,OAAO,YAAiBA,OAAOT,GAEzC,WAAPD,EAAuBC,ECtCzB,IAAMU,GAAiB,EAUvB,SAASC,EAA0B,G,IAwBhC1Y,EAxBkC2Y,EAAG,MAAEC,EAAI,OACnD,GAAID,GAAO,GAAKC,GAAQ,GAAKD,GAHH,YAG+B,CAEvD,GAAa,IAATC,GAAcD,GANM,WAMsB,CAE5C,IAAME,EAAK,IAAI/hD,WAAW,GAG1B,OAFMkpC,EAAO,IAAIU,SAASmY,EAAGh/C,SACxBm+C,UAAU,EAAGW,GACXE,EAGP,IAAMC,EAAUH,EAAM,WAChBI,EAAe,WAANJ,EAOf,OANME,EAAK,IAAI/hD,WAAW,IACpBkpC,EAAO,IAAIU,SAASmY,EAAGh/C,SAExBm+C,UAAU,EAAIY,GAAQ,EAAgB,EAAVE,GAEjC9Y,EAAKgY,UAAU,EAAGe,GACXF,EAQT,OAJMA,EAAK,IAAI/hD,WAAW,KACpBkpC,EAAO,IAAIU,SAASmY,EAAGh/C,SACxBm+C,UAAU,EAAGY,GAClBf,EAAS7X,EAAM,EAAG2Y,GACXE,EAIJ,SAASG,EAAqBC,GACnC,IAAMC,EAAOD,EAAKE,UACZR,EAAMp7C,KAAKoF,MAAMu2C,EAAO,KACxBN,EAA4B,KAApBM,EAAa,IAANP,GAGfS,EAAY77C,KAAKoF,MAAMi2C,EAAO,KACpC,MAAO,CACLD,IAAKA,EAAMS,EACXR,KAAMA,EAAmB,IAAZQ,GAIV,SAASC,EAAyB1rD,GACvC,OAAIA,aAAkBktC,KAEb6d,EADUM,EAAqBrrD,IAG/B,KAIJ,SAAS2rD,EAA0Bx/C,GACxC,IAAMkmC,EAAO,IAAIU,SAAS5mC,EAAKD,OAAQC,EAAKf,WAAYe,EAAKd,YAG7D,OAAQc,EAAKd,YACX,KAAK,EAIH,MAAO,CAAE2/C,IAFG3Y,EAAKmY,UAAU,GAEbS,KADD,GAGf,KAAK,EAEH,IAAMW,EAAoBvZ,EAAKmY,UAAU,GAIzC,MAAO,CAAEQ,IAF+B,YAAP,EAApBY,GADIvZ,EAAKmY,UAAU,GAGlBS,KADDW,IAAsB,GAGrC,KAAK,GAKH,MAAO,CAAEZ,IAFGV,EAASjY,EAAM,GAEb4Y,KADD5Y,EAAKmY,UAAU,IAG9B,QACE,MAAM,IAAIpvD,MAAM,yCAAyC+Q,EAAKnN,SAI7D,SAAS6sD,EAAyB1/C,GACvC,IAAM2/C,EAAWH,EAA0Bx/C,GAC3C,OAAO,IAAI+gC,KAAoB,IAAf4e,EAASd,IAAYc,EAASb,KAAO,KAGhD,IAAMc,EAAqB,CAChC/vD,KAAM8uD,EACN91B,OAAQ02B,EACR92B,OAAQi3B,GCpFV,aAgBE,aAPiB,KAAAG,gBAA+E,GAC/E,KAAAC,gBAA+E,GAG/E,KAAAC,SAAwE,GACxE,KAAAC,SAAwE,GAGvF5vD,KAAK6vD,SAASL,GAiElB,OA9DS,YAAAK,SAAP,SAAgB,G,IACdpwD,EAAI,OACJg5B,EAAM,SACNJ,EAAM,SAMN,GAAI54B,GAAQ,EAEVO,KAAK2vD,SAASlwD,GAAQg5B,EACtBz4B,KAAK4vD,SAASnwD,GAAQ44B,MACjB,CAEL,IAAMpuB,EAAQ,EAAIxK,EAClBO,KAAKyvD,gBAAgBxlD,GAASwuB,EAC9Bz4B,KAAK0vD,gBAAgBzlD,GAASouB,IAI3B3wB,EAAA,UAAAooD,YAAP,SAAmBrsD,EAAiBlF,GAElC,IAAK,IAAImE,EAAI,EAAGA,EAAI1C,KAAKyvD,gBAAgBhtD,OAAQC,IAE/C,GAAe,OADTqtD,EAAU/vD,KAAKyvD,gBAAgB/sD,KAGvB,OADNkN,EAAOmgD,EAAQtsD,EAAQlF,IAG3B,OAAO,IAAIyxD,GADG,EAAIttD,EACOkN,GAM/B,IAASlN,EAAI,EAAGA,EAAI1C,KAAK2vD,SAASltD,OAAQC,IAAK,CAC7C,IAAMqtD,EAEEngD,EADR,GAAe,OADTmgD,EAAU/vD,KAAK2vD,SAASjtD,KAGhB,OADNkN,EAAOmgD,EAAQtsD,EAAQlF,IAG3B,OAAO,IAAIyxD,EADEttD,EACYkN,GAK/B,OAAInM,aAAkBusD,EAEbvsD,EAEF,MAGF,YAAA40B,OAAP,SAAczoB,EAAkBnQ,EAAclB,GAC5C,IAAM0xD,EAAUxwD,EAAO,EAAIO,KAAK0vD,iBAAiB,EAAIjwD,GAAQO,KAAK4vD,SAASnwD,GAC3E,OAAIwwD,EACKA,EAAQrgD,EAAMnQ,EAAMlB,GAGpB,IAAIyxD,EAAQvwD,EAAMmQ,IA9EN,EAAAsgD,aAA8C,IAAIC,EAiF3E,EAlFA,GCrBO,SAASC,EAAiBzgD,GAC/B,OAAIA,aAAkB/C,WACb+C,EACEhB,YAAYsB,OAAON,GACrB,IAAI/C,WAAW+C,EAAOA,OAAQA,EAAOd,WAAYc,EAAOb,YACtDa,aAAkBhB,YACpB,IAAI/B,WAAW+C,GAGf/C,WAAW8B,KAAKiB,G,gTCA3B,aAKE,WACmB0gD,EACA9xD,EACA+xD,EACAC,EACAC,EACAC,EACAC,EACAC,YAPAN,MAAkD,EAAeH,uBACjE3xD,mBAAuB6C,IACvBkvD,MAXY,cAYZC,MAXsB,eAYtBC,mBACAC,mBACAC,mBACAC,UAPAN,sBACA9xD,eACA+xD,gBACAC,yBACAC,gBACAC,oBACAC,uBACAC,2BAZX,KAAAx7C,IAAM,EACN,KAAA2gC,KAAO,IAAIU,SAAS,IAAI7nC,YAAY3O,KAAKuwD,oBACzC,KAAAj6C,MAAQ,IAAI1J,WAAW5M,KAAK81C,KAAKnmC,QA4b3C,OA/aU,YAAAihD,cAAR,WACE,OAAO5wD,KAAKsW,MAAM9B,SAAS,EAAGxU,KAAKmV,MAG7B,YAAA07C,kBAAR,WACE7wD,KAAKmV,IAAM,GAGN,YAAAsjB,OAAP,SAAch1B,GAGZ,OAFAzD,KAAK6wD,oBACL7wD,KAAK8wD,SAASrtD,EAAQ,GACfzD,KAAK4wD,iBAGN,YAAAE,SAAR,SAAiBrtD,EAAiBstD,GAChC,GAAIA,EAAQ/wD,KAAKswD,SACf,MAAM,IAAIzxD,MAAM,6BAA6BkyD,GAGjC,MAAVttD,EACFzD,KAAKgxD,YACsB,kBAAXvtD,EAChBzD,KAAKixD,cAAcxtD,GACQ,iBAAXA,EAChBzD,KAAKkxD,aAAaztD,GACS,iBAAXA,EAChBzD,KAAK2mD,aAAaljD,GACS,iBAAXA,EAChBzD,KAAKmxD,aAAa1tD,GAElBzD,KAAKoxD,aAAa3tD,EAAQstD,IAItB,YAAAM,wBAAR,SAAgCC,GAC9B,IAAMC,EAAevxD,KAAKmV,IAAMm8C,EAE5BtxD,KAAK81C,KAAKhnC,WAAayiD,GACzBvxD,KAAKwxD,aAA4B,EAAfD,IAId,YAAAC,aAAR,SAAqBC,GACnB,IAAMC,EAAY,IAAI/iD,YAAY8iD,GAC5BE,EAAW,IAAI/kD,WAAW8kD,GAC1BE,EAAU,IAAIpb,SAASkb,GAE7BC,EAAS/3C,IAAI5Z,KAAKsW,OAElBtW,KAAK81C,KAAO8b,EACZ5xD,KAAKsW,MAAQq7C,GAGP,YAAAX,UAAR,WACEhxD,KAAK6xD,QAAQ,MAGP,YAAAZ,cAAR,SAAsBxtD,QAChBA,EACFzD,KAAK6xD,QAAQ,KAEb7xD,KAAK6xD,QAAQ,MAGT,YAAAX,aAAR,SAAqBztD,GACfuO,OAAO8/C,cAAcruD,KAAYzD,KAAK2wD,oBACpCltD,GAAU,EACRA,EAAS,IAEXzD,KAAK6xD,QAAQpuD,GACJA,EAAS,KAElBzD,KAAK6xD,QAAQ,KACb7xD,KAAK6xD,QAAQpuD,IACJA,EAAS,OAElBzD,KAAK6xD,QAAQ,KACb7xD,KAAK+xD,SAAStuD,IACLA,EAAS,YAElBzD,KAAK6xD,QAAQ,KACb7xD,KAAKgyD,SAASvuD,KAGdzD,KAAK6xD,QAAQ,KACb7xD,KAAKiyD,SAASxuD,IAGZA,IAAW,GAEbzD,KAAK6xD,QAAQ,IAAQpuD,EAAS,IACrBA,IAAW,KAEpBzD,KAAK6xD,QAAQ,KACb7xD,KAAKkyD,QAAQzuD,IACJA,IAAW,OAEpBzD,KAAK6xD,QAAQ,KACb7xD,KAAKmyD,SAAS1uD,IACLA,IAAW,YAEpBzD,KAAK6xD,QAAQ,KACb7xD,KAAKoyD,SAAS3uD,KAGdzD,KAAK6xD,QAAQ,KACb7xD,KAAKqyD,SAAS5uD,IAKdzD,KAAKywD,cAEPzwD,KAAK6xD,QAAQ,KACb7xD,KAAKsyD,SAAS7uD,KAGdzD,KAAK6xD,QAAQ,KACb7xD,KAAKuyD,SAAS9uD,KAKZ,YAAA0tD,aAAR,SAAqB1tD,GACfA,GAAU6qD,OAAO,GACf7qD,EAAS6qD,OAAO,KAElBtuD,KAAK6xD,QAAQ7/C,OAAOvO,IACXA,EAAS6qD,OAAO,MAEzBtuD,KAAK6xD,QAAQ,KACb7xD,KAAK6xD,QAAQ7/C,OAAOvO,KACXA,EAAS6qD,OAAO,QAEzBtuD,KAAK6xD,QAAQ,KACb7xD,KAAK+xD,SAAS//C,OAAOvO,KACZA,EAAS6qD,OAAO,aAEzBtuD,KAAK6xD,QAAQ,KACb7xD,KAAKgyD,SAAShgD,OAAOvO,MAGrBzD,KAAK6xD,QAAQ,KACb7xD,KAAKwyD,WAAW/uD,IAGdA,GAAU6qD,QAAQ,IAEpBtuD,KAAK6xD,QAAQ,IAAQ7/C,OAAOvO,GAAU,IAC7BA,GAAU6qD,QAAQ,MAE3BtuD,KAAK6xD,QAAQ,KACb7xD,KAAKkyD,QAAQlgD,OAAOvO,KACXA,GAAU6qD,QAAQ,QAE3BtuD,KAAK6xD,QAAQ,KACb7xD,KAAKmyD,SAASngD,OAAOvO,KACZA,GAAU6qD,QAAQ,aAE3BtuD,KAAK6xD,QAAQ,KACb7xD,KAAKoyD,SAASpgD,OAAOvO,MAGrBzD,KAAK6xD,QAAQ,KACb7xD,KAAKwyD,WAAW/uD,KAKd,YAAAgvD,kBAAR,SAA0B3jD,GACxB,GAAIA,EAAa,GAEf9O,KAAK6xD,QAAQ,IAAO/iD,QACf,GAAIA,EAAa,IAEtB9O,KAAK6xD,QAAQ,KACb7xD,KAAK6xD,QAAQ/iD,QACR,GAAIA,EAAa,MAEtB9O,KAAK6xD,QAAQ,KACb7xD,KAAK+xD,SAASjjD,OACT,MAAIA,EAAa,YAKtB,MAAM,IAAIjQ,MAAM,oBAAoBiQ,EAAU,mBAH9C9O,KAAK6xD,QAAQ,KACb7xD,KAAKgyD,SAASljD,KAMV,YAAA63C,aAAR,SAAqBljD,GACnB,IACMmpD,EAAYnpD,EAAOhB,OAEzB,GAAI+pD,GAA2BI,EAAYG,EAAwB,CACjE,IAAMj+C,EAAa69C,EAAUlpD,GAC7BzD,KAAKqxD,wBALe,EAKyBviD,GAC7C9O,KAAKyyD,kBAAkB3jD,GACvBk+C,EAAavpD,EAAQzD,KAAKsW,MAAOtW,KAAKmV,KACtCnV,KAAKmV,KAAOrG,OAENA,EAAa69C,EAAUlpD,GAC7BzD,KAAKqxD,wBAXe,EAWyBviD,GAC7C9O,KAAKyyD,kBAAkB3jD,GNtLtB,SAAsB2D,EAAa+6B,EAAoB0f,GAI5D,IAHA,IAAMN,EAAYn6C,EAAIhQ,OAClBsP,EAASm7C,EACT/3C,EAAM,EACHA,EAAMy3C,GAAW,CACtB,IAAIpvD,EAAQiV,EAAIE,WAAWwC,KAE3B,GAA6B,IAAhB,WAAR3X,GAAL,CAIO,GAA6B,IAAhB,WAARA,GAEVgwC,EAAOz7B,KAAcvU,GAAS,EAAK,GAAQ,QACtC,CAEL,GAAIA,GAAS,OAAUA,GAAS,OAE1B2X,EAAMy3C,EAAW,CACnB,IAAMC,EAAQp6C,EAAIE,WAAWwC,GACJ,QAAZ,MAAR03C,OACD13C,EACF3X,IAAkB,KAARA,IAAkB,KAAe,KAARqvD,GAAiB,OAK7B,IAAhB,WAARrvD,IAEHgwC,EAAOz7B,KAAcvU,GAAS,GAAM,GAAQ,IAC5CgwC,EAAOz7B,KAAcvU,GAAS,EAAK,GAAQ,MAG3CgwC,EAAOz7B,KAAcvU,GAAS,GAAM,EAAQ,IAC5CgwC,EAAOz7B,KAAcvU,GAAS,GAAM,GAAQ,IAC5CgwC,EAAOz7B,KAAcvU,GAAS,EAAK,GAAQ,KAI/CgwC,EAAOz7B,KAAqB,GAARvU,EAAgB,SA9BlCgwC,EAAOz7B,KAAYvU,GATlB,CMuLYiG,EAAQzD,KAAKsW,MAAOtW,KAAKmV,KACtCnV,KAAKmV,KAAOrG,GAIR,YAAAsiD,aAAR,SAAqB3tD,EAAiBstD,GAEpC,IAAMv6C,EAAMxW,KAAKqwD,eAAeP,YAAYrsD,EAAQzD,KAAKzB,SACzD,GAAW,MAAPiY,EACFxW,KAAK0yD,gBAAgBl8C,QAChB,GAAIjJ,MAAMC,QAAQ/J,GACvBzD,KAAK2yD,YAAYlvD,EAAQstD,QACpB,GAAIpiD,YAAYsB,OAAOxM,GAC5BzD,KAAK4yD,aAAanvD,OACb,IAAsB,iBAAXA,EAIhB,MAAM,IAAI5E,MAAM,wBAAwBpC,OAAOC,UAAUsT,SAAS7J,MAAM1C,IAHxEzD,KAAK6yD,UAAUpvD,EAAmCstD,KAO9C,YAAA6B,aAAR,SAAqBnvD,GACnB,IAAMsM,EAAOtM,EAAOqL,WACpB,GAAIiB,EAAO,IAET/P,KAAK6xD,QAAQ,KACb7xD,KAAK6xD,QAAQ9hD,QACR,GAAIA,EAAO,MAEhB/P,KAAK6xD,QAAQ,KACb7xD,KAAK+xD,SAAShiD,OACT,MAAIA,EAAO,YAKhB,MAAM,IAAIlR,MAAM,qBAAqBkR,GAHrC/P,KAAK6xD,QAAQ,KACb7xD,KAAKgyD,SAASjiD,GAIhB,IAAMuG,EAAQ85C,EAAiB3sD,GAC/BzD,KAAK8yD,SAASx8C,IAGR,YAAAq8C,YAAR,SAAoBlvD,EAAwBstD,G,QACpChhD,EAAOtM,EAAOhB,OACpB,GAAIsN,EAAO,GAET/P,KAAK6xD,QAAQ,IAAO9hD,QACf,GAAIA,EAAO,MAEhB/P,KAAK6xD,QAAQ,KACb7xD,KAAK+xD,SAAShiD,OACT,MAAIA,EAAO,YAKhB,MAAM,IAAIlR,MAAM,oBAAoBkR,GAHpC/P,KAAK6xD,QAAQ,KACb7xD,KAAKgyD,SAASjiD,G,IAIhB,IAAmB,IAAAjI,EAAA,KAAM,8BAAE,CAAtB,IAAMqyB,EAAI,QACbn6B,KAAK8wD,SAAS32B,EAAM42B,EAAQ,I,mGAIxB,YAAAgC,sBAAR,SAA8BtvD,EAAiCD,G,QACzD20B,EAAQ,E,IAEZ,IAAkB,WAAI,mCAAE,IAClB10B,EADQ,UAEV00B,I,iGAIJ,OAAOA,GAGD,YAAA06B,UAAR,SAAkBpvD,EAAiCstD,G,QAC3CvtD,EAAO/G,OAAO+G,KAAKC,GACrBzD,KAAKwwD,UACPhtD,EAAK2mD,OAGP,IAAMp6C,EAAO/P,KAAK0wD,gBAAkB1wD,KAAK+yD,sBAAsBtvD,EAAQD,GAAQA,EAAKf,OAEpF,GAAIsN,EAAO,GAET/P,KAAK6xD,QAAQ,IAAO9hD,QACf,GAAIA,EAAO,MAEhB/P,KAAK6xD,QAAQ,KACb7xD,KAAK+xD,SAAShiD,OACT,MAAIA,EAAO,YAKhB,MAAM,IAAIlR,MAAM,yBAAyBkR,GAHzC/P,KAAK6xD,QAAQ,KACb7xD,KAAKgyD,SAASjiD,G,IAKhB,IAAkB,WAAI,8BAAE,CAAnB,IAAMxS,EAAG,QACNC,EAAQiG,EAAOlG,GAEfyC,KAAK0wD,0BAAmBlzD,IAC5BwC,KAAK2mD,aAAappD,GAClByC,KAAK8wD,SAAStzD,EAAOuzD,EAAQ,K,mGAK3B,YAAA2B,gBAAR,SAAwBl8C,GACtB,IAAMzG,EAAOyG,EAAI5G,KAAKnN,OACtB,GAAa,IAATsN,EAEF/P,KAAK6xD,QAAQ,UACR,GAAa,IAAT9hD,EAET/P,KAAK6xD,QAAQ,UACR,GAAa,IAAT9hD,EAET/P,KAAK6xD,QAAQ,UACR,GAAa,IAAT9hD,EAET/P,KAAK6xD,QAAQ,UACR,GAAa,KAAT9hD,EAET/P,KAAK6xD,QAAQ,UACR,GAAI9hD,EAAO,IAEhB/P,KAAK6xD,QAAQ,KACb7xD,KAAK6xD,QAAQ9hD,QACR,GAAIA,EAAO,MAEhB/P,KAAK6xD,QAAQ,KACb7xD,KAAK+xD,SAAShiD,OACT,MAAIA,EAAO,YAKhB,MAAM,IAAIlR,MAAM,+BAA+BkR,GAH/C/P,KAAK6xD,QAAQ,KACb7xD,KAAKgyD,SAASjiD,GAIhB/P,KAAKkyD,QAAQ17C,EAAI/W,MACjBO,KAAK8yD,SAASt8C,EAAI5G,OAGZ,YAAAiiD,QAAR,SAAgBr0D,GACdwC,KAAKqxD,wBAAwB,GAE7BrxD,KAAK81C,KAAKkd,SAAShzD,KAAKmV,IAAK3X,GAC7BwC,KAAKmV,OAGC,YAAA29C,SAAR,SAAiB1yD,GACf,IAAM2P,EAAO3P,EAAOqC,OACpBzC,KAAKqxD,wBAAwBthD,GAE7B/P,KAAKsW,MAAMsD,IAAIxZ,EAAQJ,KAAKmV,KAC5BnV,KAAKmV,KAAOpF,GAGN,YAAAmiD,QAAR,SAAgB10D,GACdwC,KAAKqxD,wBAAwB,GAE7BrxD,KAAK81C,KAAKmd,QAAQjzD,KAAKmV,IAAK3X,GAC5BwC,KAAKmV,OAGC,YAAA48C,SAAR,SAAiBv0D,GACfwC,KAAKqxD,wBAAwB,GAE7BrxD,KAAK81C,KAAKod,UAAUlzD,KAAKmV,IAAK3X,GAC9BwC,KAAKmV,KAAO,GAGN,YAAAg9C,SAAR,SAAiB30D,GACfwC,KAAKqxD,wBAAwB,GAE7BrxD,KAAK81C,KAAKqd,SAASnzD,KAAKmV,IAAK3X,GAC7BwC,KAAKmV,KAAO,GAGN,YAAA68C,SAAR,SAAiBx0D,GACfwC,KAAKqxD,wBAAwB,GAE7BrxD,KAAK81C,KAAKgY,UAAU9tD,KAAKmV,IAAK3X,GAC9BwC,KAAKmV,KAAO,GAGN,YAAAi9C,SAAR,SAAiB50D,GACfwC,KAAKqxD,wBAAwB,GAE7BrxD,KAAK81C,KAAKsd,SAASpzD,KAAKmV,IAAK3X,GAC7BwC,KAAKmV,KAAO,GAGN,YAAAm9C,SAAR,SAAiB90D,GACfwC,KAAKqxD,wBAAwB,GAC7BrxD,KAAK81C,KAAKud,WAAWrzD,KAAKmV,IAAK3X,GAC/BwC,KAAKmV,KAAO,GAGN,YAAAo9C,SAAR,SAAiB/0D,GACfwC,KAAKqxD,wBAAwB,GAC7BrxD,KAAK81C,KAAKwd,WAAWtzD,KAAKmV,IAAK3X,GAC/BwC,KAAKmV,KAAO,GAGN,YAAA88C,SAAR,SAAiBz0D,GACfwC,KAAKqxD,wBAAwB,GJlb1B,SAAmBvb,EAAgB/jC,EAAgBvU,GACxD,IAAMowD,EAAOpwD,EAAQ,WACfqwD,EAAMrwD,EACZs4C,EAAKgY,UAAU/7C,EAAQ67C,GACvB9X,EAAKgY,UAAU/7C,EAAS,EAAG87C,GAJtB,CIobO7tD,KAAK81C,KAAM91C,KAAKmV,IAAK3X,GAC/BwC,KAAKmV,KAAO,GAGN,YAAAk9C,SAAR,SAAiB70D,GACfwC,KAAKqxD,wBAAwB,GAE7B1D,EAAS3tD,KAAK81C,KAAM91C,KAAKmV,IAAK3X,GAC9BwC,KAAKmV,KAAO,GAGN,YAAAq9C,WAAR,SAAmBh1D,GACjBwC,KAAKqxD,wBAAwB,GJlb1B,SAAqBvb,EAAgB/jC,EAAgBvU,GAC1D,IAAIowD,EAAO57C,OAAOxU,EAAQ8wD,OAAO,aAC3BT,EAAM77C,OAAOxU,EAAQ8wD,OAAO,aAC9BV,EAAO,GAAa,IAARC,IAEdD,GAAQ,GAEV9X,EAAKgY,UAAU/7C,EAAQ67C,GACvB9X,EAAKgY,UAAU/7C,EAAS,EAAG87C,GARtB,CIobS7tD,KAAK81C,KAAM91C,KAAKmV,IAAK3X,GACjCwC,KAAKmV,KAAO,GAEhB,EA/bA,GC4BMo+C,EAAsC,GAQrC,SAAS96B,EACdj7B,EACA8yC,GAYA,YAAO,IAZPA,MAAsDijB,GAEtC,IAAI,EAClBjjB,EAAQ+f,eACP/f,EAA8C/xC,QAC/C+xC,EAAQggB,SACRhgB,EAAQigB,kBACRjgB,EAAQkgB,SACRlgB,EAAQmgB,aACRngB,EAAQogB,gBACRpgB,EAAQqgB,qBAEKl4B,OAAOj7B,GC3DjB,SAASg2D,EAAWC,GACzB,OAAUA,EAAO,EAAI,IAAM,IAAE,KAAKpgD,KAAKssB,IAAI8zB,GAAMzjD,SAAS,IAAI0jD,SAAS,EAAG,KCM5E,IAQA,aAKE,WAAqBC,EAAgDC,YAAhDD,MAbQ,aAawCC,MAZpC,IAYZD,oBAAgDC,uBAJrE,KAAAC,IAAM,EACN,KAAAC,KAAO,EAKL9zD,KAAK+zD,OAAS,GACd,IAAK,IAAIrxD,EAAI,EAAGA,EAAI1C,KAAK2zD,aAAcjxD,IACrC1C,KAAK+zD,OAAO7xD,KAAK,IAqDvB,OAjDS,YAAA8xD,YAAP,SAAmBllD,GACjB,OAAOA,EAAa,GAAKA,GAAc9O,KAAK2zD,cAGtC,YAAAj+B,IAAR,SAAYpf,EAAmB82C,EAAqBt+C,GAClD,IAAMmlD,EAAUj0D,KAAK+zD,OAAOjlD,EAAa,GACnColD,EAAgBD,EAAQxxD,OAE9B0xD,EAAY,IAAK,IAAIzxD,EAAI,EAAGA,EAAIwxD,EAAexxD,IAAK,CAIlD,IAHA,IAAMnD,EAAS00D,EAAQvxD,GACjB0xD,EAAc70D,EAAO+W,MAElB5N,EAAI,EAAGA,EAAIoG,EAAYpG,IAC9B,GAAI0rD,EAAY1rD,KAAO4N,EAAM82C,EAAc1kD,GACzC,SAASyrD,EAGb,OAAO50D,EAAO/B,MAEhB,OAAO,MAGD,YAAA62D,MAAR,SAAc/9C,EAAmB9Y,GAC/B,IAAMy2D,EAAUj0D,KAAK+zD,OAAOz9C,EAAM7T,OAAS,GACrClD,EAAyB,CAAE+W,MAAK,EAAE9Y,MAAK,GAEzCy2D,EAAQxxD,QAAUzC,KAAK4zD,gBAGzBK,EAAS5gD,KAAKo9B,SAAWwjB,EAAQxxD,OAAU,GAAKlD,EAEhD00D,EAAQ/xD,KAAK3C,IAIV,YAAA84B,OAAP,SAAc/hB,EAAmB82C,EAAqBt+C,GACpD,IAAMwlD,EAAct0D,KAAK01B,IAAIpf,EAAO82C,EAAat+C,GACjD,GAAmB,MAAfwlD,EAEF,OADAt0D,KAAK6zD,MACES,EAETt0D,KAAK8zD,OAEL,IAAMt2D,EAAQ2vD,EAAa72C,EAAO82C,EAAat+C,GAEzCylD,EAAoB3nD,WAAWlQ,UAAUqH,MAAMnE,KAAK0W,EAAO82C,EAAaA,EAAct+C,GAE5F,OADA9O,KAAKq0D,MAAME,EAAmB/2D,GACvBA,GAEX,EA9DA,G,67ECyBMg3D,EAAa,IAAIhe,SAAS,IAAI7nC,YAAY,IAC1C8lD,EAAc,IAAI7nD,WAAW4nD,EAAW7kD,QAIjC+kD,EAA8C,WACzD,IAGEF,EAAWG,QAAQ,GACnB,MAAOntD,GACP,OAAOA,EAAEzE,YAEX,MAAM,IAAIlE,MAAM,iBARyC,GAWrD+1D,EAAY,IAAIF,EAA8B,qBAI9CG,EAAyB,IAAI,EAEnC,aASE,WACmBxE,EACA9xD,EACAu2D,EACAC,EACAC,EACAC,EACAC,EACAC,YAPA9E,MAAkD,EAAeH,uBACjE3xD,mBAAuB6C,IACvB0zD,MAhBM,qBAiBNC,MAjBM,qBAkBNC,MAlBM,qBAmBNC,MAnBM,qBAoBNC,MApBM,qBAqBNC,SAPA9E,sBACA9xD,eACAu2D,oBACAC,oBACAC,sBACAC,oBACAC,oBACAC,kBAhBX,KAAAC,SAAW,EACX,KAAAjgD,IAAM,EAEN,KAAA2gC,KAAO0e,EACP,KAAAl+C,MAAQm+C,EACR,KAAAY,UA9BiB,EA+BR,KAAArc,MAA2B,GA0hB9C,OA7gBU,YAAA6X,kBAAR,WACE7wD,KAAKo1D,SAAW,EAChBp1D,KAAKq1D,UA9CkB,GAiDjB,YAAAC,UAAR,SAAkB3lD,GAChB3P,KAAKsW,MAAQ85C,EAAiBzgD,GAC9B3P,KAAK81C,KL5EF,SAAwBnmC,GAC7B,GAAIA,aAAkBhB,YACpB,OAAO,IAAI6nC,SAAS7mC,GAGtB,IAAM4lD,EAAanF,EAAiBzgD,GACpC,OAAO,IAAI6mC,SAAS+e,EAAW5lD,OAAQ4lD,EAAW1mD,WAAY0mD,EAAWzmD,YANpE,CK4EwB9O,KAAKsW,OAChCtW,KAAKmV,IAAM,GAGL,YAAAqgD,aAAR,SAAqB7lD,GACnB,IAxDuB,IAwDnB3P,KAAKq1D,UAAoCr1D,KAAKy1D,eAE3C,CAEL,IAAMC,EAAgB11D,KAAKsW,MAAM9B,SAASxU,KAAKmV,KACzCwgD,EAAUvF,EAAiBzgD,GAC3BimD,EAAW,IAAIhpD,WAAW8oD,EAAcjzD,OAASkzD,EAAQlzD,QAC/DmzD,EAASh8C,IAAI87C,GACbE,EAASh8C,IAAI+7C,EAASD,EAAcjzD,QACpCzC,KAAKs1D,UAAUM,QARf51D,KAAKs1D,UAAU3lD,IAYX,YAAA8lD,aAAR,SAAqB1lD,GACnB,YAAO,IADYA,SACZ/P,KAAK81C,KAAKhnC,WAAa9O,KAAKmV,KAAOpF,GAGpC,YAAA8lD,wBAAR,SAAgCC,GACxB,IAAEhgB,EAAc91C,KAAV,KAAEmV,EAAQnV,KAAL,IACjB,OAAO,IAAIuO,WAAW,UAASunC,EAAKhnC,WAAaqG,GAAG,OAAO2gC,EAAKhnC,WAAU,4BAA4BgnD,EAAS,MAG1G,YAAAz9B,OAAP,SAAc1oB,GAGZ,OAFA3P,KAAK6wD,oBACL7wD,KAAKs1D,UAAU3lD,GACR3P,KAAK+1D,sBAGN,YAAAA,mBAAR,WACE,IAAMtyD,EAASzD,KAAKg2D,eACpB,GAAIh2D,KAAKy1D,eACP,MAAMz1D,KAAK61D,wBAAwB71D,KAAKmV,KAE1C,OAAO1R,GAGI,YAAAwyD,YAAb,SAAyBC,G,0HACnBC,K,yCAEuB,O,4EACzB,GADexmD,EAAM,QACjBwmD,EACF,MAAMn2D,KAAK61D,wBAAwB71D,KAAKo1D,UAG1Cp1D,KAAKw1D,aAAa7lD,GAElB,IACElM,EAASzD,KAAKg2D,eACdG,KACA,MAAO3uD,GACP,KAAMA,aAAaktD,GACjB,MAAMltD,EAIVxH,KAAKo1D,UAAYp1D,KAAKmV,I,6RAGxB,GAAIghD,EAAS,CACX,GAAIn2D,KAAKy1D,eACP,MAAMz1D,KAAK61D,wBAAwB71D,KAAKo1D,UAE1C,MAAO,CAAP,EAAO,GAIT,MADQC,GAAF,EAA8Br1D,MAApB,SAAEmV,EAAG,MAAEigD,EAAQ,WACzB,IAAI7mD,WACR,gCAAgCilD,EAAW6B,GAAS,OAAOD,EAAQ,KAAKjgD,EAAG,mCAIxE,YAAAihD,kBAAP,SAAyBF,GACvB,OAAOl2D,KAAKq2D,iBAAiBH,OAGxB,YAAAI,aAAP,SAAoBJ,GAClB,OAAOl2D,KAAKq2D,iBAAiBH,OAGhB,YAAAG,iBAAf,SAAgCH,EAA0C1oD,G,4GACpE+oD,EAAwB/oD,EACxBgpD,GAAkB,E,2CAEK,O,gFACzB,GADe7mD,EAAM,QACjBnC,GAA8B,IAAnBgpD,EACb,MAAMx2D,KAAK61D,wBAAwB71D,KAAKo1D,UAG1Cp1D,KAAKw1D,aAAa7lD,GAEd4mD,IACFC,EAAiBx2D,KAAKy2D,gBACtBF,KACAv2D,KAAK0E,Y,oEAKG1E,KAAKg2D,iB,OAAX,mB,OACA,OADA,SACyB,KAAnBQ,EACJ,M,iCAIJ,M,sBAAmB9B,GACjB,MAAM,E,qBAIV10D,KAAKo1D,UAAYp1D,KAAKmV,I,4TAIlB,YAAA6gD,aAAR,WACEU,EAAQ,OAAa,CACnB,IAAMrB,EAAWr1D,KAAK22D,eAClBlzD,SAEJ,GAAI4xD,GAAY,IAEd5xD,EAAS4xD,EAAW,SACf,GAAIA,EAAW,IACpB,GAAIA,EAAW,IAEb5xD,EAAS4xD,OACJ,GAAIA,EAAW,IAAM,CAG1B,GAAa,KADPtlD,EAAOslD,EAAW,KACR,CACdr1D,KAAK42D,aAAa7mD,GAClB/P,KAAK0E,WACL,SAASgyD,EAETjzD,EAAS,QAEN,GAAI4xD,EAAW,IAAM,CAG1B,GAAa,KADPtlD,EAAOslD,EAAW,KACR,CACdr1D,KAAK62D,eAAe9mD,GACpB/P,KAAK0E,WACL,SAASgyD,EAETjzD,EAAS,OAEN,CAEL,IAAMqL,EAAaumD,EAAW,IAC9B5xD,EAASzD,KAAK82D,iBAAiBhoD,EAAY,QAExC,GAAiB,MAAbumD,EAET5xD,EAAS,UACJ,GAAiB,MAAb4xD,EAET5xD,UACK,GAAiB,MAAb4xD,EAET5xD,UACK,GAAiB,MAAb4xD,EAET5xD,EAASzD,KAAK+2D,eACT,GAAiB,MAAb1B,EAET5xD,EAASzD,KAAKg3D,eACT,GAAiB,MAAb3B,EAET5xD,EAASzD,KAAKi3D,cACT,GAAiB,MAAb5B,EAET5xD,EAASzD,KAAKk3D,eACT,GAAiB,MAAb7B,EAET5xD,EAASzD,KAAKm3D,eACT,GAAiB,MAAb9B,EAET5xD,EAASzD,KAAKo3D,eACT,GAAiB,MAAb/B,EAET5xD,EAASzD,KAAKq3D,cACT,GAAiB,MAAbhC,EAET5xD,EAASzD,KAAKs3D,eACT,GAAiB,MAAbjC,EAET5xD,EAASzD,KAAKu3D,eACT,GAAiB,MAAblC,EAET5xD,EAASzD,KAAKw3D,eACT,GAAiB,MAAbnC,EAEHvmD,EAAa9O,KAAKy3D,SACxBh0D,EAASzD,KAAK82D,iBAAiBhoD,EAAY,QACtC,GAAiB,MAAbumD,EAEHvmD,EAAa9O,KAAK03D,UACxBj0D,EAASzD,KAAK82D,iBAAiBhoD,EAAY,QACtC,GAAiB,MAAbumD,EAEHvmD,EAAa9O,KAAK23D,UACxBl0D,EAASzD,KAAK82D,iBAAiBhoD,EAAY,QACtC,GAAiB,MAAbumD,EAAmB,CAG5B,GAAa,KADPtlD,EAAO/P,KAAKk3D,WACF,CACdl3D,KAAK62D,eAAe9mD,GACpB/P,KAAK0E,WACL,SAASgyD,EAETjzD,EAAS,QAEN,GAAiB,MAAb4xD,EAAmB,CAG5B,GAAa,KADPtlD,EAAO/P,KAAKm3D,WACF,CACdn3D,KAAK62D,eAAe9mD,GACpB/P,KAAK0E,WACL,SAASgyD,EAETjzD,EAAS,QAEN,GAAiB,MAAb4xD,EAAmB,CAG5B,GAAa,KADPtlD,EAAO/P,KAAKk3D,WACF,CACdl3D,KAAK42D,aAAa7mD,GAClB/P,KAAK0E,WACL,SAASgyD,EAETjzD,EAAS,QAEN,GAAiB,MAAb4xD,EAAmB,CAG5B,GAAa,KADPtlD,EAAO/P,KAAKm3D,WACF,CACdn3D,KAAK42D,aAAa7mD,GAClB/P,KAAK0E,WACL,SAASgyD,EAETjzD,EAAS,QAEN,GAAiB,MAAb4xD,EAAmB,CAE5B,IAAMtlD,EAAO/P,KAAKy3D,SAClBh0D,EAASzD,KAAK43D,aAAa7nD,EAAM,QAC5B,GAAiB,MAAbslD,EAEHtlD,EAAO/P,KAAK03D,UAClBj0D,EAASzD,KAAK43D,aAAa7nD,EAAM,QAC5B,GAAiB,MAAbslD,EAEHtlD,EAAO/P,KAAK23D,UAClBl0D,EAASzD,KAAK43D,aAAa7nD,EAAM,QAC5B,GAAiB,MAAbslD,EAET5xD,EAASzD,KAAK63D,gBAAgB,EAAG,QAC5B,GAAiB,MAAbxC,EAET5xD,EAASzD,KAAK63D,gBAAgB,EAAG,QAC5B,GAAiB,MAAbxC,EAET5xD,EAASzD,KAAK63D,gBAAgB,EAAG,QAC5B,GAAiB,MAAbxC,EAET5xD,EAASzD,KAAK63D,gBAAgB,EAAG,QAC5B,GAAiB,MAAbxC,EAET5xD,EAASzD,KAAK63D,gBAAgB,GAAI,QAC7B,GAAiB,MAAbxC,EAEHtlD,EAAO/P,KAAKy3D,SAClBh0D,EAASzD,KAAK63D,gBAAgB9nD,EAAM,QAC/B,GAAiB,MAAbslD,EAEHtlD,EAAO/P,KAAK03D,UAClBj0D,EAASzD,KAAK63D,gBAAgB9nD,EAAM,OAC/B,IAAiB,MAAbslD,EAKT,MAAM,IAAIx2D,MAAM,2BAA2B20D,EAAW6B,IAHhDtlD,EAAO/P,KAAK23D,UAClBl0D,EAASzD,KAAK63D,gBAAgB9nD,EAAM,GAKtC/P,KAAK0E,WAGL,IADA,IAAMs0C,EAAQh5C,KAAKg5C,MACZA,EAAMv2C,OAAS,GAAG,CAEvB,IAAM/D,EAAQs6C,EAAMA,EAAMv2C,OAAS,GACnC,GAAmB,IAAf/D,EAAMe,KAAsB,CAG9B,GAFAf,EAAMkQ,MAAMlQ,EAAM64B,UAAY9zB,EAC9B/E,EAAM64B,WACF74B,EAAM64B,WAAa74B,EAAMqR,KAI3B,SAAS2mD,EAHT1d,EAAMr1C,MACNF,EAAS/E,EAAMkQ,UAIZ,IAAmB,IAAflQ,EAAMe,KAAwB,CACvC,GA1XFq4D,SAEa,YAFbA,SA0XyBr0D,IAxXY,WAAZq0D,EAyXrB,MAAM,IAAIj5D,MAAM,uDAAyD4E,GAG3E/E,EAAMnB,IAAMkG,EACZ/E,EAAMe,KAAO,EACb,SAASi3D,EAQT,GAHAh4D,EAAM82B,IAAI92B,EAAMnB,KAAQkG,EACxB/E,EAAMq5D,YAEFr5D,EAAMq5D,YAAcr5D,EAAMqR,KAGvB,CACLrR,EAAMnB,IAAM,KACZmB,EAAMe,KAAO,EACb,SAASi3D,EALT1d,EAAMr1C,MACNF,EAAS/E,EAAM82B,KASrB,OAAO/xB,EApZa,IAClBq0D,GAuZE,YAAAnB,aAAR,WAME,OAvYuB,IAkYnB32D,KAAKq1D,WACPr1D,KAAKq1D,SAAWr1D,KAAKi3D,UAIhBj3D,KAAKq1D,UAGN,YAAA3wD,SAAR,WACE1E,KAAKq1D,UA3YkB,GA8YjB,YAAAoB,cAAR,WACE,IAAMpB,EAAWr1D,KAAK22D,eAEtB,OAAQtB,GACN,KAAK,IACH,OAAOr1D,KAAKk3D,UACd,KAAK,IACH,OAAOl3D,KAAKm3D,UACd,QACE,GAAI9B,EAAW,IACb,OAAOA,EAAW,IAElB,MAAM,IAAIx2D,MAAM,iCAAiC20D,EAAW6B,MAM5D,YAAAuB,aAAR,SAAqB7mD,GACnB,GAAIA,EAAO/P,KAAKi1D,aACd,MAAM,IAAIp2D,MAAM,oCAAoCkR,EAAI,2BAA2B/P,KAAKi1D,aAAY,KAGtGj1D,KAAKg5C,MAAM92C,KAAK,CACdzC,KAAM,EACNsQ,KAAI,EACJxS,IAAK,KACLw6D,UAAW,EACXviC,IAAK,MAID,YAAAqhC,eAAR,SAAuB9mD,GACrB,GAAIA,EAAO/P,KAAKg1D,eACd,MAAM,IAAIn2D,MAAM,sCAAsCkR,EAAI,uBAAuB/P,KAAKg1D,eAAc,KAGtGh1D,KAAKg5C,MAAM92C,KAAK,CACdzC,KAAM,EACNsQ,KAAI,EACJnB,MAAO,IAAIrB,MAAewC,GAC1BwnB,SAAU,KAIN,YAAAu/B,iBAAR,SAAyBhoD,EAAoBkpD,G,MAC3C,GAAIlpD,EAAa9O,KAAK80D,aACpB,MAAM,IAAIj2D,MAAM,2CAA2CiQ,EAAU,qBAAqB9O,KAAK80D,aAAY,KAG7G,GAAI90D,KAAKsW,MAAMxH,WAAa9O,KAAKmV,IAAM6iD,EAAelpD,EACpD,MAAM8lD,EAGR,IACInxD,EADEsO,EAAS/R,KAAKmV,IAAM6iD,EAU1B,OAPEv0D,EADEzD,KAAKi4D,kBAAkC,QAAnB,EAAIj4D,KAAKm1D,sBAAU,WAAEnB,YAAYllD,IAC9C9O,KAAKm1D,WAAW98B,OAAOr4B,KAAKsW,MAAOvE,EAAQjD,GAC3C09C,GAA2B19C,EAAa4+C,EVhVhD,SAAsBp3C,EAAmB82C,EAAqBt+C,GACnE,IAAMopD,EAAc5hD,EAAM9B,SAAS44C,EAAaA,EAAct+C,GAE9D,OAAO2+C,EAAmBp1B,OAAO6/B,GAH5B,CUiVqBl4D,KAAKsW,MAAOvE,EAAQjD,GAEjCq+C,EAAantD,KAAKsW,MAAOvE,EAAQjD,GAE5C9O,KAAKmV,KAAO6iD,EAAelpD,EACpBrL,GAGD,YAAAw0D,cAAR,WACE,OAAIj4D,KAAKg5C,MAAMv2C,OAAS,GAEA,IADRzC,KAAKg5C,MAAMh5C,KAAKg5C,MAAMv2C,OAAS,GAChChD,MAKT,YAAAm4D,aAAR,SAAqB9oD,EAAoBqpD,GACvC,GAAIrpD,EAAa9O,KAAK+0D,aACpB,MAAM,IAAIl2D,MAAM,oCAAoCiQ,EAAU,qBAAqB9O,KAAK+0D,aAAY,KAGtG,IAAK/0D,KAAKy1D,aAAa3mD,EAAaqpD,GAClC,MAAMvD,EAGR,IAAM7iD,EAAS/R,KAAKmV,IAAMgjD,EACpB10D,EAASzD,KAAKsW,MAAM9B,SAASzC,EAAQA,EAASjD,GAEpD,OADA9O,KAAKmV,KAAOgjD,EAAarpD,EAClBrL,GAGD,YAAAo0D,gBAAR,SAAwB9nD,EAAcooD,GACpC,GAAIpoD,EAAO/P,KAAKk1D,aACd,MAAM,IAAIr2D,MAAM,oCAAoCkR,EAAI,qBAAqB/P,KAAKk1D,aAAY,KAGhG,IAAMkD,EAAUp4D,KAAK81C,KAAK6e,QAAQ30D,KAAKmV,IAAMgjD,GACvCvoD,EAAO5P,KAAK43D,aAAa7nD,EAAMooD,EAAa,GAClD,OAAOn4D,KAAKqwD,eAAeh4B,OAAOzoB,EAAMwoD,EAASp4D,KAAKzB,UAGhD,YAAAk5D,OAAR,WACE,OAAOz3D,KAAK81C,KAAKuiB,SAASr4D,KAAKmV,MAGzB,YAAAuiD,QAAR,WACE,OAAO13D,KAAK81C,KAAKwiB,UAAUt4D,KAAKmV,MAG1B,YAAAwiD,QAAR,WACE,OAAO33D,KAAK81C,KAAKmY,UAAUjuD,KAAKmV,MAG1B,YAAA8hD,OAAR,WACE,IAAMz5D,EAAQwC,KAAK81C,KAAKuiB,SAASr4D,KAAKmV,KAEtC,OADAnV,KAAKmV,MACE3X,GAGD,YAAA65D,OAAR,WACE,IAAM75D,EAAQwC,KAAK81C,KAAK6e,QAAQ30D,KAAKmV,KAErC,OADAnV,KAAKmV,MACE3X,GAGD,YAAA05D,QAAR,WACE,IAAM15D,EAAQwC,KAAK81C,KAAKwiB,UAAUt4D,KAAKmV,KAEvC,OADAnV,KAAKmV,KAAO,EACL3X,GAGD,YAAA85D,QAAR,WACE,IAAM95D,EAAQwC,KAAK81C,KAAKyiB,SAASv4D,KAAKmV,KAEtC,OADAnV,KAAKmV,KAAO,EACL3X,GAGD,YAAA25D,QAAR,WACE,IAAM35D,EAAQwC,KAAK81C,KAAKmY,UAAUjuD,KAAKmV,KAEvC,OADAnV,KAAKmV,KAAO,EACL3X,GAGD,YAAA+5D,QAAR,WACE,IAAM/5D,EAAQwC,KAAK81C,KAAKkY,SAAShuD,KAAKmV,KAEtC,OADAnV,KAAKmV,KAAO,EACL3X,GAGD,YAAA45D,QAAR,WACE,IR7hBsBthB,EAAgB/jC,EAClC67C,EACAC,EQ2hBErwD,GR7hBgBs4C,EQ6hBE91C,KAAK81C,KR7hBS/jC,EQ6hBH/R,KAAKmV,IR5hBpCy4C,EAAO9X,EAAKmY,UAAUl8C,GACtB87C,EAAM/X,EAAKmY,UAAUl8C,EAAS,GAEP67C,EAAOv6C,KAAKoF,MAAMzG,OAAOq8C,iBAAmB,YAGhEC,OAAOV,GAAQU,OAAO,YAAiBA,OAAOT,GAEzC,WAAPD,EAAuBC,GQshB5B,OADA7tD,KAAKmV,KAAO,EACL3X,GAGD,YAAAg6D,QAAR,WACE,IAAMh6D,EAAQuwD,EAAS/tD,KAAK81C,KAAM91C,KAAKmV,KAEvC,OADAnV,KAAKmV,KAAO,EACL3X,GAGD,YAAAu5D,QAAR,WACE,IAAMv5D,EAAQwC,KAAK81C,KAAK0iB,WAAWx4D,KAAKmV,KAExC,OADAnV,KAAKmV,KAAO,EACL3X,GAGD,YAAAw5D,QAAR,WACE,IAAMx5D,EAAQwC,KAAK81C,KAAK2iB,WAAWz4D,KAAKmV,KAExC,OADAnV,KAAKmV,KAAO,EACL3X,GAEX,EAjiBA,GCzBak7D,EAAsC,GAO5C,SAASrgC,EACd1oB,EACA2gC,GAWA,YAAO,IAXPA,MAAsDooB,GAEtC,IAAI,EAClBpoB,EAAQ+f,eACP/f,EAA8C/xC,QAC/C+xC,EAAQwkB,aACRxkB,EAAQykB,aACRzkB,EAAQ0kB,eACR1kB,EAAQ2kB,aACR3kB,EAAQ4kB,cAEK78B,OAAO1oB,G,+qDC7CxB,SAASgpD,EAAiBn7D,GACxB,GAAa,MAATA,EACF,MAAM,IAAIqB,MAAM,2DAqBb,SAAS+5D,EAAsBC,GACpC,OA3BgD,MA2B5BA,EA3BG/7D,OAAOI,eA4BrB27D,EAnBJ,SAA2C3C,G,kGAC1C7gB,EAAS6gB,EAAO4C,Y,yDAIM,WAAMzjB,EAAO5jC,S,cAA/B,EAAkB,SAAhB/R,EAAI,OAAElC,EAAK,QACfkC,E,cAAAA,M,OACF,mB,cAEFi5D,EAAcn7D,G,KACRA,I,OAAN,mB,cAAA,S,wCAGF63C,EAAO0jB,c,6BAbJ,CAqB4BF,G,i1CClC5B,SAAe5C,EACpB4C,EACAvoB,G,gBAAAA,MAAsDooB,G,kEAatD,OAXMxC,EAAS0C,EAAmBC,GAW3B,CAAP,EATgB,IAAI,EAClBvoB,EAAQ+f,eACP/f,EAA8C/xC,QAC/C+xC,EAAQwkB,aACRxkB,EAAQykB,aACRzkB,EAAQ0kB,eACR1kB,EAAQ2kB,aACR3kB,EAAQ4kB,cAEKe,YAAYC,UAGtB,SAASE,EACdyC,EACAvoB,kBAAsDooB,GAEtD,IAAMxC,EAAS0C,EAAmBC,GAYlC,OAVgB,IAAI,EAClBvoB,EAAQ+f,eACP/f,EAA8C/xC,QAC/C+xC,EAAQwkB,aACRxkB,EAAQykB,aACRzkB,EAAQ0kB,eACR1kB,EAAQ2kB,aACR3kB,EAAQ4kB,cAGKkB,kBAAkBF,GAG5B,SAASI,GACduC,EACAvoB,kBAAsDooB,GAEtD,IAAMxC,EAAS0C,EAAmBC,GAYlC,OAVgB,IAAI,EAClBvoB,EAAQ+f,eACP/f,EAA8C/xC,QAC/C+xC,EAAQwkB,aACRxkB,EAAQykB,aACRzkB,EAAQ0kB,eACR1kB,EAAQ2kB,aACR3kB,EAAQ4kB,cAGKoB,aAAaJ,S,+CtJ1D9B,aAGe,MAAf,G,8BuJHa,SAAS1uD,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIK,EAAEL,EAAEb,EAAQ,KAAUe,EAAEF,EAAEb,EAAQ,KAAejE,EAAEiE,EAAQ,IAAgByB,EAAEP,EAAEsB,YAAY,SAAS3B,EAAEY,GAAG,IAAIL,EAAEP,EAAEonC,SAAShnC,EAAEJ,EAAE+E,SAAS5E,EAAEH,EAAEgC,OAAOvB,EAAET,EAAExE,KAAKkF,EAAEV,EAAEwxD,QAAQ3wD,EAAEb,EAAEyxD,kBAAkBjxD,OAAE,IAASK,EAAE,8BAA8BA,EAAEF,EAAEX,EAAEmzB,cAAc7yB,EAAEN,EAAE2C,gBAAgBvB,EAAEpB,EAAE0xD,qBAAqB3wD,EAAEf,EAAE2xD,UAAUnwD,EAAExB,EAAE4C,WAAWmd,EAAE/f,EAAE4xD,WAAWtjC,EAAEpuB,EAAE,wBAAwBI,GAAGgB,EAAEP,GAAGS,EAAEL,EAAEjB,EAAE,oBAAoBkB,EAAE,CAAC,iCAAiCE,IAAID,EAAEV,GAAGN,EAAE8B,cAAcjH,EAAE,CAACyH,gBAAgB,wBAAwB,OAAOtC,EAAE8B,cAAc,MAAM,CAACE,UAAUisB,GAAGjuB,EAAE8B,cAAc,QAAQ,CAAC,cAAchC,EAAElI,KAAK,OAAOjC,MAAM,GAAGwF,KAAKiF,EAAE4B,UAAU,aAAa+kC,SAAS7mC,EAAEqB,GAAGlB,EAAEkzB,SAAStyB,EAAEuwD,OAAOrxD,EAAEsxD,SAAS/xC,IAAI1f,EAAE8B,cAAc,QAAQ,CAACC,IAAIxB,EAAE4wD,QAAQ9wD,EAAE2B,UAAUlB,EAAE,cAAchB,EAAE,UAAUC,EAAEW,GAAGM,OAAOnC,EAAOnK,QAAQ6L,G,6BCAv2B,SAASZ,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEF,EAAEb,EAAQ,KAAUkB,EAAEL,EAAEb,EAAQ,KAAeD,EAAOnK,QAAQ,SAASiL,GAAG,IAAI9E,EAAE8E,EAAEgC,OAAOpB,EAAEZ,EAAE2yB,KAAKpyB,EAAEP,EAAE+xD,SAAS3xD,EAAEJ,EAAEgyD,WAAW7xD,EAAEH,EAAE4C,WAAWlC,EAAEE,EAAEqxD,WAAWzxD,EAAEE,EAAElF,KAAK8E,EAAEI,EAAE1K,MAAMyK,EAAEC,EAAE8wD,QAAQ3wD,EAAED,EAAE+B,gBAAgBhC,EAAEC,EAAEmC,QAAQhC,EAAEV,EAAE,oBAAoBQ,EAAE,CAAC,iCAAiCT,EAAE,iCAAiCD,IAAI,OAAOD,EAAEiC,cAAc,QAAQ,CAAC,cAAcjH,EAAEs2D,QAAQ/wD,EAAE4B,UAAUtB,GAAGb,EAAEiC,cAAc,QAAQ,CAAClK,KAAK,QAAQ2J,GAAGnB,EAAEjF,KAAKgF,EAAExK,MAAMsK,EAAE+B,UAAU,cAAc+kC,SAAS,SAASpnC,GAAGO,EAAEK,EAAEZ,IAAIiI,QAAQ7H,EAAEwzB,SAASzzB,IAAID,EAAEiC,cAAc,OAAO,CAACE,UAAU,4BAA4B1B,K,6BCArpB,SAASX,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEf,EAAQ,IAASgB,EAAEH,EAAEE,GAAGK,EAAEP,EAAEb,EAAQ,KAAesB,EAAEtB,EAAQ,IAAwBA,EAAQ,IAA6B,IAAImB,EAAEnB,EAAQ,IAAkBjE,EAAEiF,EAAEwB,YAAY,SAAS3B,EAAE9E,GAAG,IAAImF,EAAEL,EAAEgC,OAAOtB,EAAEV,EAAEgzB,YAAY5yB,EAAEJ,EAAExE,KAAKoF,EAAEZ,EAAE/H,KAAKmJ,OAAE,IAASR,EAAE,OAAOA,EAAEJ,EAAER,EAAE2C,gBAAgB9B,EAAEb,EAAEkyD,QAAQ/wD,EAAEnB,EAAEmyD,OAAOxxD,EAAEX,EAAE4B,GAAGF,EAAE1B,EAAEiC,KAAKX,EAAEtB,EAAEoyD,UAAUrxD,EAAEf,EAAEqyD,cAActyC,EAAE/f,EAAE4C,WAAW5B,OAAE,IAAS+e,GAAGA,EAAE1e,EAAErB,EAAE+mC,SAAStlC,EAAEzB,EAAEgnC,UAAUzlC,EAAEvB,EAAEsyD,aAAa9wD,OAAE,IAASD,EAAE,GAAGA,EAAEL,EAAElB,EAAEhK,MAAMiL,EAAEjB,EAAEuyD,2BAA2B18B,OAAE,IAAS50B,EAAE,IAAIA,EAAEqB,EAAE7B,EAAEwE,OAAO,SAASjF,EAAEE,EAAEK,GAAG,IAAID,EAAEG,EAAEwE,OAAO9E,EAAE+E,SAAShF,GAAG,GAAGhF,EAAEoF,EAAE,GAAGD,EAAEC,EAAE,GAAGI,EAAEP,EAAEqyD,OAAOt3D,GAAG,OAAOiF,EAAE0nC,WAAW,WAAW,IAAI3nC,EAAE,OAAOQ,EAAE8lC,UAAUtrC,IAAIgF,EAAE6oB,YAAY,WAAW/oB,EAAE9E,KAAKqF,GAAGG,EAAE8lC,QAAQtrC,GAAG,WAAW8tB,aAAa9oB,MAAM,CAACQ,EAAEV,EAAE9E,EAAEqF,IAAI,CAACrF,EAAEmF,GAApO,CAAwOU,EAAES,EAAEq0B,GAAG,GAAG/0B,EAAEwB,EAAE,GAAGq/B,EAAEr/B,EAAE,GAAG,OAAOpC,EAAE2nC,WAAW,WAAW,iBAAiB3mC,GAAGygC,EAAEzgC,KAAK,CAACA,EAAEygC,IAAIxhC,EAAEgC,cAAc7B,EAAE,CAAC8B,IAAIlH,EAAEyH,gBAAgBpC,EAAE,kBAAkBC,GAAGoB,GAAGjB,EAAEqB,OAAO3B,EAAE7E,KAAK4E,EAAEnI,KAAKmJ,EAAE4xB,YAAYtyB,EAAE0mC,SAAS,SAASpnC,GAAG2hC,EAAE3hC,EAAE8nC,cAAc9xC,QAAQk8D,QAAQrxD,EAAEsxD,OAAOhxD,EAAEixD,UAAU9wD,EAAEtL,MAAM8K,EAAE8B,WAAW5B,EAAE+lC,SAAS1lC,EAAE2lC,UAAUvlC,EAAEQ,KAAKP,OAAOxC,EAAOnK,QAAQmG,G,8DCA1oC,SAAS8E,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEf,EAAQ,IAASoB,EAAEP,EAAEE,GAAGI,EAAEN,EAAEb,EAAQ,KAAeiB,EAAEjB,EAAQ,IAAwCjE,EAAEiE,EAAQ,IAAwBkB,EAAElB,EAAQ,IAAgBgB,EAAEhB,EAAQ,IAAe,SAASqB,IAAI,OAAOA,EAAEvL,OAAOof,QAAQ,SAASrU,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAExB,UAAUzD,OAAOiF,IAAI,CAAC,IAAIK,EAAE7B,UAAUwB,GAAG,IAAI,IAAII,KAAKC,EAAEtL,OAAOC,UAAUE,eAAegD,KAAKmI,EAAED,KAAKN,EAAEM,GAAGC,EAAED,IAAI,OAAON,IAAIrB,MAAMnG,KAAKkG,WAAW,IAAIkC,EAAE,SAAC,GAAD,EAAE6xD,OAAF,IAAiBvyD,EAAjB,cAAsBK,EAAE4B,cAAc,MAAM3B,EAAE,CAACkuB,MAAM,KAAKC,OAAO,IAAIthB,KAAK,OAAOwhB,MAAM,8BAA8B3uB,GAAGK,EAAE4B,cAAc,OAAO,CAAC3B,EAAE,kBAAkB6M,KAAK,WAAU,SAAS3M,EAAEV,GAAG,IAAII,EAAEJ,EAAEgC,OAAO9G,EAAE8E,EAAE0yD,OAAOryD,EAAEL,EAAE2yD,eAAexyD,EAAEH,EAAE+xD,SAASvxD,EAAER,EAAE4yD,cAAchyD,EAAEZ,EAAEkyD,QAAQxxD,EAAEV,EAAEoyD,UAAU3xD,EAAET,EAAE6yD,YAAYlyD,EAAEX,EAAE8yD,UAAUjyD,EAAEb,EAAE+yD,yBAAyB3xD,OAAE,IAASP,GAAGA,EAAEyB,EAAEtC,EAAEgzD,eAAexxD,EAAEtG,EAAE0G,GAAGN,EAAEpG,EAAEyH,gBAAgBkzB,EAAE36B,EAAE4H,KAAK3B,EAAEjG,EAAE2G,MAAMd,EAAE7F,EAAE+3D,SAAS1kC,EAAErzB,EAAEg4D,cAAczxD,EAAE+xB,QAAQnzB,GAAGmB,IAAInB,EAAEuB,IAAIme,GAAG7kB,EAAE0H,cAAcnB,GAAGL,GAAG+b,EAAE7c,EAAE,qBAAqBgB,EAAE,CAAC,kCAAkCG,EAAE,iCAAiC+xB,QAAQhzB,GAAGgB,IAAIhB,EAAEoB,IAAI,sCAAsCme,EAAE,kCAAkC7kB,EAAE0H,aAAa,OAAOrC,EAAE4B,cAAc,KAAK,CAACC,IAAIE,EAAE,cAAclC,EAAEwB,GAAGJ,EAAES,KAAK,SAASI,UAAU8a,EAAE3a,QAAQ,SAASxC,GAAGA,EAAE0zB,iBAAiB1zB,EAAE2zB,kBAAkB5T,GAAG5f,EAAEjF,EAAE8E,IAAIkyD,QAAQ5jC,EAAE6kC,aAAa7kC,EAAEukC,YAAYpyD,EAAEqyD,UAAUnyD,EAAEyxD,UAAU,SAASpyD,GAAGU,GAAGA,EAAExF,EAAE8E,IAAI,gBAAgByB,GAAG8sB,GAAGhuB,EAAE4B,cAAcjC,EAAE4yB,SAAS,KAAKvyB,EAAE4B,cAAc,MAAM,CAACE,UAAU,4BAA4BwzB,GAAGt1B,EAAE4B,cAAc,MAAM,CAACE,UAAU,+BAA+B9B,EAAE4B,cAAc,IAAI,CAAC,cAAc/B,EAAE,SAASiC,UAAU,6BAA6BlB,GAAGJ,GAAGR,EAAE4B,cAAc,IAAI,CAAC,cAAc/B,EAAE,YAAYiC,UAAU,gCAAgCtB,MAAM,SAASutB,EAAEtuB,GAAGY,EAAE1F,EAAE8E,IAAI,SAASS,EAAET,GAAG,IAAII,EAAEJ,EAAEgC,OAAO9G,EAAE8E,EAAEozD,UAAU/yD,EAAEL,EAAE8oC,QAAQ3oC,EAAEH,EAAE2C,gBAAgBnC,EAAER,EAAEiC,KAAKrB,EAAEZ,EAAEqzD,eAAe5yD,EAAET,EAAEszD,WAAW3yD,EAAEX,EAAEuzD,cAAc1yD,EAAEb,EAAE2yD,eAAevxD,EAAEpB,EAAE4yD,cAActwD,EAAEtC,EAAE+xD,SAASvwD,EAAExB,EAAEkyD,QAAQ5wD,EAAEtB,EAAEoyD,UAAUv8B,EAAE71B,EAAE6yD,YAAY1xD,EAAEnB,EAAE8yD,UAAU/xD,EAAEf,EAAE+yD,yBAAyBxkC,EAAEvuB,EAAEwzD,iBAAiB/xD,EAAEvB,EAAEsyD,OAAO,MAAMzyC,EAAE7f,EAAEsyD,OAAO,MAAMr1C,EAAE7c,EAAE,gBAAgBH,EAAE,CAAC,4BAA4BjF,IAAI,OAAOgF,EAAEuzD,iBAAiB,WAAW,IAAIzzD,EAAEE,EAAEK,EAAED,EAAEF,EAAEC,EAAEF,EAAEjF,GAAGuG,EAAE+kC,SAASzmB,EAAEymB,UAAU/kC,EAAE+kC,QAAQktB,YAAY1zD,EAAEyB,EAAE+kC,QAAQtmC,EAAE6f,EAAEymB,QAAQlmC,EAAEN,EAAE2zD,aAAavzD,EAAEJ,EAAE0zD,UAAUrzD,EAAEH,EAAEyzD,aAAaxzD,EAAE,GAAGI,EAAED,GAAGJ,EAAE0zD,UAAUxzD,IAAIC,IAAIF,EAAEE,EAAEE,GAAGA,EAAED,IAAIH,EAAEG,EAAEC,GAAGJ,MAAM,CAACjF,EAAEkG,IAAIb,EAAE4B,cAAc,KAAK,CAACC,IAAIX,EAAE,cAAcrB,EAAE6B,KAAKzB,EAAE,kBAAkBI,EAAE,cAAcH,EAAE,uBAAuBE,EAAE0B,UAAU8a,GAAG9c,EAAEpF,OAAOoF,EAAE2tB,KAAK,SAAShuB,EAAEE,GAAG,OAAOK,EAAE4B,cAAczB,EAAE,CAAC3K,IAAIiK,EAAE4B,GAAGoxD,eAAehzD,EAAE4B,MAAM,MAAMR,OAAE,EAAOA,EAAEQ,IAAIme,OAAE,EAAO/d,OAAO5B,EAAE,SAASF,EAAEwyD,OAAO1yD,EAAE2yD,eAAe9xD,EAAE+xD,cAAcxxD,EAAE2wD,SAASzvD,EAAEuwD,YAAYh9B,EAAEi9B,UAAU3xD,EAAE+wD,QAAQ1wD,EAAE4wD,UAAU9wD,EAAEyxD,yBAAyBhyD,OAAOR,EAAE4B,cAAc,KAAK,CAACE,UAAU,wDAAwD9B,EAAE4B,cAAc,IAAI,CAAC,cAAc/B,EAAE,iBAAiBiC,UAAU,gCAAgCksB,GAAG,0BAA0B,SAAS5tB,EAAEX,EAAEE,EAAEK,GAAG,IAAID,EAAEJ,EAAE2zD,WAAW,SAAS7zD,GAAG,OAAOA,EAAE4B,MAAMrB,GAAGA,EAAEqB,OAAOxB,EAAE,EAAE,OAAOE,GAAG,EAAEF,EAAEE,EAAE,QAAQN,IAAII,EAAEF,EAAEjF,OAAO,GAAGmF,EAAE,IAAIS,EAAE,CAACe,GAAG,2BAA2BC,MAAM,IAAIT,EAAE,cAAcrM,EAAQ++D,cAAclzD,EAAE7L,EAAQ6O,SAAS,SAAS5D,GAAG,IAAIQ,EAAER,EAAEgC,OAAOtB,EAAEV,EAAEutC,OAAOjrC,EAAEtC,EAAEgzB,YAAYxxB,EAAExB,EAAE2C,gBAAgBrB,EAAEtB,EAAE+vB,SAAS8F,OAAE,IAASv0B,EAAE,SAASA,EAAEH,EAAEnB,EAAEiC,KAAKlB,EAAEf,EAAEuzD,cAAchlC,OAAE,IAASxtB,GAAGA,EAAEU,EAAEzB,EAAE8oC,QAAQ/oB,EAAE/f,EAAE2yD,eAAex1C,EAAEnd,EAAE+xD,SAASzjC,EAAEtuB,EAAE+yD,yBAAyBrxD,OAAE,IAAS4sB,GAAGA,EAAE3T,EAAE3a,EAAE+zD,mBAAmB1yD,OAAE,IAASsZ,GAAGA,EAAE2sB,EAAEtnC,EAAEg0D,kBAAkB/yD,OAAE,IAASqmC,GAAGA,EAAE7jB,EAAEzjB,EAAE8mC,SAASnF,EAAE3hC,EAAE4C,WAAW9B,EAAEd,EAAEi0D,eAAe9zC,EAAEngB,EAAEk0D,oBAAoBz5C,EAAEza,EAAEmzB,cAAcqU,EAAExnC,EAAEm0D,oBAAoBl+C,OAAE,IAASuxB,GAAGA,EAAEt0B,EAAElT,EAAEo0D,uBAAuB7yD,EAAEvB,EAAEq0D,mBAAmBzoB,OAAE,IAASrqC,GAAGA,EAAEiU,EAAExV,EAAEs0D,oBAAoBpzD,OAAE,IAASsU,EAAE,GAAGA,EAAE+xB,EAAEvnC,EAAEwzD,iBAAiB9rB,EAAE1nC,EAAEu0D,sBAAsBzoB,EAAE9rC,EAAEw0D,kBAAkBxzD,OAAE,IAAS8qC,GAAGA,EAAErzB,EAAEzY,EAAEy0D,uBAAuBC,OAAE,IAASj8C,GAAGA,EAAEk8C,EAAE30D,EAAE40D,oBAAoBhtB,OAAE,IAAS+sB,GAAGA,EAAEhtB,EAAEznC,EAAEsyD,OAAO,MAAMj9C,EAAEra,EAAE+J,OAAO/E,EAAEgF,SAAS,IAAI,GAAGwV,EAAEnF,EAAE,GAAGs/C,GAAGt/C,EAAE,GAAGu/C,GAAG50D,EAAEgF,UAAS,GAAI6vD,GAAG75D,EAAE+J,OAAOnE,GAAGg0D,GAAG,GAAGE,GAAGD,GAAG,GAAGE,GAAGF,GAAG,GAAGh3B,GAAG7iC,EAAE+J,OAAO/E,EAAEgF,UAAS,GAAI,GAAGgwD,GAAGn3B,GAAG,GAAGD,GAAGC,GAAG,GAAGo3B,GAAGj6D,EAAE+J,OAAO/E,EAAEgF,SAAS,IAAI,GAAGkwD,GAAGD,GAAG,GAAGE,GAAGF,GAAG,GAAGG,GAAGp6D,EAAE+J,OAAO/E,EAAEgF,SAASvE,EAAEk1B,EAAEnb,EAAEqF,IAAI,GAAGw1C,GAAGD,GAAG,GAAGE,GAAGF,GAAG,GAAGG,GAAGv6D,EAAE+J,OAAO/E,EAAEgF,UAAS,GAAI,GAAGwwD,GAAGD,GAAG,GAAGtvD,GAAGsvD,GAAG,GAAGE,GAAGr1D,EAAE,WAAWkB,EAAE,CAAC,oBAAoBwzD,GAAG,gCAAgCxhC,QAAQzT,GAAG7e,GAAG,kCAAkCG,EAAE,sBAAsBoiB,EAAE,wBAAwBke,GAAGiK,IAAIgqB,GAAGZ,KAAKN,GAAGjzD,EAAExG,OAAO,GAAG46D,GAAGp7C,GAAGla,EAAE4B,cAAc9B,EAAE,CAACsC,gBAAgB,sBAAsBzC,EAAE2nC,WAAW,WAAWgtB,GAAGpzD,EAAExG,QAAQgG,EAAE/F,EAAEsZ,SAAS,CAACtZ,EAAEkZ,SAASlZ,EAAEkZ,SAAS,GAAGvT,GAAG,CAACgB,MAAMX,KAAKO,GAAGA,KAAK,CAACA,EAAEP,EAAED,IAAIf,EAAE2nC,WAAW,WAAW,IAAI7nC,EAAE,GAAGo1D,IAAIJ,GAAG,CAAC,IAAI90D,EAAE,SAASF,EAAEE,GAAG,OAAOF,EAAE6zD,WAAW,SAAS7zD,GAAG,OAAOA,EAAE6B,MAAMi0D,oBAAoBC,WAAW71D,EAAE41D,wBAA9F,CAAuHp7C,EAAE06C,IAAIl1D,GAAG,GAAGs1D,GAAGt1D,GAAGF,EAAE+oB,YAAY,WAAWssC,GAAG,MAAM,KAAK,OAAO,WAAWrsC,aAAahpB,MAAM,CAACo1D,GAAG16C,EAAEs6C,KAAK,IAAIgB,GAAGC,GAAGC,GAAGC,GAAG51D,EAAE4B,cAAc,MAAM,CAACE,UAAU,4CAA4C0d,GAAGA,EAAEjd,KAAKvC,EAAE4B,cAAc,OAAO,CAACE,UAAU,iCAAiC0d,EAAEA,EAAEle,MAAMX,GAAGoB,GAAGspC,EAAEiqB,GAAGt1D,EAAE4B,cAAcvB,EAAE,CAAC,eAAc,KAAMw1D,GAAG71D,EAAE4B,cAAchC,EAAE,CAAC6B,OAAOxB,EAAE,iBAAiBmC,gBAAgBrC,EAAE,SAAS,0BAA0BonC,EAAE,CAAC,iDAAiDrmC,IAAIuB,WAAW++B,GAAGiK,EAAEinB,YAAYwD,GAAGvD,UAAUwD,GAAG9zD,QAAQ+zD,GAAGrqC,UAAU,EAAE,gBAAgB/qB,EAAE,gBAAgB6zD,GAAG1hC,YAAYoiC,IAAIh1D,GAAGy1D,IAAI,OAAOh2C,IAAIi2C,GAAG71D,EAAE4B,cAAcjC,EAAE4yB,SAAS,KAAK3S,IAAI61C,GAAGruB,EAAEnB,QAAQyvB,GAAGO,GAAGN,GAAGh2D,EAAEsyD,OAAOyD,IAAI/1D,EAAE2nC,WAAW,WAAWquB,GAAG1vB,QAAQyvB,KAAK,CAACA,KAAK/1D,EAAE2nC,WAAW,WAAW,SAAS7nC,EAAEA,GAAGg2D,IAAIh2D,EAAEzC,kBAAkBq+C,cAAcoa,GAAGS,SAASz2D,EAAEzC,SAAS24D,GAAG1vB,UAAU,OAAOkwB,SAASnkB,iBAAiB,YAAYvyC,GAAG02D,SAASnkB,iBAAiB,aAAavyC,GAAG,WAAW02D,SAAShkB,oBAAoB,YAAY1yC,GAAG02D,SAAShkB,oBAAoB,aAAa1yC,MAAM,CAACg2D,KAAK91D,EAAE2nC,WAAW,WAAWmtB,GAAG0B,SAASC,gBAAgBC,UAAU/zC,IAAI,0BAA0B6zC,SAASC,gBAAgBC,UAAUC,OAAO,0BAA0B3jD,GAAGA,EAAE8hD,GAAG,OAAO,YAAY,CAACA,GAAG9hD,IAAI3S,EAAE4B,cAAc,MAAM,CAACC,IAAIulC,EAAE1lC,KAAKd,EAAEkB,UAAUszD,GAAGzpC,SAASyV,GAAG,EAAE,EAAEuwB,QAAQ,WAAWwE,SAASI,QAAQ5B,KAAKttB,GAAGjG,GAAGszB,IAAG,IAAK9C,OAAO,WAAWuE,SAASI,QAAQ5B,KAAKF,IAAIuB,KAAKpwD,IAAG,IAAKisD,UAAU,SAASpyD,GAAG,IAAIE,EAAEK,EAAEP,EAAEjK,IAAI,OAAOwK,GAAG,KAAKH,EAAEgrB,mBAAmBG,OAAOypC,KAAKh1D,EAAE2zB,kBAAkB4iC,MAAM,MAAM,KAAKn2D,EAAEgrB,mBAAmBC,MAAM2pC,KAAKh1D,EAAE2zB,kBAAkB3zB,EAAE0zB,kBAAkB,QAAQxzB,EAAEwa,EAAE66C,WAAM,IAASr1D,OAAE,EAAOA,EAAE0C,aAAam0D,GAAGr8C,EAAE66C,MAAM,MAAM,KAAKn1D,EAAEgrB,mBAAmBO,WAAW3rB,EAAE2zB,kBAAkB3zB,EAAE0zB,iBAAiB8hC,IAAID,GAAG,GAAG76C,EAAEzf,QAAQ,MAAM,KAAKmF,EAAEgrB,mBAAmBM,SAAS1rB,EAAE2zB,kBAAkB3zB,EAAE0zB,iBAAiB8hC,IAAID,IAAI76C,EAAEzf,QAAQ,GAAG,MAAM,QAAQ+F,GAAGT,EAAE2N,MAAM9M,IAAIi0D,GAAGD,GAAG70D,MAAM61D,GAAG71D,EAAE4B,cAAc1B,EAAE,CAACuB,OAAOxB,EAAE4yD,UAAUwC,GAAGjzD,gBAAgBkzB,EAAE5zB,KAAKd,EAAE2nC,QAAQpuB,EAAEi4C,eAAe5yC,EAAE6yC,cAAcl4C,EAAE66C,IAAIxD,SAASgF,GAAG7E,QAAQ,SAASlyD,GAAGw1D,GAAG96C,EAAEm5C,WAAW,SAAS3zD,GAAG,OAAOA,EAAE0B,KAAK5B,EAAE4B,QAAQixD,YAAYwD,GAAGvD,UAAUwD,GAAGjD,eAAe7yD,EAAE,iBAAiB8yD,YAAY0B,GAAGzB,cAAchlC,EAAEwkC,yBAAyBrxD,EAAE8xD,iBAAiBjsB,KAAK,SAASwvB,GAAG/2D,EAAEE,IAAIyhC,GAAG3hC,IAAI,6BAA6BA,EAAE4B,GAAGub,EAAE,KAAKjd,GAAGid,EAAEnd,EAAEE,GAAGs1D,GAAG70D,EAAEk1B,EAAEnb,EAAE1a,KAAKiW,EAAEsgD,KAAKpwD,IAAG,GAAI,SAASqwD,KAAKvB,IAAG,GAAI,SAASsB,KAAKvB,GAAGwB,KAAK70B,GAAGszB,IAAG,GAAI,SAASoB,KAAKv4B,IAAG,GAAI,SAASw4B,KAAKx4B,IAAG,M,8BCA9qO,Y,yHAAiB99B,EAAEb,EAAQ,KAAyBe,EAAEf,EAAQ,GAAWoB,EAAEpB,EAAQ,KAAU,SAASmB,EAAEN,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAE,CAACC,QAAQD,GAAG,IAAIK,EAAEC,EAAEN,GAAGG,EAAEG,EAAEJ,GAAGhF,EAAEoF,EAAEC,GAAG,SAASH,EAAEJ,EAAEE,EAAEK,EAAED,GAAG,OAAO,IAAIC,IAAIA,EAAEzE,WAAW,SAASuE,EAAEF,GAAG,SAASjF,EAAE8E,GAAG,IAAIY,EAAEN,EAAEtG,KAAKgG,IAAI,MAAMA,GAAGG,EAAEH,IAAI,SAASI,EAAEJ,GAAG,IAAIY,EAAEN,EAAE02D,MAAMh3D,IAAI,MAAMA,GAAGG,EAAEH,IAAI,SAASY,EAAEZ,GAAG,IAAIE,EAAEF,EAAE9H,KAAKmI,EAAEL,EAAEhK,QAAQkK,EAAEF,EAAEhK,MAAMkK,aAAaK,EAAEL,EAAE,IAAIK,GAAG,SAASP,GAAGA,EAAEE,OAAO3G,KAAK2B,EAAEkF,GAAGQ,GAAGN,EAAEA,EAAE3B,MAAMqB,EAAEE,GAAG,KAAKlG,W,IAAiB4G,E,8BAAgB,WAAYZ,EAAEE,GAAO,2CAAFK,EAAE,iCAAFA,EAAE,yBAAC,+BAASA,IAAGlJ,MAAM4/D,mBAAmB5/D,MAAM4/D,kBAAN,KAA6Br2D,GAAG,EAAKpF,KAAK,yBAAyB,EAAK4M,KAAKpI,EAAE,EAAKkU,QAAQhU,EAAlI,E,eAA3B7I,QAAsKqJ,EAAE,eAAU,WAAYV,GAAE,UAACxH,KAAK0+D,cAAS,EAAO1+D,KAAK2+D,QAAQn3D,EAAEm3D,QAA7D,uCAAqE,YAAmC,WAAHn3D,EAAG,EAApBo3D,iBAAqB5+D,KAAK6+D,QAAQ7+D,KAAK0+D,SAAS,SAAAh3D,GAAI,GAAG,iBAAiBA,EAAEkI,KAAK,IAAIlI,EAAEkI,KAAK+uD,UAAU,EAAKA,SAASn3D,EAAEE,GAAG,MAAMF,GAAG+zB,QAAQt6B,MAAMuG,KAAKuoB,OAAOgqB,iBAAiB,UAAU/5C,KAAK0+D,YAA9Q,yBAAwR,YAA8D,WAAzCl3D,EAAyC,EAAjDkU,QAAuBhU,EAA0B,EAAvCo3D,aAAsB/2D,EAAiB,EAAxBg3D,OAAwB,IAAfhuC,QAAgBR,YAAY,WAAK,IAAMzoB,EAAE,CAAC62D,QAAQ,EAAKA,QAAQjjD,QAAQlU,GAAGE,EAAEs3D,YAAYl3D,EAAE,CAACm3D,aAAal3D,GAAG,aAA5F,MAAL,IAAK,KAAtV,mBAA6b,WAAQ/H,KAAK0+D,WAAW3uC,OAAOmqB,oBAAoB,UAAUl6C,KAAK0+D,UAAU1+D,KAAK0+D,cAAS,OAAvhB,EAAI,GAAJ,CAAiiB,CAACC,QAAQ,oBAAoB,SAAS32D,IAAI,IAAMR,EAAE02D,SAASgB,cAAc,qBAAqBx3D,EAAEw2D,SAASgB,cAAc,4BAAsCn3D,EAAGm2D,SAAT70D,MAAkBvB,EAAE,GAAG,OAAON,aAAa23D,kBAAkBp3D,EAAEP,EAAE+C,SAAS7C,aAAay3D,kBAAkBr3D,EAAEJ,EAAE6C,SAAS,CAAClB,MAAMtB,EAAEuB,YAAYxB,EAAE4vC,IAAI3nB,OAAOgpB,SAASgmB,OAAOK,QAAQn3D,IAAI,IAAI,SAASA,IAAuD,IAAnD,IAAMT,EAAE02D,SAASmB,qBAAqB,QAAQ33D,EAAE,GAAWK,EAAE,EAAEA,EAAEP,EAAE/E,OAAOsF,IAAI,CAAC,IAAMD,EAAEN,EAAEO,GAAGF,EAAEC,EAAEw3D,aAAa,OAAO,GAAGz3D,GAAGA,EAAEwI,cAAcc,QAAQ,SAAS,EAAE,CAAC,IAAM3J,EAAEM,EAAEw3D,aAAa,QAAQ,GAAG93D,IAAI,IAAIA,EAAE6I,cAAcc,QAAQ,YAAY,IAAI3J,EAAE6I,cAAcc,QAAQ,UAAU,IAAI3J,EAAE2J,QAAQ,MAAM,CAAC,IAAIpJ,EAAC,UAAIgoB,OAAOgpB,SAASwmB,SAApB,aAAiCxvC,OAAOgpB,SAASymB,MAAO,GAAG,IAAIh4D,EAAE2J,QAAQ,KAAKpJ,GAAGP,MAAM,CAAC,IAAME,EAAEqoB,OAAOgpB,SAAS0mB,SAAS7qC,MAAM,KAAKltB,EAAE/D,MAAMoE,GAAC,UAAKL,EAAEiO,KAAK,KAAZ,YAAoBnO,GAAIE,EAAExF,KAAK6F,QAAQ,GAAG,KAAK,MAAMP,OAAE,EAAOA,EAAE2J,QAAQ,OAAO,CAAC,IAAMpJ,EAAEgoB,OAAOgpB,SAASwmB,SAAS/3D,EAAEE,EAAExF,KAAK6F,QAAQP,GAAGE,EAAExF,KAAKsF,IAAI,OAAOE,EAAE,SAASS,EAAEX,GAAG,OAAO,IAAIlE,SAAS,SAACoE,EAAEK,GAAK,IAAI,IAAMD,EAAEioB,OAAOpC,KAAKnmB,EAAE,UAAcK,EAAE,EAAQF,EAAE+3D,aAAa,WAAK,GAAQ,MAAL73D,GAAG,GAAS,OAAO83D,cAAch4D,QAAQI,EAAE,IAAIK,EAAE,CAAC3I,KAAK,wBAAwB,iDAAiDqI,KAAI,IAAKA,EAAE83D,SAASD,cAAch4D,GAAGI,EAAE,IAAIK,EAAE,CAAC3I,KAAK,uBAAuB,iCAAiCyI,EAAE23D,YAAY,CAACnkD,QAAQ,CAACjc,KAAK,YAAYs/D,OAAOv3D,EAAEs3D,aAAah3D,OAAO,KAAKI,EAAE43D,cAAc,CAAClB,iBAAiB,SAAAp3D,GAAI,sBAAsBA,EAAEoI,KAAK8L,QAAQjc,OAAOkgE,cAAch4D,GAAGD,EAAEI,OAAO,MAAMN,GAAGO,EAAEP,OAAO,SAASsB,EAAEtB,GAAG,IAAME,EAAEw2D,SAASv0D,cAAc,OAAO,OAAOjC,EAAEq4D,aAAa,KAAKv4D,GAAG02D,SAAShpB,KAAK8qB,YAAYt4D,GAAGA,EAAE,SAAS21B,IAAIv0B,EAAE,sCAAsCm3D,UAAU,4DAA4D,SAAS14C,IAAIze,EAAE,sCAAsCm3D,UAAU,4DAA4D,SAAS53D,EAAEb,GAAG,IAAME,EAAEw2D,SAASgC,eAAe14D,GAAGE,GAAGA,EAAE22D,SAAS,IAAM11D,EAAE,oBAAoBC,EAAE,gBAAgB,SAASL,IAAI,MAAM,oBAAoB43D,kBAAa,EAAOA,aAAa,SAASj3D,EAAE1B,EAAEE,GAAG,IAAIK,EAAE,QAAQA,EAAEQ,WAAM,IAASR,GAAGA,EAAEq4D,QAAQz3D,EAAEwuC,KAAKlH,UAAU,CAACxwC,KAAKiI,GAAG,cAAc24D,SAAS74D,EAAE84D,gBAAgB94D,EAAE,MAAM,SAASsuB,IAAI,IAAItuB,EAAQE,EAAE,QAAQF,EAAEe,WAAM,IAASf,OAAE,EAAOA,EAAE+4D,QAAQ53D,GAAG,OAAOjB,EAAEyvC,KAAKnG,MAAMtpC,GAAG,KAAK,SAASe,IAAI,OAAO,IAAInF,SAAS,SAACkE,EAAEE,GAAK,IAAIK,EAAED,EAAE,IAAI,QAAQC,EAAEQ,WAAM,IAASR,GAAGA,EAAEy4D,WAAW53D,GAAG,QAAQd,EAAES,WAAM,IAAST,GAAGA,EAAE04D,WAAW73D,GAAGnB,OAAE,GAAQ,MAAMA,GAAGE,EAAEF,OAAO,SAASya,EAAEza,GAAqB,IAAlB,IAAME,EAAEF,EAAEzD,QAAgByD,EAAEE,EAAEjF,OAAO,EAAE+E,EAAE,EAAEA,IAAI,CAAC,IAAMO,EAAEsL,KAAKoF,MAAMpF,KAAKo9B,UAAUjpC,EAAE,IAArC,EAAqD,CAACE,EAAEK,GAAGL,EAAEF,IAAnBE,EAAEF,GAA5C,KAA+CE,EAAEK,GAAjD,KAAiE,OAAOL,EAAuJ,SAASsB,IAAI,OAAOpB,EAAE5H,UAAK,OAAO,EAAb,UAAqB,sFAA2J,OAA3IwH,EAAE,CAACi5D,UAAU,GAAGC,aAAa,GAAGC,sBAAqB,EAAGC,uBAAsB,EAAGC,gBAAe,EAAGC,QAAO,EAAGC,eAAc,GAA3I,kBAA3K,SAASv5D,GAAO,IAALE,EAAK,uDAAH,GAAI,OAAOysC,MAAM3sC,EAAEE,GAAG3G,MAAM,SAAAyG,GAAC,OAAEA,EAAE0vC,UAASn2C,MAAM,SAAAyG,GAAC,OAAEA,KAAhE,CAAqE,wCAAwC,CAACw5D,MAAM,aAAuD,YAAqK,KAAZt5D,EAAzJ,QAAgLu5D,YAAYv5D,EAAEw5D,iBAAiB15D,EAAEm5D,qBAAqBj5D,EAAEu5D,iBAAY,IAASv5D,EAAEy5D,oBAAoB35D,EAAEo5D,sBAAsBl5D,EAAEy5D,wBAAmB,IAASz5D,EAAE05D,YAAY55D,EAAEq5D,eAAen5D,EAAE05D,gBAAW,IAAS15D,EAAEo5D,SAASt5D,EAAEs5D,OAAOp5D,EAAEo5D,aAAQ,IAASp5D,EAAE25D,iBAAiB75D,EAAEu5D,cAAcr5D,EAAE25D,gBAAgB75D,EAAE/K,OAAOof,OAAOpf,OAAOof,OAAO,GAAGrU,GAAG,CAACi5D,UAAUx+C,EAAEva,EAAE45D,SAAS,IAAI,IAAI,GAAGZ,aAAah5D,EAAEw5D,gBAAgB,KAAhkB,gDAA8kB3lC,QAAQgmC,IAAR,MAA9kB,iCAAomB/5D,GAApmB,yDAAymB,SAASsC,EAAEtC,GAAG,OAAOoF,WAAW8B,KAAKqhB,OAAOyxC,KAAKh6D,IAAI,SAAAA,GAAC,OAAEA,EAAEmL,WAAW,MAAK,SAAS9J,EAAErB,EAAEE,GAAG,MAAM,CAAC0B,GAAGunC,KAAKC,MAAMv9B,KAAKsE,IAAI,GAAG,GAAGtE,KAAKoF,MAAMpF,KAAKo9B,SAASp9B,KAAKsE,IAAI,GAAG,IAAI8pD,QAAQ,MAAM9iE,OAAO6I,EAAEuF,OAAOrF,GAAG,SAASqB,IAAI,MAAM,oBAAoB6qB,UAAU,SAAS0f,IAAI,OAAOvqC,KAAK,WAAWiE,KAAK4mB,UAAUua,WAAW,SAASpY,IAAI,OAAOhtB,KAAK,uBAAuBiE,KAAK4mB,UAAUua,WAAW,IAAMljB,EAAEqoB,IAAI,cAAc,mBAAmB,SAASnxB,EAAE3a,GAAG,MAAM,CAACk6D,KAAI,kBAAYl6D,GAAIm6D,QAAO,kBAAYn6D,EAAZ,YAAwBo6D,iBAAgB,kBAAYp6D,EAAZ,sBAAkC,SAASsnC,EAAT,GAAkG,IAA/EtnC,EAA+E,EAAtF7I,OAA8B+I,EAAwD,EAA7Em6D,qBAA8B95D,EAA+C,EAAtD+5D,OAAiBh6D,EAAqC,EAA7Ci6D,QAAuBl6D,EAAsB,EAAnC64D,aAAuB/4D,EAAY,EAApBhH,QAAiB+B,EAAG,EAAV9B,OAAiBoH,EAAEma,EAAEta,IAAI,WAAWD,EAAE5H,UAAK,OAAO,EAAb,UAAqB,wFAAwB,OAAxB,kBAA8BmI,EAAEH,EAAE45D,kBAAlC,QAAsB/5D,EAAtB,UAAgE,aAAaL,EAAEG,EAAE,CAAClI,KAAK,WAAWuiE,IAAIt6D,GAAG,cAAcF,GAAGO,GAAGD,IAAIH,EAAE,CAAClI,KAAK,YAAYmQ,KAAKlI,EAAEo6D,OAAO/5D,EAAEg6D,QAAQj6D,IAAIH,GAAGO,EAAE23D,YAAY,CAACnkD,QAAQ/T,EAAEo3D,OAAO/2D,EAAE45D,iBAAiB9C,aAAaj3D,KAAUD,EAAE83D,aAAa,YAAK,KAAM,MAAM73D,OAAE,EAAOA,EAAE+3D,UAAUl9D,EAAE,IAAI0F,EAAE,CAAC3I,KAAI,UAAI+H,EAAJ,eAAmB,8CAA8Cm4D,cAAc/3D,MAAM,KAAKM,EAAE43D,cAAc,CAAClB,iBAAiB,SAAAl3D,GAAC,OAAE,YAAkE,IAAlDF,EAAkD,EAAxDy6D,MAAyBv6D,EAA+B,EAAhDw6D,iBAA0Bn6D,EAAsB,EAA7BpJ,OAAiBmJ,EAAY,EAApBnH,QAAiBkH,EAAG,EAAVjH,OAAW,OAAO4G,EAAEoI,KAAK8L,QAAQjc,MAAM,IAAI,oBAAoB,MAAMiI,GAAGA,EAAEm3D,QAAQ/2D,EAAEN,EAAEoI,KAAK8L,QAAQymD,WAAW3sC,KAAK,SAAAhuB,GAAC,OAAEsC,EAAEtC,EAAE46D,eAAc,MAAM,IAAI,qBAAqB,MAAM16D,GAAGA,EAAEm3D,QAAQ/2D,EAAEN,EAAEoI,KAAK8L,QAAQ2mD,WAAW7sC,KAAK,SAAAhuB,GAAC,OAAEsC,EAAEtC,EAAE66D,gBAAe,MAAM,IAAI,4BAA4Bx6D,EAAE,IAAIO,EAAE,CAAC3I,KAAI,UAAIsI,EAAJ,qBAAyBu6D,OAAO96D,EAAEoI,KAAK8L,QAAQza,OAAOuG,EAAEoI,KAAK8L,QAAQza,OAAO,qBAAqB,MAAM,IAAI,0BAA0B,MAAMyG,GAAGA,EAAEm3D,QAAQh3D,EAAE,IAAIO,EAAE,CAAC3I,KAAI,UAAIsI,EAAJ,eAAmBP,EAAEoI,KAAK8L,QAAQza,QAAQ,MAAM,IAAI,uBAAuB,MAAMyG,GAAGA,EAAEm3D,QAAQp2D,IAAIZ,EAAE,IAAIO,EAAE,CAAC3I,KAAK,uBAAuB6iE,OAAO96D,EAAEoI,KAAK8L,QAAQza,OAAOuG,EAAEoI,KAAK8L,QAAQza,SAAprB,CAA8rB,CAACghE,MAAMv6D,EAAEw6D,iBAAiBr6D,EAAElJ,OAAO6I,EAAE7G,QAAQgH,EAAE/G,OAAO8B,OAAnrC,gDAAksCA,EAAE,EAAD,IAAnsC,yDAAjC,GAA+uC,SAASssC,EAAT,GAAyD,IAAhCxnC,EAAgC,EAA7Ck5D,aAAuBh5D,EAAsB,EAA9Bq6D,QAAkBh6D,EAAY,EAApBpH,QAAiBmH,EAAG,EAAVlH,OAAiBiH,EAAEsa,EAAE3a,GAAG,OAAO,WAAW,OAAOI,EAAE5H,UAAK,OAAO,EAAb,UAAqB,sFAAwB,OAAxB,kBAA8BmI,EAAEN,EAAE85D,SAAlC,QAAsBn6D,EAAtB,SAA8CU,EAAE23D,YAAY,CAACnkD,QAAQ,CAACjc,KAAK,UAAUmQ,KAAKnT,OAAOof,OAAOpf,OAAOof,OAAO,GAAG7T,KAAK,CAAC+5D,QAAQr6D,KAAKq3D,OAAOl3D,EAAE85D,QAAQ7C,aAAat3D,IAAU9E,EAAEg9D,aAAa,YAAK,KAAM,MAAMl4D,OAAE,EAAOA,EAAEo4D,UAAU93D,EAAE,IAAIM,EAAE,CAAC3I,KAAK,qBAAqB,iCAAiCkgE,cAAcj9D,GAAGiF,OAAO,KAAKO,EAAE43D,cAAc,CAAClB,iBAAiB,SAAAl3D,GAAC,OAAE,YAAyD,IAAzCF,EAAyC,EAA/Cy6D,MAAyBv6D,EAAsB,EAAvCw6D,iBAA2Bn6D,EAAY,EAApBpH,QAAiBmH,EAAG,EAAVlH,OAAW,GAAGmH,GAAG,qBAAqBP,EAAEoI,KAAK8L,QAAQjc,KAAK,CAAC,IAAMqI,EAAEN,EAAEoI,KAAK8L,QAAQ9L,KAAK2yD,UAAUr5D,EAAEpB,EAAE,mBAAmBC,EAAED,GAAGO,EAAE,qCAAqC,MAAMX,GAAGA,EAAEm3D,YAAY,6BAA6Br3D,EAAEoI,KAAK8L,QAAQjc,OAAOqI,EAAE,IAAIM,EAAE,CAAC3I,KAAK,2BAA2B6iE,OAAO96D,EAAEoI,KAAK8L,QAAQza,OAAOuG,EAAEoI,KAAK8L,QAAQza,OAAO,8IAA8IoH,EAAE,qCAAqC,MAAMX,GAAGA,EAAEm3D,SAAzjB,CAAmkB,CAACoD,MAAMv6D,EAAEw6D,iBAAiB16D,EAAE7G,QAAQoH,EAAEnH,OAAOkH,OAA/9B,gDAA8+BH,IAAIG,EAAE,EAAD,IAAn/B,0DAA4/B,SAASH,IAAIU,EAAE,sCAAsC,SAASY,EAAT,GAA2G,IAAymBtB,EAAnrBH,EAA0E,EAA/Fm5D,qBAA6Cj5D,EAAkD,EAAxEk5D,sBAAuC74D,EAAiC,EAAhD84D,eAA6B/4D,EAAmB,EAA/B06D,YAA4B36D,EAAG,EAAjBk5D,cAAkB,MAAM,CAACpzC,MAAMhmB,EAAE,CAACg5D,qBAAqBn5D,EAAEo5D,sBAAsBl5D,EAAEm5D,eAAe94D,EAAEy6D,YAAY16D,EAAEi5D,cAAcl5D,GAAG,SAAAL,GAAI,IAAI02D,SAASgC,eAAe,qCAAqC,CAAO,IAAAx4D,EAAEoB,EAAE,qCAAqCf,EAAzC,UAA8CP,EAA9C,kBAAsFM,EAA0EH,EAA/Fg5D,qBAA6C94D,EAAkDF,EAAxEi5D,sBAAuCl+D,EAAiCiF,EAAhDk5D,eAA6Bj5D,EAAmBD,EAA/B66D,YAA4Bp6D,EAAGT,EAAjBo5D,cAAmBr5D,EAAEu4D,UAAF,0CAA+Cl4D,EAA/C,sCAA8ED,EAA9E,uCAA8GD,EAA9G,+BAAsInF,EAAtI,2BAA0JkF,EAA1J,6BAAgLQ,EAAhL,qCAAqNy2D,MAAM,kBAAIx2D,EAAE,uCAA4C,oBAAoB0nB,SAASA,OAAOzb,OAAOyb,OAAOA,OAAO5hB,OAAO4hB,OAAO5hB,QAAQxH,EAAQ,IAAUwH,OAAO7K,QAAQ3C,UAAUI,MAAM,WAAW,OAAO4F,EAAQ,SAAyBpK,EAAQkmE,kBAAkB,mCAAmClmE,EAAQmmE,0BAA0Bz3C,EAAE1uB,EAAQomE,6BAA6B,oCAAoCpmE,EAAQqmE,4BAA4B,oBAAoBrmE,EAAQsmE,8BAA8B,qCAAqCtmE,EAAQumE,8BAA8B,qCAAqCvmE,EAAQwmE,8BAA8B,qCAAqCxmE,EAAQqtD,kBAAR,WAAgC,WAAYpiD,GAAE,UAACxH,KAAKgjE,QAAQ,MAAMx7D,OAAE,EAAOA,EAAEw7D,SAAS,GAAGhjE,KAAKijE,UAAU,KAAKjjE,KAAKkjE,4BAAuB,KAAU,MAAM17D,OAAE,EAAOA,EAAE07D,yBAAyB17D,EAAE07D,uBAAuBljE,KAAK+hE,QAAQ,MAAMv6D,OAAE,EAAOA,EAAEu6D,QAAQ/hE,KAAKwiE,aAAa,MAAMh7D,OAAE,EAAOA,EAAEg7D,eAAc,EAA7S,gCAAgT,WAAe,OAAO,WAAW,IAAMh7D,EAAEsuB,IAAQpuB,EAAE,KAAK,MAAM,iBAAiB,MAAMF,OAAE,EAAOA,EAAE/H,MAAMiI,EAAE,SAAS,qBAAqB,MAAMF,OAAE,EAAOA,EAAE/H,QAAQiI,EAAE,OAAOA,EAAlJ,KAAtU,uBAA6d,WAAkB,IAAIF,EAAE,MAAM,WAAWxH,KAAK8hD,WAAW9hD,KAAKijE,UAAU,QAAQjjE,KAAK8hD,aAAa,QAAQt6C,EAAEsuB,WAAM,IAAStuB,OAAE,EAAOA,EAAE64D,SAAS59D,UAA5mB,qBAAonB,WAAS,WAAC,OAAO,IAAIa,SAAS,SAACkE,EAAEE,GAAH,OAAOE,EAAE,OAAK,OAAO,EAAb,UAAqB,yHAAyB,QAAQG,EAAE/H,KAAKijE,iBAAY,IAASl7D,OAAE,EAAOA,EAAEo7D,WAAxE,gBAAsF,OAAtF,kBAA4FnjE,KAAKijE,UAAUG,cAA3G,6DAAqP,OAArP,UAA2Pp6D,IAA3P,QAAqlB,OAArlB,SAA8JlB,EAA9J,EAAyI64D,qBAAiCh5D,EAA1K,EAAgK84D,UAAyB/9D,EAAzL,EAA4Kg+D,aAAqC94D,EAAjN,EAA2Lg5D,sBAAuC14D,EAAlO,EAAmN24D,eAA+B74D,EAAlP,EAAoO+4D,cAA2B94D,EAAE+mC,EAAE,CAACruC,QAAQ6G,EAAE5G,OAAO8G,EAAEg5D,aAAah+D,EAAEq/D,QAAQ/hE,KAAK+hE,QAAQsB,cAAcrjE,KAAKwiE,cAAc16D,IAAIioB,OAAOuzC,mBAAmBr7D,GAAGjI,KAAKijE,UAAU,IAAIp7D,EAAEJ,QAAQ,CAACu7D,OAAOhjE,KAAKgjE,QAAQr7D,GAAG,mCAAmC47D,YAAYt6D,EAAE,CAAC03D,qBAAqB74D,EAAE84D,sBAAsBh5D,EAAEi5D,eAAe34D,EAAEs6D,YAAYxiE,KAAKwiE,YAAYzB,cAAc/4D,MAA/kB,UAA2lBhI,KAAKijE,UAAUO,cAAc,CAACzB,QAAQ/hE,KAAK+hE,SAAS,OAA/oB,SAAspB,SAASv6D,EAAEE,GAAG,IAAIK,EAAED,EAAED,EAAEF,EAAQjF,EAAEw7D,SAASgC,eAAe14D,GAAGI,EAAE,QAAQE,EAAE,QAAQC,EAAE,MAAMrF,OAAE,EAAOA,EAAEw8D,cAAc13D,EAAE0S,QAAQ,WAAW,YAAO,IAASnS,OAAE,EAAOA,EAAE07D,kBAAa,IAAS37D,OAAE,EAAOA,EAAEo3D,cAAc,sBAAsB92D,EAAE,QAAQT,EAAE,QAAQE,EAAE,MAAMD,OAAE,EAAOA,EAAEs3D,cAAc,mCAA8B,IAASr3D,OAAE,EAAOA,EAAE47D,kBAAa,IAAS97D,OAAE,EAAOA,EAAEu4D,eAAe,yCAAyC,MAAM93D,GAAGA,EAAE2xC,iBAAiB,SAAS,WAAKryC,IAAIW,EAAEb,MAAvd,CAA8d,qCAAqC,kBAAIE,EAAE,IAAIU,EAAE,CAAC3I,KAAK,wBAAwB,uCAAsCO,KAAKijE,UAAUtxC,GAAG,WAAW,SAAC5pB,EAAED,GAAK,IAAID,EAAEF,EAAEI,GAAGL,EAAEK,GAAGP,GAAG,QAAQK,EAAE,EAAKo7D,iBAAY,IAASp7D,OAAE,EAAOA,EAAEw4D,WAAW,IAAIn3D,GAAG,QAAQvB,EAAE,EAAKs7D,iBAAY,IAASt7D,OAAE,EAAOA,EAAE04D,WAAW,OAA55C,kDAA46C9kC,QAAQgmC,IAAR,MAAe75D,EAAE,IAAIU,EAAE,CAAC3I,KAAK,kBAAkB6iE,OAAM,MAAI,KAAE5mD,SAAS,uDAAh/C,qEAA/qB,8BAA4tE,WAAkB,WAAC,OAAO,IAAIpY,SAAS,SAACkE,EAAEE,GAAH,OAAOE,EAAE,OAAK,OAAO,EAAb,UAAqB,sGAA8BD,EAAEmuB,IAAhC,8CAAsDtuB,EAAE,KAAxD,UAA+D,qBAAqB,MAAMG,OAAE,EAAOA,EAAElI,MAArG,iBAA0I,OAA1I,SAAgJuJ,IAAhJ,kBAAkH23D,qBAAoCn5D,EAAEG,EAAE04D,UAAU,IAAI34D,EAAE,IAAIU,EAAE,CAAC3I,KAAK,oBAAoB6iE,OAAO,6BAA6B,8BAA9O,QAA4QtiE,KAAKijE,WAAWz7D,EAAExH,KAAKijE,UAAU5C,UAAU,IAAIrgE,KAAKgjE,QAAQ,QAAQj7D,EAAE,WAAW,IAAIP,EAAQE,EAAE,QAAQF,EAAEe,WAAM,IAASf,OAAE,EAAOA,EAAE+4D,QAAQ33D,GAAG,OAAOlB,EAAEyvC,KAAKnG,MAAMtpC,GAAG,KAA/F,UAAyG,IAASK,OAAE,EAAOA,EAAEi7D,SAAS,GAAGhjE,KAAKgjE,SAAShjE,KAAKijE,UAAU,IAAIp7D,EAAEJ,QAAQ,CAACu7D,OAAOhjE,KAAKgjE,SAASx7D,GAAG,QAAQM,EAAE9H,KAAKijE,iBAAY,IAASn7D,OAAE,EAAOA,EAAEu4D,WAAW,KAAKrgE,KAAK0jE,aAAal8D,EAAE,IAAlnB,wBAA+nB,OAA/nB,oCAAqoBxH,KAAK2jE,aAA1oB,QAAupBj8D,EAAE,IAAIU,EAAE,CAAC3I,KAAK,oBAAoB6iE,OAAM,MAAI,KAAE5mD,SAAS,yDAA9sB,+DAAhyE,wBAA6iG,WAAa,IAAIlU,EAAE,OAAOI,EAAE5H,UAAK,OAAO,EAAb,UAAqB,2FAA4K,OAA1JA,KAAK0jE,aAAa,WAAW1jE,KAAK8hD,WAA0E,OAA/Dp6C,EAAE,QAAQF,EAAExH,KAAKijE,iBAAY,IAASz7D,OAAE,EAAOA,EAAE47D,gBAAuB17D,EAAE3G,MAAM,WAAK,EAAKkiE,UAAU,SAAnK,SAAkLx6D,IAAlL,kDAA7lG,uCAAsxG,SAA0BjB,GAAG,OAAOI,EAAE5H,UAAK,OAAO,EAAb,UAAqB,0FAAkE,OAAhD0H,EAAEmB,EAAE,eAAe,CAACrB,IAAtC,2BAAwEwB,IAAxE,OAA+E,OAA/E,SAA+DxB,EAA/D,EAAwDs5D,OAAxD,SAAqF9gE,KAAKijE,UAAUW,kBAAkBl8D,EAAE,CAACm8D,uBAAuBr8D,IAAhJ,cAA4EO,EAA5E,OAAqJf,OAAOg0B,SAA5J,kBAA2K,iBAAiBjzB,EAAE,GAAGA,EAAEytB,IAAI1rB,GAAG/B,EAAEytB,KAAK,SAAAhuB,GAAC,OAAEoF,WAAW8B,KAAKlH,OAApO,QAAyP,OAAzP,oCAA+PlE,QAAQ1C,OAAO,IAAIwH,EAAE,CAAC3I,KAAK,oBAAoB6iE,OAAM,MAAI,KAAE5mD,SAAS,+BAAnU,kEAA2WrT,EAAE,sCAAsCA,EAAE,sCAArZ,oFAAh1G,oCAA+wH,SAAuBb,EAAEE,GAAG,OAAO,IAAIpE,SAAS,SAACyE,EAAED,GAAH,OAAOgnC,EAAE,CAAC+yB,qBAAqBr6D,EAAEk5D,aAAah5D,EAAE/I,OAAO,WAAWgC,QAAQoH,EAAEnH,OAAOkH,SAAl5H,gCAAw5H,YAA+C,IAAtBN,EAAsB,EAA3BoI,KAAclI,EAAa,EAApBo6D,OAAiB/5D,EAAG,EAAXg6D,QAAY,OAAOn6D,EAAE5H,UAAK,OAAO,EAAb,UAAqB,0FAAmI,OAAjH8H,EAAEe,EAAE,gBAAgBrB,EAAEguB,KAAK,SAAAhuB,GAAC,OAAE/K,OAAOof,OAAOpf,OAAOof,OAAO,GAAGrU,GAAG,CAACs6D,OAAOp6D,EAAEq6D,QAAQh6D,QAApG,2BAAyIiB,IAAzI,OAAgJ,OAAhJ,SAAgIxB,EAAhI,EAAyHs5D,OAAzH,SAAsJ9gE,KAAKijE,UAAUW,kBAAkB97D,EAAE,CAAC+7D,uBAAuBr8D,IAAjN,cAA6IE,EAA7I,OAAsNV,OAAOg0B,SAA7N,kBAA4O,iBAAiBtzB,EAAE,GAAGA,EAAE8tB,IAAI1rB,GAAGpC,EAAE8tB,KAAK,SAAAhuB,GAAC,OAAEoF,WAAW8B,KAAKlH,OAArS,QAA0T,OAA1T,oCAAgUlE,QAAQ1C,OAAO,IAAIwH,EAAE,CAAC3I,KAAK,oBAAoB6iE,OAAM,MAAI,KAAE5mD,SAAS,+BAApY,kEAA4arT,EAAE,sCAAsCA,EAAE,sCAAtd,oFAAr+H,6BAAq+I,YAA2D,IAArCb,EAAqC,EAA1CoI,KAAclI,EAA4B,EAAnCo6D,OAAiB/5D,EAAkB,EAA1Bg6D,QAAuBj6D,EAAG,EAAhB44D,aAAiB,OAAO,IAAIp9D,SAAS,SAACuE,EAAEF,GAAH,OAAOmnC,EAAE,CAACnwC,OAAO,YAAYkjE,qBAAqBr6D,EAAEs6D,OAAOp6D,EAAEq6D,QAAQh6D,EAAE24D,aAAa54D,EAAEnH,QAAQkH,EAAEjH,OAAO+G,SAA5pJ,6BAAkqJ,SAAgBH,EAAEE,GAAG,OAAOE,EAAE5H,UAAK,OAAO,EAAb,UAAqB,2FAAe,WAAWA,KAAK8hD,WAAW/rB,IAAIsH,KAAKtH,KAAK/1B,KAAKkjE,wBAAwB37C,IAAKvnB,KAAKijE,WAA/F,sBAAgH,IAAIpkE,MAAM,oDAA1H,UAAoLkJ,EAAEP,EAAEs8D,SAAS,SAAAt8D,GAAC,OAAEA,EAAEguB,KAAK,SAAAhuB,GAAC,OAAE,SAASA,EAAEE,GAAG,IAAIK,EAAEL,KAAKF,EAAEu8D,SAAS,IAAI/tD,SAAStO,KAAKK,EAAE,IAAI,IAAmGF,EAA7FC,EAAE,CAACk6D,KAAKn6D,EAAEL,EAAEw6D,IAAI7zD,EAAOO,KAAK/G,EAAEF,QAAQu8D,0BAA0Bn8D,IAAImI,SAAS,YAAkB,OAAOzC,MAAMC,QAAQzF,KAAKD,EAAEi8D,QAAQh8D,GAAGP,EAAEy8D,WAAWn8D,EAAEm8D,SAASz8D,EAAEy8D,UAAUz8D,EAAEkU,UAAU5T,EAAE4T,QAAQlU,EAAEkU,SAASlU,EAAE08D,OAAOp8D,EAAEo8D,KAAK18D,EAAE08D,MAAMp8D,EAArS,CAAwSN,EAAEE,SAAU,QAAQ1H,KAAK8hD,SAA/gB,gBAA+iB,OAA/iB,SAAqjB94C,IAArjB,uBAA4iBxB,EAA5iB,EAA+hBk5D,aAA/hB,kBAAgkB1gE,KAAKmkE,uBAAuBp8D,EAAEP,IAA9lB,gCAAwmBxH,KAAKokE,0BAA0Br8D,IAAvoB,mDAAptJ,sBAAi2K,SAASP,EAAEE,GAAG,OAAOE,EAAE5H,UAAK,OAAO,EAAb,UAAqB,6FAAkB+H,EAAE/H,KAAK+hE,SAAS,KAAQ,WAAW/hE,KAAK8hD,WAAW/rB,IAAIsH,KAAKtH,KAAK/1B,KAAKkjE,wBAAwB37C,IAAKvnB,KAAKijE,WAA1H,sBAA2I,IAAIpkE,MAAM,oDAArJ,UAA4M,QAAQmB,KAAK8hD,SAAzN,gBAAyP,OAAzP,SAA+P94C,IAA/P,uBAAsPlB,EAAtP,EAAyO44D,aAAzO,kBAA0Q1gE,KAAKqkE,gBAAgB,CAACz0D,KAAKpI,EAAEs6D,OAAOp6D,EAAEq6D,QAAQh6D,EAAE24D,aAAa54D,KAAvU,cAAiVA,EAAEN,EAAEguB,KAAK,SAAAhuB,GAAC,OAAE/K,OAAOof,OAAOpf,OAAOof,OAAO,GAAGrU,GAAG,CAACoI,KAAKzB,EAAOO,KAAKlH,EAAEoI,MAAMI,SAAS,eAAla,kBAAubhQ,KAAKskE,mBAAmB,CAAC10D,KAAK9H,EAAEg6D,OAAOp6D,EAAEq6D,QAAQh6D,KAAxe,qDAA54K,KAA63LxL,EAAQstD,4BAA4B,WAAWxhD,EAAE,uCAAuC9L,EAAQgoE,cAAc,WAAW,IAAIx7D,IAAI,OAAO,KAAK,IAAgBvB,EAAGosB,UAAbua,UAA6B,OAAS3mC,EAAEkO,MAAM,eAAe,aAAalO,EAAEkO,MAAM,QAAQ,WAAWke,UAAU4wC,MAAM,QAAQ9hE,EAAE+E,QAAQq5C,UAAUltB,UAAUua,WAAWmT,kBAAoB/kD,EAAQkoE,UAAUnxB,EAAE/2C,EAAQmoE,MAAM,WAAW,OAAO37D,KAAK,oBAAoBiE,KAAK4mB,UAAUua,YAAY5xC,EAAQooE,SAAS5uC,EAAEx5B,EAAQqoE,0BAA0Bv8D,I,yCCApte,IAAIsrC,EAAU,EAAQ,KAAwB,QAE9C,SAASr3C,IACP,aAGAoK,EAAOnK,QAAUD,EAAsB,WACrC,OAAOC,GACNmK,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,QACxE,IAAIA,EAAU,GACVC,EAAKC,OAAOC,UACZC,EAASH,EAAGI,eACZC,EAAU,mBAAqBC,OAASA,OAAS,GACjDC,EAAiBF,EAAQG,UAAY,aACrCC,EAAsBJ,EAAQK,eAAiB,kBAC/CC,EAAoBN,EAAQO,aAAe,gBAE/C,SAASC,EAAOC,EAAKC,EAAKC,GACxB,OAAOf,OAAOgB,eAAeH,EAAKC,EAAK,CACrCC,MAAOA,EACPE,YAAY,EACZC,cAAc,EACdC,UAAU,IACRN,EAAIC,GAGV,IACEF,EAAO,GAAI,IACX,MAAOQ,GACPR,EAAS,SAAgBC,EAAKC,EAAKC,GACjC,OAAOF,EAAIC,GAAOC,GAItB,SAASM,EAAKC,EAASC,EAASC,EAAMC,GACpC,IAAIC,EAAiBH,GAAWA,EAAQtB,qBAAqB0B,EAAYJ,EAAUI,EAC/EC,EAAY5B,OAAO6B,OAAOH,EAAezB,WACzC6B,EAAU,IAAIC,EAAQN,GAAe,IACzC,OAAOG,EAAUI,QAAU,SAAUV,EAASE,EAAMM,GAClD,IAAIG,EAAQ,iBACZ,OAAO,SAAUC,EAAQC,GACvB,GAAI,cAAgBF,EAAO,MAAM,IAAIG,MAAM,gCAE3C,GAAI,cAAgBH,EAAO,CACzB,GAAI,UAAYC,EAAQ,MAAMC,EAC9B,OAAOE,IAGT,IAAKP,EAAQI,OAASA,EAAQJ,EAAQK,IAAMA,IAAO,CACjD,IAAIG,EAAWR,EAAQQ,SAEvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUR,GAEnD,GAAIS,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAI,SAAWT,EAAQI,OAAQJ,EAAQY,KAAOZ,EAAQa,MAAQb,EAAQK,SAAS,GAAI,UAAYL,EAAQI,OAAQ,CAC7G,GAAI,mBAAqBD,EAAO,MAAMA,EAAQ,YAAaH,EAAQK,IACnEL,EAAQc,kBAAkBd,EAAQK,SAC7B,WAAaL,EAAQI,QAAUJ,EAAQe,OAAO,SAAUf,EAAQK,KACvEF,EAAQ,YACR,IAAIa,EAASC,EAASzB,EAASE,EAAMM,GAErC,GAAI,WAAagB,EAAOE,KAAM,CAC5B,GAAIf,EAAQH,EAAQmB,KAAO,YAAc,iBAAkBH,EAAOX,MAAQM,EAAkB,SAC5F,MAAO,CACL1B,MAAO+B,EAAOX,IACdc,KAAMnB,EAAQmB,MAIlB,UAAYH,EAAOE,OAASf,EAAQ,YAAaH,EAAQI,OAAS,QAASJ,EAAQK,IAAMW,EAAOX,OArC3E,CAwCzBb,EAASE,EAAMM,GAAUF,EAG7B,SAASmB,EAASG,EAAIrC,EAAKsB,GACzB,IACE,MAAO,CACLa,KAAM,SACNb,IAAKe,EAAGC,KAAKtC,EAAKsB,IAEpB,MAAOf,GACP,MAAO,CACL4B,KAAM,QACNb,IAAKf,IAKXtB,EAAQuB,KAAOA,EACf,IAAIoB,EAAmB,GAEvB,SAASd,KAET,SAASyB,KAET,SAASC,KAET,IAAIC,EAAoB,GACxB1C,EAAO0C,EAAmBhD,GAAgB,WACxC,OAAOiD,QAET,IAAIC,EAAWxD,OAAOyD,eAClBC,EAA0BF,GAAYA,EAASA,EAASG,EAAO,MACnED,GAA2BA,IAA4B3D,GAAMG,EAAOiD,KAAKO,EAAyBpD,KAAoBgD,EAAoBI,GAC1I,IAAIE,EAAKP,EAA2BpD,UAAY0B,EAAU1B,UAAYD,OAAO6B,OAAOyB,GAEpF,SAASO,EAAsB5D,GAC7B,CAAC,OAAQ,QAAS,UAAU6D,SAAQ,SAAU5B,GAC5CtB,EAAOX,EAAWiC,GAAQ,SAAUC,GAClC,OAAOoB,KAAKvB,QAAQE,EAAQC,SAKlC,SAAS4B,EAAcnC,EAAWoC,GAChC,SAASC,EAAO/B,EAAQC,EAAK+B,EAASC,GACpC,IAAIrB,EAASC,EAASnB,EAAUM,GAASN,EAAWO,GAEpD,GAAI,UAAYW,EAAOE,KAAM,CAC3B,IAAIoB,EAAStB,EAAOX,IAChBpB,EAAQqD,EAAOrD,MACnB,OAAOA,GAAS,UAAYm2C,EAAQn2C,IAAUb,EAAOiD,KAAKpC,EAAO,WAAaiD,EAAYE,QAAQnD,EAAMsD,SAASC,MAAK,SAAUvD,GAC9HkD,EAAO,OAAQlD,EAAOmD,EAASC,MAC9B,SAAU/C,GACX6C,EAAO,QAAS7C,EAAK8C,EAASC,MAC3BH,EAAYE,QAAQnD,GAAOuD,MAAK,SAAUC,GAC7CH,EAAOrD,MAAQwD,EAAWL,EAAQE,MACjC,SAAUI,GACX,OAAOP,EAAO,QAASO,EAAON,EAASC,MAI3CA,EAAOrB,EAAOX,KAGhB,IAAIsC,EAEJlB,KAAKvB,QAAU,SAAUE,EAAQC,GAC/B,SAASuC,IACP,OAAO,IAAIV,GAAY,SAAUE,EAASC,GACxCF,EAAO/B,EAAQC,EAAK+B,EAASC,MAIjC,OAAOM,EAAkBA,EAAkBA,EAAgBH,KAAKI,EAA4BA,GAA8BA,KAI9H,SAASlC,EAAoBF,EAAUR,GACrC,IAAII,EAASI,EAAS/B,SAASuB,EAAQI,QAEvC,QAAIyC,IAAczC,EAAQ,CACxB,GAAIJ,EAAQQ,SAAW,KAAM,UAAYR,EAAQI,OAAQ,CACvD,GAAII,EAAS/B,SAAiB,SAAMuB,EAAQI,OAAS,SAAUJ,EAAQK,SAAMwC,EAAWnC,EAAoBF,EAAUR,GAAU,UAAYA,EAAQI,QAAS,OAAOO,EACpKX,EAAQI,OAAS,QAASJ,EAAQK,IAAM,IAAIyC,UAAU,kDAGxD,OAAOnC,EAGT,IAAIK,EAASC,EAASb,EAAQI,EAAS/B,SAAUuB,EAAQK,KACzD,GAAI,UAAYW,EAAOE,KAAM,OAAOlB,EAAQI,OAAS,QAASJ,EAAQK,IAAMW,EAAOX,IAAKL,EAAQQ,SAAW,KAAMG,EACjH,IAAIoC,EAAO/B,EAAOX,IAClB,OAAO0C,EAAOA,EAAK5B,MAAQnB,EAAQQ,EAASwC,YAAcD,EAAK9D,MAAOe,EAAQiD,KAAOzC,EAAS0C,QAAS,WAAalD,EAAQI,SAAWJ,EAAQI,OAAS,OAAQJ,EAAQK,SAAMwC,GAAY7C,EAAQQ,SAAW,KAAMG,GAAoBoC,GAAQ/C,EAAQI,OAAS,QAASJ,EAAQK,IAAM,IAAIyC,UAAU,oCAAqC9C,EAAQQ,SAAW,KAAMG,GAGrW,SAASwC,EAAaC,GACpB,IAAIC,EAAQ,CACVC,OAAQF,EAAK,IAEf,KAAKA,IAASC,EAAME,SAAWH,EAAK,IAAK,KAAKA,IAASC,EAAMG,WAAaJ,EAAK,GAAIC,EAAMI,SAAWL,EAAK,IAAK3B,KAAKiC,WAAWC,KAAKN,GAGrI,SAASO,EAAcP,GACrB,IAAIrC,EAASqC,EAAMQ,YAAc,GACjC7C,EAAOE,KAAO,gBAAiBF,EAAOX,IAAKgD,EAAMQ,WAAa7C,EAGhE,SAASf,EAAQN,GACf8B,KAAKiC,WAAa,CAAC,CACjBJ,OAAQ,SACN3D,EAAYqC,QAAQmB,EAAc1B,MAAOA,KAAKqC,OAAM,GAG1D,SAASjC,EAAOkC,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASvF,GAC9B,GAAIwF,EAAgB,OAAOA,EAAe3C,KAAK0C,GAC/C,GAAI,mBAAqBA,EAASd,KAAM,OAAOc,EAE/C,IAAKE,MAAMF,EAASG,QAAS,CAC3B,IAAIC,GAAK,EACLlB,EAAO,SAASA,IAClB,OAASkB,EAAIJ,EAASG,QACpB,GAAI9F,EAAOiD,KAAK0C,EAAUI,GAAI,OAAOlB,EAAKhE,MAAQ8E,EAASI,GAAIlB,EAAK9B,MAAO,EAAI8B,EAGjF,OAAOA,EAAKhE,WAAQ4D,EAAWI,EAAK9B,MAAO,EAAI8B,GAGjD,OAAOA,EAAKA,KAAOA,GAIvB,MAAO,CACLA,KAAM1C,GAIV,SAASA,IACP,MAAO,CACLtB,WAAO4D,EACP1B,MAAM,GAIV,OAAOG,EAAkBnD,UAAYoD,EAA4BzC,EAAOgD,EAAI,cAAeP,GAA6BzC,EAAOyC,EAA4B,cAAeD,GAAoBA,EAAkB8C,YAActF,EAAOyC,EAA4B3C,EAAmB,qBAAsBZ,EAAQqG,oBAAsB,SAAUC,GAChV,IAAIC,EAAO,mBAAqBD,GAAUA,EAAOE,YACjD,QAASD,IAASA,IAASjD,GAAqB,uBAAyBiD,EAAKH,aAAeG,EAAKE,QACjGzG,EAAQ0G,KAAO,SAAUJ,GAC1B,OAAOpG,OAAOyG,eAAiBzG,OAAOyG,eAAeL,EAAQ/C,IAA+B+C,EAAOM,UAAYrD,EAA4BzC,EAAOwF,EAAQ1F,EAAmB,sBAAuB0F,EAAOnG,UAAYD,OAAO6B,OAAO+B,GAAKwC,GACzOtG,EAAQ6G,MAAQ,SAAUxE,GAC3B,MAAO,CACLkC,QAASlC,IAEV0B,EAAsBE,EAAc9D,WAAYW,EAAOmD,EAAc9D,UAAWO,GAAqB,WACtG,OAAO+C,QACLzD,EAAQiE,cAAgBA,EAAejE,EAAQ8G,MAAQ,SAAUtF,EAASC,EAASC,EAAMC,EAAauC,QACxG,IAAWA,IAAgBA,EAAc6C,SACzC,IAAIC,EAAO,IAAI/C,EAAc1C,EAAKC,EAASC,EAASC,EAAMC,GAAcuC,GACxE,OAAOlE,EAAQqG,oBAAoB5E,GAAWuF,EAAOA,EAAK/B,OAAOT,MAAK,SAAUF,GAC9E,OAAOA,EAAOnB,KAAOmB,EAAOrD,MAAQ+F,EAAK/B,WAE1ClB,EAAsBD,GAAKhD,EAAOgD,EAAIlD,EAAmB,aAAcE,EAAOgD,EAAItD,GAAgB,WACnG,OAAOiD,QACL3C,EAAOgD,EAAI,YAAY,WACzB,MAAO,wBACL9D,EAAQiH,KAAO,SAAUC,GAC3B,IAAID,EAAO,GAEX,IAAK,IAAIjG,KAAOkG,EACdD,EAAKtB,KAAK3E,GAGZ,OAAOiG,EAAKE,UAAW,SAASlC,IAC9B,KAAOgC,EAAKf,QAAS,CACnB,IAAIlF,EAAMiG,EAAKG,MACf,GAAIpG,KAAOkG,EAAQ,OAAOjC,EAAKhE,MAAQD,EAAKiE,EAAK9B,MAAO,EAAI8B,EAG9D,OAAOA,EAAK9B,MAAO,EAAI8B,IAExBjF,EAAQ6D,OAASA,EAAQ5B,EAAQ9B,UAAY,CAC9CqG,YAAavE,EACb6D,MAAO,SAAeuB,GACpB,GAAI5D,KAAK6D,KAAO,EAAG7D,KAAKwB,KAAO,EAAGxB,KAAKb,KAAOa,KAAKZ,WAAQgC,EAAWpB,KAAKN,MAAO,EAAIM,KAAKjB,SAAW,KAAMiB,KAAKrB,OAAS,OAAQqB,KAAKpB,SAAMwC,EAAWpB,KAAKiC,WAAW1B,QAAQ4B,IAAiByB,EAAe,IAAK,IAAIZ,KAAQhD,KAC/N,MAAQgD,EAAKc,OAAO,IAAMnH,EAAOiD,KAAKI,KAAMgD,KAAUR,OAAOQ,EAAKe,MAAM,MAAQ/D,KAAKgD,QAAQ5B,IAGjG4C,KAAM,WACJhE,KAAKN,MAAO,EACZ,IAAIuE,EAAajE,KAAKiC,WAAW,GAAGG,WACpC,GAAI,UAAY6B,EAAWxE,KAAM,MAAMwE,EAAWrF,IAClD,OAAOoB,KAAKkE,MAEd7E,kBAAmB,SAA2B8E,GAC5C,GAAInE,KAAKN,KAAM,MAAMyE,EACrB,IAAI5F,EAAUyB,KAEd,SAASoE,EAAOC,EAAKC,GACnB,OAAO/E,EAAOE,KAAO,QAASF,EAAOX,IAAMuF,EAAW5F,EAAQiD,KAAO6C,EAAKC,IAAW/F,EAAQI,OAAS,OAAQJ,EAAQK,SAAMwC,KAAckD,EAG5I,IAAK,IAAI5B,EAAI1C,KAAKiC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ5B,KAAKiC,WAAWS,GACxBnD,EAASqC,EAAMQ,WACnB,GAAI,SAAWR,EAAMC,OAAQ,OAAOuC,EAAO,OAE3C,GAAIxC,EAAMC,QAAU7B,KAAK6D,KAAM,CAC7B,IAAIU,EAAW5H,EAAOiD,KAAKgC,EAAO,YAC9B4C,EAAa7H,EAAOiD,KAAKgC,EAAO,cAEpC,GAAI2C,GAAYC,EAAY,CAC1B,GAAIxE,KAAK6D,KAAOjC,EAAME,SAAU,OAAOsC,EAAOxC,EAAME,UAAU,GAC9D,GAAI9B,KAAK6D,KAAOjC,EAAMG,WAAY,OAAOqC,EAAOxC,EAAMG,iBACjD,GAAIwC,GACT,GAAIvE,KAAK6D,KAAOjC,EAAME,SAAU,OAAOsC,EAAOxC,EAAME,UAAU,OACzD,CACL,IAAK0C,EAAY,MAAM,IAAI3F,MAAM,0CACjC,GAAImB,KAAK6D,KAAOjC,EAAMG,WAAY,OAAOqC,EAAOxC,EAAMG,gBAK9DzC,OAAQ,SAAgBG,EAAMb,GAC5B,IAAK,IAAI8D,EAAI1C,KAAKiC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ5B,KAAKiC,WAAWS,GAE5B,GAAId,EAAMC,QAAU7B,KAAK6D,MAAQlH,EAAOiD,KAAKgC,EAAO,eAAiB5B,KAAK6D,KAAOjC,EAAMG,WAAY,CACjG,IAAI0C,EAAe7C,EACnB,OAIJ6C,IAAiB,UAAYhF,GAAQ,aAAeA,IAASgF,EAAa5C,QAAUjD,GAAOA,GAAO6F,EAAa1C,aAAe0C,EAAe,MAC7I,IAAIlF,EAASkF,EAAeA,EAAarC,WAAa,GACtD,OAAO7C,EAAOE,KAAOA,EAAMF,EAAOX,IAAMA,EAAK6F,GAAgBzE,KAAKrB,OAAS,OAAQqB,KAAKwB,KAAOiD,EAAa1C,WAAY7C,GAAoBc,KAAK0E,SAASnF,IAE5JmF,SAAU,SAAkBnF,EAAQyC,GAClC,GAAI,UAAYzC,EAAOE,KAAM,MAAMF,EAAOX,IAC1C,MAAO,UAAYW,EAAOE,MAAQ,aAAeF,EAAOE,KAAOO,KAAKwB,KAAOjC,EAAOX,IAAM,WAAaW,EAAOE,MAAQO,KAAKkE,KAAOlE,KAAKpB,IAAMW,EAAOX,IAAKoB,KAAKrB,OAAS,SAAUqB,KAAKwB,KAAO,OAAS,WAAajC,EAAOE,MAAQuC,IAAahC,KAAKwB,KAAOQ,GAAW9C,GAEtQyF,OAAQ,SAAgB5C,GACtB,IAAK,IAAIW,EAAI1C,KAAKiC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ5B,KAAKiC,WAAWS,GAC5B,GAAId,EAAMG,aAAeA,EAAY,OAAO/B,KAAK0E,SAAS9C,EAAMQ,WAAYR,EAAMI,UAAWG,EAAcP,GAAQ1C,IAGvH,MAAS,SAAgB2C,GACvB,IAAK,IAAIa,EAAI1C,KAAKiC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ5B,KAAKiC,WAAWS,GAE5B,GAAId,EAAMC,SAAWA,EAAQ,CAC3B,IAAItC,EAASqC,EAAMQ,WAEnB,GAAI,UAAY7C,EAAOE,KAAM,CAC3B,IAAImF,EAASrF,EAAOX,IACpBuD,EAAcP,GAGhB,OAAOgD,GAIX,MAAM,IAAI/F,MAAM,0BAElBgG,cAAe,SAAuBvC,EAAUf,EAAYE,GAC1D,OAAOzB,KAAKjB,SAAW,CACrB/B,SAAUoD,EAAOkC,GACjBf,WAAYA,EACZE,QAASA,GACR,SAAWzB,KAAKrB,SAAWqB,KAAKpB,SAAMwC,GAAYlC,IAEtD3C,EAGLmK,EAAOnK,QAAUD,EAAqBoK,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCjW3G,SAASo3C,EAAQr2C,GAGf,OAAQoJ,EAAOnK,QAAUo3C,EAAU,mBAAqB72C,QAAU,iBAAmBA,OAAOE,SAAW,SAAUM,GAC/G,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBR,QAAUQ,EAAIyF,cAAgBjG,QAAUQ,IAAQR,OAAOJ,UAAY,gBAAkBY,GACvHoJ,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,QAAUo3C,EAAQr2C,GAG5FoJ,EAAOnK,QAAUo3C,EAASjtC,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCF/FmK,EAAOnK,QARP,SAAgC0B,GAC9B,QAAa,IAATA,EACF,MAAM,IAAI47B,eAAe,6DAG3B,OAAO57B,GAGgCyI,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCR9G,IAAI2G,EAAiB,EAAQ,KAoB7BwD,EAAOnK,QAlBP,SAAmBkJ,EAAUC,GAC3B,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIrE,UAAU,sDAGtBoE,EAAS/I,UAAYD,OAAO6B,OAAOoH,GAAcA,EAAWhJ,UAAW,CACrEqG,YAAa,CACXvF,MAAOiI,EACP7H,UAAU,EACVD,cAAc,KAGlBlB,OAAOgB,eAAegI,EAAU,YAAa,CAC3C7H,UAAU,IAER8H,GAAYxC,EAAeuC,EAAUC,IAGfgB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCpBjG,IAAI2D,EAAiB,EAAQ,KAEzBi5B,EAA2B,EAAQ,KAEnC0rC,EAA4B,EAAQ,KAmBxCn+D,EAAOnK,QAjBP,SAAsBqJ,GACpB,IAAIC,EAA4BszB,IAChC,OAAO,WACL,IACIt4B,EADAiF,EAAQ5F,EAAe0F,GAG3B,GAAIC,EAA2B,CAC7B,IAAIE,EAAY7F,EAAeF,MAAM+C,YACrClC,EAASmF,QAAQC,UAAUH,EAAOI,UAAWH,QAE7ClF,EAASiF,EAAMK,MAAMnG,KAAMkG,WAG7B,OAAO2+D,EAA0B7kE,KAAMa,KAIZ6F,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCvBpG,SAASk2B,EAAgB3qB,GAIvB,OAHApB,EAAOnK,QAAUk2B,EAAkBh2B,OAAOyG,eAAiBzG,OAAOyD,eAAewyB,OAAS,SAAyB5qB,GACjH,OAAOA,EAAE3E,WAAa1G,OAAOyD,eAAe4H,IAC3CpB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,QACjEk2B,EAAgB3qB,GAGzBpB,EAAOnK,QAAUk2B,EAAiB/rB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCMvGmK,EAAOnK,QAbP,WACE,GAAuB,qBAAZyJ,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAU4tC,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EAExC,IAEE,OADA9Y,QAAQt+B,UAAUq3C,QAAQn0C,KAAKoG,QAAQC,UAAU+0B,QAAS,IAAI,iBACvD,EACP,MAAOxzB,GACP,OAAO,IAIiCd,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCbjH,IAAIo3C,EAAU,EAAQ,KAAwB,QAE1CmxB,EAAwB,EAAQ,KAYpCp+D,EAAOnK,QAVP,SAAoC0B,EAAM2B,GACxC,GAAIA,IAA2B,WAAlB+zC,EAAQ/zC,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIyB,UAAU,4DAGtB,OAAOyjE,EAAsB7mE,IAGcyI,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCdlH,IAAI2D,EAAiB,EAAQ,KAEzBgD,EAAiB,EAAQ,KAEzB6hE,EAAmB,EAAQ,KAE3B9+D,EAAY,EAAQ,KAExB,SAAS++D,EAAiB9rC,GACxB,IAAIE,EAAwB,oBAAR3D,IAAqB,IAAIA,SAAQr0B,EA6BrD,OA3BAsF,EAAOnK,QAAUyoE,EAAmB,SAA0B9rC,GAC5D,GAAc,OAAVA,IAAmB6rC,EAAiB7rC,GAAQ,OAAOA,EAEvD,GAAqB,oBAAVA,EACT,MAAM,IAAI73B,UAAU,sDAGtB,GAAsB,qBAAX+3B,EAAwB,CACjC,GAAIA,EAAOC,IAAIH,GAAQ,OAAOE,EAAO1D,IAAIwD,GAEzCE,EAAOxf,IAAIsf,EAAOI,GAGpB,SAASA,IACP,OAAOrzB,EAAUizB,EAAOhzB,UAAWhG,EAAeF,MAAM+C,aAW1D,OARAu2B,EAAQ58B,UAAYD,OAAO6B,OAAO46B,EAAMx8B,UAAW,CACjDqG,YAAa,CACXvF,MAAO87B,EACP57B,YAAY,EACZE,UAAU,EACVD,cAAc,KAGXuF,EAAeo2B,EAASJ,IAC9BxyB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,QACjEyoE,EAAiB9rC,GAG1BxyB,EAAOnK,QAAUyoE,EAAkBt+D,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,6BCzCxG,oFAGwB,U,6BCHxB,8CAIM,SAAU,IAAqB,IAAX,EAAW,uDAAD,EAC5B,EAAO,KAAK,MAAQ,KAAK,IAAI,GAAI,GACjC,EAAQ,KAAK,MAAM,KAAK,SAAW,KAAK,IAAI,GAAI,IACtD,OAAO,EAAO,I,wGCGhBmK,EAAOnK,QAVP,SAA2B+Q,EAAKkC,IACnB,MAAPA,GAAeA,EAAMlC,EAAI7K,UAAQ+M,EAAMlC,EAAI7K,QAE/C,IAAK,IAAIC,EAAI,EAAGg5B,EAAO,IAAInuB,MAAMiC,GAAM9M,EAAI8M,EAAK9M,IAC9Cg5B,EAAKh5B,GAAK4K,EAAI5K,GAGhB,OAAOg5B,GAG2Bh1B,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCVzG,IAAI0oE,EAAoB,EAAQ,KAE5BC,EAAkB,EAAQ,KAE1Bn3D,EAA6B,EAAQ,KAErCo3D,EAAoB,EAAQ,KAMhCz+D,EAAOnK,QAJP,SAA4B+Q,GAC1B,OAAO23D,EAAkB33D,IAAQ43D,EAAgB53D,IAAQS,EAA2BT,IAAQ63D,KAGzDz+D,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,6BrFZ1G,8CAEM,SAAU,EAAY,GAE1B,OADsB,oBACD,gBAAgB,IAAI,WAAW,M,6BsFJtD,gFAEM,SAAU,EACd,EACA,EACA,GAEA,OAAO,YAAkB,EAAI,EAAK,GAG9B,SAAU,EACd,EACA,EACA,GAEA,OAAO,YAAkB,EAAI,EAAK,K,+FCXpC,SAAsB,EAAtB,oC,sDAAO,WACL,EACA,GAFK,iGAIgB,YAAsB,EAAK,GAJ3C,cAIC,EAJD,yBAKE,GALF,4C,qDCJP,oG,2ECMM,SAAU,EAAe,EAAkB,GAC/C,GAAI,EAAK,SAAW,EAAK,OACvB,OAAO,EAGT,IADA,IAAI,EAAM,EACD,EAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,GAAO,EAAK,GAAK,EAAK,GAExB,OAAe,IAAR,EAdT,mC,8DCAA,OAAC,SAAW6oE,GACV,aAkDA,IAAIC,EACFC,EAAY,6CACZC,EAAWlyD,KAAK+pB,KAChBooC,EAAYnyD,KAAKoF,MAEjBgtD,EAAiB,qBACjBC,EAAgBD,EAAiB,yDAEjCE,EAAO,KACPC,EAAW,GACXvX,EAAmB,iBAEnBwX,EAAW,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,MAC7EC,EAAY,IAKZC,EAAM,IAypFR,SAASC,EAASj+D,GAChB,IAAIrF,EAAQ,EAAJqF,EACR,OAAOA,EAAI,GAAKA,IAAMrF,EAAIA,EAAIA,EAAI,EAKpC,SAASujE,EAAcp+D,GAMrB,IALA,IAAID,EAAGqY,EACLvd,EAAI,EACJgG,EAAIb,EAAEpF,OACNkF,EAAIE,EAAE,GAAK,GAENnF,EAAIgG,GAAI,CAGb,IAFAd,EAAIC,EAAEnF,KAAO,GACbud,EAAI2lD,EAAWh+D,EAAEnF,OACVwd,IAAKrY,EAAI,IAAMA,GACtBD,GAAKC,EAIP,IAAKc,EAAIf,EAAElF,OAA8B,KAAtBkF,EAAEgL,aAAajK,KAElC,OAAOf,EAAE5D,MAAM,EAAG2E,EAAI,GAAK,GAK7B,SAASsM,EAAQ1M,EAAGY,GAClB,IAAIrB,EAAGU,EACL29D,EAAK59D,EAAEJ,EACPi+D,EAAKj9D,EAAEhB,EACPxF,EAAI4F,EAAEV,EACNc,EAAIQ,EAAEtB,EACN6V,EAAInV,EAAEd,EACNY,EAAIc,EAAE1B,EAGR,IAAK9E,IAAMgG,EAAG,OAAO,KAMrB,GAJAb,EAAIq+D,IAAOA,EAAG,GACd39D,EAAI49D,IAAOA,EAAG,GAGVt+D,GAAKU,EAAG,OAAOV,EAAIU,EAAI,GAAKG,EAAIhG,EAGpC,GAAIA,GAAKgG,EAAG,OAAOhG,EAMnB,GAJAmF,EAAInF,EAAI,EACR6F,EAAIkV,GAAKrV,GAGJ89D,IAAOC,EAAI,OAAO59D,EAAI,GAAK29D,EAAKr+D,EAAI,GAAK,EAG9C,IAAKU,EAAG,OAAOkV,EAAIrV,EAAIP,EAAI,GAAK,EAKhC,IAHAa,GAAK+U,EAAIyoD,EAAGzjE,SAAW2F,EAAI+9D,EAAG1jE,QAAUgb,EAAIrV,EAGvC1F,EAAI,EAAGA,EAAIgG,EAAGhG,IAAK,GAAIwjE,EAAGxjE,IAAMyjE,EAAGzjE,GAAI,OAAOwjE,EAAGxjE,GAAKyjE,EAAGzjE,GAAKmF,EAAI,GAAK,EAG5E,OAAO4V,GAAKrV,EAAI,EAAIqV,EAAIrV,EAAIP,EAAI,GAAK,EAOvC,SAASu+D,EAASr+D,EAAGuL,EAAKmC,EAAKzS,GAC7B,GAAI+E,EAAIuL,GAAOvL,EAAI0N,GAAO1N,IAAMy9D,EAAUz9D,GACxC,MAAMlJ,MACJ4mE,GAAkBziE,GAAQ,aAA2B,iBAAL+E,EAC7CA,EAAIuL,GAAOvL,EAAI0N,EAAM,kBAAoB,oBACzC,6BAA+BjE,OAAOzJ,IAM/C,SAASyhC,EAAMzhC,GACb,IAAI0V,EAAI1V,EAAEG,EAAEzF,OAAS,EACrB,OAAOujE,EAASj+D,EAAEP,EAAIo+D,IAAanoD,GAAK1V,EAAEG,EAAEuV,GAAK,GAAK,EAIxD,SAAS4oD,EAAc5zD,EAAKjL,GAC1B,OAAQiL,EAAIhQ,OAAS,EAAIgQ,EAAI3O,OAAO,GAAK,IAAM2O,EAAI1O,MAAM,GAAK0O,IAC5DjL,EAAI,EAAI,IAAM,MAAQA,EAI1B,SAAS8+D,EAAa7zD,EAAKjL,EAAGyY,GAC5B,IAAIzQ,EAAK+2D,EAGT,GAAI/+D,EAAI,EAAG,CAGT,IAAK++D,EAAKtmD,EAAI,MAAOzY,EAAG++D,GAAMtmD,GAC9BxN,EAAM8zD,EAAK9zD,OAOX,KAAMjL,GAHNgI,EAAMiD,EAAIhQ,QAGK,CACb,IAAK8jE,EAAKtmD,EAAGzY,GAAKgI,IAAOhI,EAAG++D,GAAMtmD,GAClCxN,GAAO8zD,OACE/+D,EAAIgI,IACbiD,EAAMA,EAAI1O,MAAM,EAAGyD,GAAK,IAAMiL,EAAI1O,MAAMyD,IAI5C,OAAOiL,EAOT4yD,EA/wFA,SAASvnC,EAAM0oC,GACb,IAAI/9B,EAAKg+B,EAAaC,EACpB13B,EAAIq2B,EAAU3oE,UAAY,CAAEqG,YAAasiE,EAAWr1D,SAAU,KAAM+jC,QAAS,MAC7E4yB,EAAM,IAAItB,EAAU,GAUpBuB,EAAiB,GAajBC,EAAgB,EAMhBC,GAAc,EAIdC,EAAa,GAMbC,GAAW,IAKXC,EAAU,IAGVC,GAAS,EAkBTC,EAAc,EAIdC,EAAgB,EAGhBC,EAAS,CACPC,OAAQ,GACR7oC,UAAW,EACX8oC,mBAAoB,EACpBC,eAAgB,IAChBC,iBAAkB,IAClBC,kBAAmB,EACnBC,uBAAwB,OACxBC,OAAQ,IAMVC,EAAW,uCACXC,GAAiC,EAgBnC,SAASzC,EAAU18D,EAAGJ,GACpB,IAAIw/D,EAAU7/D,EAAG8/D,EAAaxgE,EAAG9E,EAAGulE,EAAOz4D,EAAKiD,EAC9CnK,EAAItI,KAGN,KAAMsI,aAAa+8D,GAAY,OAAO,IAAIA,EAAU18D,EAAGJ,GAEvD,GAAS,MAALA,EAAW,CAEb,GAAII,IAAwB,IAAnBA,EAAEu/D,aAYT,OAXA5/D,EAAEV,EAAIe,EAAEf,QAEHe,EAAET,GAAKS,EAAEnB,EAAIy/D,EAChB3+D,EAAEJ,EAAII,EAAEd,EAAI,KACHmB,EAAEnB,EAAIw/D,EACf1+D,EAAEJ,EAAI,CAACI,EAAEd,EAAI,IAEbc,EAAEd,EAAImB,EAAEnB,EACRc,EAAEJ,EAAIS,EAAET,EAAEnE,UAMd,IAAKkkE,EAAoB,iBAALt/D,IAAsB,EAAJA,GAAS,EAAG,CAMhD,GAHAL,EAAEV,EAAI,EAAIe,EAAI,GAAKA,GAAKA,GAAI,GAAK,EAG7BA,MAAQA,EAAG,CACb,IAAKnB,EAAI,EAAG9E,EAAIiG,EAAGjG,GAAK,GAAIA,GAAK,GAAI8E,KASrC,YAPIA,EAAIy/D,EACN3+D,EAAEJ,EAAII,EAAEd,EAAI,MAEZc,EAAEd,EAAIA,EACNc,EAAEJ,EAAI,CAACS,KAMX8J,EAAMjB,OAAO7I,OACR,CAEL,IAAK28D,EAAUt4D,KAAKyF,EAAMjB,OAAO7I,IAAK,OAAO+9D,EAAap+D,EAAGmK,EAAKw1D,GAElE3/D,EAAEV,EAAyB,IAArB6K,EAAIE,WAAW,IAAYF,EAAMA,EAAI1O,MAAM,IAAK,GAAK,GAIxDyD,EAAIiL,EAAItB,QAAQ,OAAS,IAAGsB,EAAMA,EAAIyH,QAAQ,IAAK,MAGnDxX,EAAI+P,EAAIkwC,OAAO,OAAS,GAGvBn7C,EAAI,IAAGA,EAAI9E,GACf8E,IAAMiL,EAAI1O,MAAMrB,EAAI,GACpB+P,EAAMA,EAAI01D,UAAU,EAAGzlE,IACd8E,EAAI,IAGbA,EAAIiL,EAAIhQ,YAGL,CAOL,GAJA2jE,EAAS79D,EAAG,EAAGs/D,EAASplE,OAAQ,QAIvB,IAAL8F,GAAWu/D,EAEb,OAAO9hC,EADP19B,EAAI,IAAI+8D,EAAU18D,GACFi+D,EAAiBt+D,EAAEd,EAAI,EAAGq/D,GAK5C,GAFAp0D,EAAMjB,OAAO7I,GAETs/D,EAAoB,iBAALt/D,EAAe,CAGhC,GAAQ,EAAJA,GAAS,EAAG,OAAO+9D,EAAap+D,EAAGmK,EAAKw1D,EAAO1/D,GAKnD,GAHAD,EAAEV,EAAI,EAAIe,EAAI,GAAK8J,EAAMA,EAAI1O,MAAM,IAAK,GAAK,EAGzCshE,EAAU+C,OAAS31D,EAAIyH,QAAQ,YAAa,IAAIzX,OAAS,GAC3D,MAAM5D,MACJ6mE,EAAgB/8D,QAGpBL,EAAEV,EAA0B,KAAtB6K,EAAIE,WAAW,IAAaF,EAAMA,EAAI1O,MAAM,IAAK,GAAK,EAQ9D,IALAgkE,EAAWF,EAAS9jE,MAAM,EAAGwE,GAC7Bf,EAAI9E,EAAI,EAIH8M,EAAMiD,EAAIhQ,OAAQC,EAAI8M,EAAK9M,IAC9B,GAAIqlE,EAAS52D,QAAQjJ,EAAIuK,EAAI3O,OAAOpB,IAAM,EAAG,CAC3C,GAAS,KAALwF,GAGF,GAAIxF,EAAI8E,EAAG,CACTA,EAAIgI,EACJ,eAEG,IAAKw4D,IAGNv1D,GAAOA,EAAIqlC,gBAAkBrlC,EAAMA,EAAIpC,gBACvCoC,GAAOA,EAAIpC,gBAAkBoC,EAAMA,EAAIqlC,gBAAgB,CACzDkwB,GAAc,EACdtlE,GAAK,EACL8E,EAAI,EACJ,SAIJ,OAAOk/D,EAAap+D,EAAGkJ,OAAO7I,GAAIs/D,EAAO1/D,GAK7C0/D,GAAQ,GAIHzgE,GAHLiL,EAAMg0D,EAAYh0D,EAAKlK,EAAG,GAAID,EAAEV,IAGnBuJ,QAAQ,OAAS,EAAGsB,EAAMA,EAAIyH,QAAQ,IAAK,IACnD1S,EAAIiL,EAAIhQ,OAIf,IAAKC,EAAI,EAAyB,KAAtB+P,EAAIE,WAAWjQ,GAAWA,KAGtC,IAAK8M,EAAMiD,EAAIhQ,OAAkC,KAA1BgQ,EAAIE,aAAanD,KAExC,GAAIiD,EAAMA,EAAI1O,MAAMrB,IAAK8M,GAAM,CAI7B,GAHAA,GAAO9M,EAGHulE,GAAS5C,EAAU+C,OACrB54D,EAAM,KAAO7G,EAAI0lD,GAAoB1lD,IAAM68D,EAAU78D,IACnD,MAAM9J,MACJ6mE,EAAiBp9D,EAAEV,EAAIe,GAI7B,IAAKnB,EAAIA,EAAI9E,EAAI,GAAKukE,EAGpB3+D,EAAEJ,EAAII,EAAEd,EAAI,UAGP,GAAIA,EAAIw/D,EAGb1+D,EAAEJ,EAAI,CAACI,EAAEd,EAAI,OACR,CAWL,GAVAc,EAAEd,EAAIA,EACNc,EAAEJ,EAAI,GAMNxF,GAAK8E,EAAI,GAAKo+D,EACVp+D,EAAI,IAAG9E,GAAKkjE,GAEZljE,EAAI8M,EAAK,CAGX,IAFI9M,GAAG4F,EAAEJ,EAAEhG,MAAMuQ,EAAI1O,MAAM,EAAGrB,IAEzB8M,GAAOo2D,EAAUljE,EAAI8M,GACxBlH,EAAEJ,EAAEhG,MAAMuQ,EAAI1O,MAAMrB,EAAGA,GAAKkjE,IAG9BljE,EAAIkjE,GAAYnzD,EAAMA,EAAI1O,MAAMrB,IAAID,YAEpCC,GAAK8M,EAGP,KAAO9M,IAAK+P,GAAO,KACnBnK,EAAEJ,EAAEhG,MAAMuQ,SAKZnK,EAAEJ,EAAI,CAACI,EAAEd,EAAI,GA61BjB,SAAS0sB,EAAOnsB,EAAGrF,EAAG2lE,EAAIj/D,GACxB,IAAI49C,EAAIx/C,EAAG+0D,EAAI/sD,EAAKiD,EAKpB,GAHU,MAAN41D,EAAYA,EAAKxB,EAChBT,EAASiC,EAAI,EAAG,IAEhBtgE,EAAEG,EAAG,OAAOH,EAAEiI,WAKnB,GAHAg3C,EAAKj/C,EAAEG,EAAE,GACTq0D,EAAKx0D,EAAEP,EAEE,MAAL9E,EACF+P,EAAMwzD,EAAcl+D,EAAEG,GACtBuK,EAAY,GAANrJ,GAAiB,GAANA,IAAYmzD,GAAMuK,GAAcvK,GAAMwK,GACpDV,EAAc5zD,EAAK8pD,GACnB+J,EAAa7zD,EAAK8pD,EAAI,UAezB,GAVA/0D,GAHAO,EAAIi+B,EAAM,IAAIq/B,EAAUt9D,GAAIrF,EAAG2lE,IAGzB7gE,EAGNgI,GADAiD,EAAMwzD,EAAcl+D,EAAEG,IACZzF,OAOA,GAAN2G,GAAiB,GAANA,IAAY1G,GAAK8E,GAAKA,GAAKs/D,GAAa,CAGrD,KAAOt3D,EAAM9M,EAAG+P,GAAO,IAAKjD,KAC5BiD,EAAM4zD,EAAc5zD,EAAKjL,QAQzB,GAJA9E,GAAK65D,EACL9pD,EAAM6zD,EAAa7zD,EAAKjL,EAAG,KAGvBA,EAAI,EAAIgI,GACV,KAAM9M,EAAI,EAAG,IAAK+P,GAAO,IAAK/P,IAAK+P,GAAO,WAG1C,IADA/P,GAAK8E,EAAIgI,GACD,EAEN,IADIhI,EAAI,GAAKgI,IAAKiD,GAAO,KAClB/P,IAAK+P,GAAO,KAM3B,OAAO1K,EAAEH,EAAI,GAAKo/C,EAAK,IAAMv0C,EAAMA,EAKrC,SAAS61D,EAAS7hE,EAAM9H,GAKtB,IAJA,IAAIoJ,EACFrF,EAAI,EACJ2F,EAAI,IAAIg9D,EAAU5+D,EAAK,IAElB/D,EAAI+D,EAAKhE,OAAQC,IAAK,CAI3B,KAHAqF,EAAI,IAAIs9D,EAAU5+D,EAAK/D,KAGhBkF,EAAG,CACRS,EAAIN,EACJ,MACSpJ,EAAOiB,KAAKyI,EAAGN,KACxBM,EAAIN,GAIR,OAAOM,EAQT,SAASkgE,EAAUxgE,EAAGG,EAAGV,GAKvB,IAJA,IAAI9E,EAAI,EACNgG,EAAIR,EAAEzF,QAGAyF,IAAIQ,GAAIR,EAAEvE,OAGlB,IAAK+E,EAAIR,EAAE,GAAIQ,GAAK,GAAIA,GAAK,GAAIhG,KAkBjC,OAfK8E,EAAI9E,EAAI8E,EAAIo+D,EAAW,GAAKqB,EAG/Bl/D,EAAEG,EAAIH,EAAEP,EAAI,KAGHA,EAAIw/D,EAGbj/D,EAAEG,EAAI,CAACH,EAAEP,EAAI,IAEbO,EAAEP,EAAIA,EACNO,EAAEG,EAAIA,GAGDH,EA0DT,SAASi+B,EAAM19B,EAAGkgE,EAAIH,EAAI1gE,GACxB,IAAIK,EAAGtF,EAAGgG,EAAG+U,EAAG1V,EAAG0gE,EAAIC,EACrBxC,EAAK59D,EAAEJ,EACPygE,EAAS9C,EAGX,GAAIK,EAAI,CAQN9vD,EAAK,CAGH,IAAKpO,EAAI,EAAGyV,EAAIyoD,EAAG,GAAIzoD,GAAK,GAAIA,GAAK,GAAIzV,KAIzC,IAHAtF,EAAI8lE,EAAKxgE,GAGD,EACNtF,GAAKkjE,EACLl9D,EAAI8/D,EAIJE,GAHA3gE,EAAIm+D,EAAGuC,EAAK,IAGHE,EAAO3gE,EAAIU,EAAI,GAAK,GAAK,OAIlC,IAFA+/D,EAAKlD,GAAU7iE,EAAI,GAAKkjE,KAEdM,EAAGzjE,OAAQ,CAEnB,IAAIkF,EASF,MAAMyO,EANN,KAAO8vD,EAAGzjE,QAAUgmE,EAAIvC,EAAGhkE,KAAK,IAChC6F,EAAI2gE,EAAK,EACT1gE,EAAI,EAEJU,GADAhG,GAAKkjE,GACGA,EAAW,MAIhB,CAIL,IAHA79D,EAAI0V,EAAIyoD,EAAGuC,GAGNzgE,EAAI,EAAGyV,GAAK,GAAIA,GAAK,GAAIzV,KAU9B0gE,GAHAhgE,GAJAhG,GAAKkjE,GAIGA,EAAW59D,GAGV,EAAI,EAAID,EAAI4gE,EAAO3gE,EAAIU,EAAI,GAAK,GAAK,EAmBlD,GAfAf,EAAIA,GAAK6gE,EAAK,GAKC,MAAdtC,EAAGuC,EAAK,KAAe//D,EAAI,EAAIX,EAAIA,EAAI4gE,EAAO3gE,EAAIU,EAAI,IAEvDf,EAAI0gE,EAAK,GACLK,GAAM/gE,KAAa,GAAN0gE,GAAWA,IAAO//D,EAAEV,EAAI,EAAI,EAAI,IAC9C8gE,EAAK,GAAW,GAANA,IAAkB,GAANL,GAAW1gE,GAAW,GAAN0gE,IAGrC3lE,EAAI,EAAIgG,EAAI,EAAIX,EAAI4gE,EAAO3gE,EAAIU,GAAK,EAAIw9D,EAAGuC,EAAK,IAAM,GAAM,GAC7DJ,IAAO//D,EAAEV,EAAI,EAAI,EAAI,IAEpB4gE,EAAK,IAAMtC,EAAG,GAiBhB,OAhBAA,EAAGzjE,OAAS,EAERkF,GAGF6gE,GAAMlgE,EAAEd,EAAI,EAGZ0+D,EAAG,GAAKyC,GAAQ/C,EAAW4C,EAAK5C,GAAYA,GAC5Ct9D,EAAEd,GAAKghE,GAAM,GAIbtC,EAAG,GAAK59D,EAAEd,EAAI,EAGTc,EAkBT,GAdS,GAAL5F,GACFwjE,EAAGzjE,OAASgmE,EACZhrD,EAAI,EACJgrD,MAEAvC,EAAGzjE,OAASgmE,EAAK,EACjBhrD,EAAIkrD,EAAO/C,EAAWljE,GAItBwjE,EAAGuC,GAAM//D,EAAI,EAAI88D,EAAUz9D,EAAI4gE,EAAO3gE,EAAIU,GAAKigE,EAAOjgE,IAAM+U,EAAI,GAI9D9V,EAEF,OAAU,CAGR,GAAU,GAAN8gE,EAAS,CAGX,IAAK/lE,EAAI,EAAGgG,EAAIw9D,EAAG,GAAIx9D,GAAK,GAAIA,GAAK,GAAIhG,KAEzC,IADAgG,EAAIw9D,EAAG,IAAMzoD,EACRA,EAAI,EAAG/U,GAAK,GAAIA,GAAK,GAAI+U,KAG1B/a,GAAK+a,IACPnV,EAAEd,IACE0+D,EAAG,IAAMP,IAAMO,EAAG,GAAK,IAG7B,MAGA,GADAA,EAAGuC,IAAOhrD,EACNyoD,EAAGuC,IAAO9C,EAAM,MACpBO,EAAGuC,KAAQ,EACXhrD,EAAI,EAMV,IAAK/a,EAAIwjE,EAAGzjE,OAAoB,IAAZyjE,IAAKxjE,GAAUwjE,EAAGviE,QAIpC2E,EAAEd,EAAIy/D,EACR3+D,EAAEJ,EAAII,EAAEd,EAAI,KAGHc,EAAEd,EAAIw/D,IACf1+D,EAAEJ,EAAI,CAACI,EAAEd,EAAI,IAIjB,OAAOc,EAIT,SAASyrC,EAAQhsC,GACf,IAAI0K,EACFjL,EAAIO,EAAEP,EAER,OAAU,OAANA,EAAmBO,EAAEiI,YAEzByC,EAAMwzD,EAAcl+D,EAAEG,GAEtBuK,EAAMjL,GAAKs/D,GAAct/D,GAAKu/D,EAC1BV,EAAc5zD,EAAKjL,GACnB8+D,EAAa7zD,EAAKjL,EAAG,KAElBO,EAAEH,EAAI,EAAI,IAAM6K,EAAMA,GAgrC/B,OAv1EA4yD,EAAUvnC,MAAQA,EAElBunC,EAAUuD,SAAW,EACrBvD,EAAUwD,WAAa,EACvBxD,EAAUyD,WAAa,EACvBzD,EAAU0D,YAAc,EACxB1D,EAAU2D,cAAgB,EAC1B3D,EAAU4D,gBAAkB,EAC5B5D,EAAU6D,gBAAkB,EAC5B7D,EAAU8D,gBAAkB,EAC5B9D,EAAU+D,iBAAmB,EAC7B/D,EAAUgE,OAAS,EAqCnBhE,EAAUiE,OAASjE,EAAUzrD,IAAM,SAAUtc,GAC3C,IAAI6K,EAAGQ,EAEP,GAAW,MAAPrL,EAAa,CAEf,GAAkB,iBAAPA,EA4HT,MAAMuB,MACJ4mE,EAAiB,oBAAsBnoE,GAvFzC,GAlCIA,EAAIV,eAAeuL,EAAI,oBAEzBi+D,EADAz9D,EAAIrL,EAAI6K,GACI,EAAG49D,EAAK59D,GACpBy+D,EAAiBj+D,GAKfrL,EAAIV,eAAeuL,EAAI,mBAEzBi+D,EADAz9D,EAAIrL,EAAI6K,GACI,EAAG,EAAGA,GAClB0+D,EAAgBl+D,GAOdrL,EAAIV,eAAeuL,EAAI,qBACzBQ,EAAIrL,EAAI6K,KACCQ,EAAEhF,KACTyiE,EAASz9D,EAAE,IAAKo9D,EAAK,EAAG59D,GACxBi+D,EAASz9D,EAAE,GAAI,EAAGo9D,EAAK59D,GACvB2+D,EAAan+D,EAAE,GACfo+D,EAAap+D,EAAE,KAEfy9D,EAASz9D,GAAIo9D,EAAKA,EAAK59D,GACvB2+D,IAAeC,EAAap+D,EAAI,GAAKA,EAAIA,KAOzCrL,EAAIV,eAAeuL,EAAI,SAEzB,IADAQ,EAAIrL,EAAI6K,KACCQ,EAAEhF,IACTyiE,EAASz9D,EAAE,IAAKo9D,GAAM,EAAG59D,GACzBi+D,EAASz9D,EAAE,GAAI,EAAGo9D,EAAK59D,GACvB6+D,EAAUr+D,EAAE,GACZs+D,EAAUt+D,EAAE,OACP,CAEL,GADAy9D,EAASz9D,GAAIo9D,EAAKA,EAAK59D,IACnBQ,EAGF,MAAM9J,MACJ4mE,EAAiBt9D,EAAI,oBAAsBQ,GAH7Cq+D,IAAYC,EAAUt+D,EAAI,GAAKA,EAAIA,GAWzC,GAAIrL,EAAIV,eAAeuL,EAAI,UAAW,CAEpC,IADAQ,EAAIrL,EAAI6K,QACIQ,EAcV,MAAM9J,MACJ4mE,EAAiBt9D,EAAI,uBAAyBQ,GAdhD,GAAIA,EAAG,CACL,GAAqB,oBAAVgnB,SAAyBA,SAClCA,OAAOE,kBAAmBF,OAAOpC,YAIjC,MADA25C,GAAUv+D,EACJ9J,MACJ4mE,EAAiB,sBAJnByB,EAASv+D,OAOXu+D,EAASv+D,EA0Bf,GAhBIrL,EAAIV,eAAeuL,EAAI,iBAEzBi+D,EADAz9D,EAAIrL,EAAI6K,GACI,EAAG,EAAGA,GAClBg/D,EAAcx+D,GAKZrL,EAAIV,eAAeuL,EAAI,mBAEzBi+D,EADAz9D,EAAIrL,EAAI6K,GACI,EAAG49D,EAAK59D,GACpBi/D,EAAgBz+D,GAKdrL,EAAIV,eAAeuL,EAAI,UAAW,CAEpC,GAAgB,iBADhBQ,EAAIrL,EAAI6K,IAEH,MAAMtJ,MACT4mE,EAAiBt9D,EAAI,mBAAqBQ,GAFlB0+D,EAAS1+D,EAOrC,GAAIrL,EAAIV,eAAeuL,EAAI,YAAa,CAKtC,GAAgB,iBAJhBQ,EAAIrL,EAAI6K,KAIqB,wBAAwB6E,KAAKrE,GAIxD,MAAM9J,MACJ4mE,EAAiBt9D,EAAI,aAAeQ,GAJtCm/D,EAAmD,cAAlBn/D,EAAE5E,MAAM,EAAG,IAC5C8jE,EAAWl/D,GAenB,MAAO,CACLi+D,eAAgBA,EAChBC,cAAeA,EACf0C,eAAgB,CAACzC,EAAYC,GAC7ByC,MAAO,CAACxC,EAASC,GACjBC,OAAQA,EACRC,YAAaA,EACbC,cAAeA,EACfC,OAAQA,EACRQ,SAAUA,IAcdxC,EAAUoE,YAAc,SAAU9gE,GAChC,IAAKA,IAAwB,IAAnBA,EAAEu/D,aAAuB,OAAO,EAC1C,IAAK7C,EAAU+C,MAAO,OAAO,EAE7B,IAAI1lE,EAAGqF,EACLG,EAAIS,EAAET,EACNV,EAAImB,EAAEnB,EACNI,EAAIe,EAAEf,EAERwO,EAAK,GAA2B,kBAAvB,GAAGpG,SAASpQ,KAAKsI,IAExB,IAAW,IAANN,IAAkB,IAAPA,IAAaJ,IAAMu+D,GAAOv+D,GAAKu+D,GAAOv+D,IAAMg+D,EAAUh+D,GAAI,CAGxE,GAAa,IAATU,EAAE,GAAU,CACd,GAAU,IAANV,GAAwB,IAAbU,EAAEzF,OAAc,OAAO,EACtC,MAAM2T,EASR,IALA1T,GAAK8E,EAAI,GAAKo+D,GACN,IAAGljE,GAAKkjE,GAIZp0D,OAAOtJ,EAAE,IAAIzF,QAAUC,EAAG,CAE5B,IAAKA,EAAI,EAAGA,EAAIwF,EAAEzF,OAAQC,IAExB,IADAqF,EAAIG,EAAExF,IACE,GAAKqF,GAAK49D,GAAQ59D,IAAMy9D,EAAUz9D,GAAI,MAAMqO,EAItD,GAAU,IAANrO,EAAS,OAAO,SAKnB,GAAU,OAANG,GAAoB,OAANV,IAAqB,OAANI,GAAoB,IAANA,IAAkB,IAAPA,GAC/D,OAAO,EAGT,MAAM/I,MACH4mE,EAAiB,sBAAwB98D,IAS9C08D,EAAUqE,QAAUrE,EAAU5vD,IAAM,WAClC,OAAO6yD,EAASpiE,UAAW8oC,EAAE1E,KAS/B+6B,EAAUsE,QAAUtE,EAAU/xD,IAAM,WAClC,OAAOg1D,EAASpiE,UAAW8oC,EAAE9E,KAc/Bm7B,EAAU50B,OAAU,WAClB,IAAIm5B,EAAU,iBAMVC,EAAkBx2D,KAAKo9B,SAAWm5B,EAAW,QAC9C,WAAc,OAAOpE,EAAUnyD,KAAKo9B,SAAWm5B,IAC/C,WAAc,OAA2C,SAAlB,WAAhBv2D,KAAKo9B,SAAwB,IACnC,QAAhBp9B,KAAKo9B,SAAsB,IAE/B,OAAO,SAAUq5B,GACf,IAAIjiE,EAAGU,EAAGf,EAAGiW,EAAG9U,EACdjG,EAAI,EACJwF,EAAI,GACJ6hE,EAAO,IAAI1E,EAAUsB,GAOvB,GALU,MAANmD,EAAYA,EAAKlD,EAChBR,EAAS0D,EAAI,EAAG/D,GAErBtoD,EAAI8nD,EAASuE,EAAKlE,GAEdsB,EAGF,GAAIv3C,OAAOE,gBAAiB,CAI1B,IAFAhoB,EAAI8nB,OAAOE,gBAAgB,IAAIkjB,YAAYt1B,GAAK,IAEzC/a,EAAI+a,IAQT9U,EAAW,OAAPd,EAAEnF,IAAgBmF,EAAEnF,EAAI,KAAO,MAM1B,MACP6F,EAAIonB,OAAOE,gBAAgB,IAAIkjB,YAAY,IAC3ClrC,EAAEnF,GAAK6F,EAAE,GACTV,EAAEnF,EAAI,GAAK6F,EAAE,KAKbL,EAAEhG,KAAKyG,EAAI,MACXjG,GAAK,GAGTA,EAAI+a,EAAI,MAGH,KAAIkS,OAAOpC,YA2BhB,MADA25C,GAAS,EACHroE,MACJ4mE,EAAiB,sBAvBnB,IAFA59D,EAAI8nB,OAAOpC,YAAY9P,GAAK,GAErB/a,EAAI+a,IAMT9U,EAAmB,iBAAN,GAAPd,EAAEnF,IAA0C,cAAXmF,EAAEnF,EAAI,GAC9B,WAAXmF,EAAEnF,EAAI,GAAgC,SAAXmF,EAAEnF,EAAI,IACjCmF,EAAEnF,EAAI,IAAM,KAAOmF,EAAEnF,EAAI,IAAM,GAAKmF,EAAEnF,EAAI,KAErC,KACPitB,OAAOpC,YAAY,GAAG7d,KAAK7H,EAAGnF,IAI9BwF,EAAEhG,KAAKyG,EAAI,MACXjG,GAAK,GAGTA,EAAI+a,EAAI,EASZ,IAAKypD,EAEH,KAAOxkE,EAAI+a,IACT9U,EAAIkhE,KACI,OAAM3hE,EAAExF,KAAOiG,EAAI,MAc/B,IAVA8U,EAAIvV,IAAIxF,GACRonE,GAAMlE,EAGFnoD,GAAKqsD,IACPnhE,EAAIk9D,EAASD,EAAWkE,GACxB5hE,EAAExF,GAAK8iE,EAAU/nD,EAAI9U,GAAKA,GAIZ,IAATT,EAAExF,GAAUwF,EAAEvE,MAAOjB,KAG5B,GAAIA,EAAI,EACNwF,EAAI,CAACV,EAAI,OACJ,CAGL,IAAKA,GAAK,EAAa,IAATU,EAAE,GAAUA,EAAE0yC,OAAO,EAAG,GAAIpzC,GAAKo+D,GAG/C,IAAKljE,EAAI,EAAGiG,EAAIT,EAAE,GAAIS,GAAK,GAAIA,GAAK,GAAIjG,KAGpCA,EAAIkjE,IAAUp+D,GAAKo+D,EAAWljE,GAKpC,OAFAqnE,EAAKviE,EAAIA,EACTuiE,EAAK7hE,EAAIA,EACF6hE,GAjIS,GA2IpB1E,EAAU2E,IAAM,WAId,IAHA,IAAItnE,EAAI,EACN+D,EAAOP,UACP8jE,EAAM,IAAI3E,EAAU5+D,EAAK,IACpB/D,EAAI+D,EAAKhE,QAASunE,EAAMA,EAAIC,KAAKxjE,EAAK/D,MAC7C,OAAOsnE,GAQTvD,EAAe,WACb,IAAIyD,EAAU,aAOd,SAASC,EAAU13D,EAAK23D,EAAQC,EAAStC,GAOvC,IANA,IAAIr/D,EAEF4hE,EADAh9D,EAAM,CAAC,GAEP5K,EAAI,EACJ8M,EAAMiD,EAAIhQ,OAELC,EAAI8M,GAAM,CACf,IAAK86D,EAAOh9D,EAAI7K,OAAQ6nE,IAAQh9D,EAAIg9D,IAASF,GAI7C,IAFA98D,EAAI,IAAMy6D,EAAS52D,QAAQsB,EAAI3O,OAAOpB,MAEjCgG,EAAI,EAAGA,EAAI4E,EAAI7K,OAAQiG,IAEtB4E,EAAI5E,GAAK2hE,EAAU,IACH,MAAd/8D,EAAI5E,EAAI,KAAY4E,EAAI5E,EAAI,GAAK,GACrC4E,EAAI5E,EAAI,IAAM4E,EAAI5E,GAAK2hE,EAAU,EACjC/8D,EAAI5E,IAAM2hE,GAKhB,OAAO/8D,EAAI5J,UAMb,OAAO,SAAU+O,EAAK23D,EAAQC,EAASj9D,EAAMm9D,GAC3C,IAAIxC,EAAU//D,EAAGR,EAAGiW,EAAG9V,EAAGW,EAAG49D,EAAIh9D,EAC/BxG,EAAI+P,EAAItB,QAAQ,KAChB24D,EAAKlD,EACLyB,EAAKxB,EA+BP,IA5BInkE,GAAK,IACP+a,EAAI2pD,EAGJA,EAAgB,EAChB30D,EAAMA,EAAIyH,QAAQ,IAAK,IAEvB5R,GADAY,EAAI,IAAIm8D,EAAU+E,IACZzyD,IAAIlF,EAAIhQ,OAASC,GACvB0kE,EAAgB3pD,EAKhBvU,EAAEhB,EAAIiiE,EAAU7D,EAAaL,EAAc39D,EAAEJ,GAAII,EAAEd,EAAG,KACrD,GAAI6iE,EAASH,GACdhhE,EAAE1B,EAAI0B,EAAEhB,EAAEzF,QAUZ+E,EAAIiW,GALJyoD,EAAKiE,EAAU13D,EAAK23D,EAAQC,EAASE,GACjCxC,EAAWF,EAAUqC,IACrBnC,EAAWmC,EAASrC,KAGbplE,OAGO,GAAXyjE,IAAKzoD,GAASyoD,EAAGviE,OAGxB,IAAKuiE,EAAG,GAAI,OAAO6B,EAASjkE,OAAO,GAqCnC,GAlCIpB,EAAI,IACJ8E,GAEFc,EAAEJ,EAAIg+D,EACN59D,EAAEd,EAAIA,EAGNc,EAAEV,EAAIwF,EAEN84D,GADA59D,EAAImgC,EAAIngC,EAAGY,EAAG4gE,EAAIzB,EAAIgC,IACfniE,EACPP,EAAIW,EAAEX,EACNH,EAAIc,EAAEd,GASR9E,EAAIwjE,EAHJl+D,EAAIR,EAAIsiE,EAAK,GAObrsD,EAAI4sD,EAAU,EACd1iE,EAAIA,GAAKK,EAAI,GAAkB,MAAbk+D,EAAGl+D,EAAI,GAEzBL,EAAI0gE,EAAK,GAAU,MAAL3lE,GAAaiF,KAAa,GAAN0gE,GAAWA,IAAO//D,EAAEV,EAAI,EAAI,EAAI,IAC1DlF,EAAI+a,GAAK/a,GAAK+a,IAAW,GAAN4qD,GAAW1gE,GAAW,GAAN0gE,GAAuB,EAAZnC,EAAGl+D,EAAI,IACtDqgE,IAAO//D,EAAEV,EAAI,EAAI,EAAI,IAKxBI,EAAI,IAAMk+D,EAAG,GAGfzzD,EAAM9K,EAAI2+D,EAAayB,EAASjkE,OAAO,IAAKgmE,EAAI/B,EAASjkE,OAAO,IAAMikE,EAASjkE,OAAO,OACjF,CAML,GAHAoiE,EAAGzjE,OAASuF,EAGRL,EAGF,MAAO0iE,IAAWnE,IAAKl+D,GAAKqiE,GAC1BnE,EAAGl+D,GAAK,EAEHA,MACDR,EACF0+D,EAAK,CAAC,GAAGjxD,OAAOixD,IAMtB,IAAKzoD,EAAIyoD,EAAGzjE,QAASyjE,IAAKzoD,KAG1B,IAAK/a,EAAI,EAAG+P,EAAM,GAAI/P,GAAK+a,EAAGhL,GAAOs1D,EAASjkE,OAAOoiE,EAAGxjE,OAGxD+P,EAAM6zD,EAAa7zD,EAAKjL,EAAGugE,EAASjkE,OAAO,IAI7C,OAAO2O,GAjJI,GAuJfg2B,EAAO,WAGL,SAAS+hC,EAASliE,EAAGmV,EAAGwQ,GACtB,IAAI5lB,EAAGoiE,EAAMC,EAAKC,EAChBx/C,EAAQ,EACRzoB,EAAI4F,EAAE7F,OACNmoE,EAAMntD,EAAIqoD,EACV+E,EAAMptD,EAAIqoD,EAAY,EAExB,IAAKx9D,EAAIA,EAAEvE,QAASrB,KAKlByoB,IADAs/C,EAAOG,GAHPF,EAAMpiE,EAAE5F,GAAKojE,IAEbz9D,EAAIwiE,EAAMH,GADVC,EAAMriE,EAAE5F,GAAKojE,EAAY,GACH8E,GACG9E,EAAaA,EAAa36C,GACnC8C,EAAO,IAAM5lB,EAAIy9D,EAAY,GAAK+E,EAAMF,EACxDriE,EAAE5F,GAAK+nE,EAAOx8C,EAKhB,OAFI9C,IAAO7iB,EAAI,CAAC6iB,GAAOlW,OAAO3M,IAEvBA,EAGT,SAAS0M,EAAQnN,EAAGU,EAAGuiE,EAAIC,GACzB,IAAIroE,EAAGm6B,EAEP,GAAIiuC,GAAMC,EACRluC,EAAMiuC,EAAKC,EAAK,GAAK,OAGrB,IAAKroE,EAAIm6B,EAAM,EAAGn6B,EAAIooE,EAAIpoE,IAExB,GAAImF,EAAEnF,IAAM6F,EAAE7F,GAAI,CAChBm6B,EAAMh1B,EAAEnF,GAAK6F,EAAE7F,GAAK,GAAK,EACzB,MAKN,OAAOm6B,EAGT,SAASmuC,EAASnjE,EAAGU,EAAGuiE,EAAI78C,GAI1B,IAHA,IAAIvrB,EAAI,EAGDooE,KACLjjE,EAAEijE,IAAOpoE,EACTA,EAAImF,EAAEijE,GAAMviE,EAAEuiE,GAAM,EAAI,EACxBjjE,EAAEijE,GAAMpoE,EAAIurB,EAAOpmB,EAAEijE,GAAMviE,EAAEuiE,GAI/B,MAAQjjE,EAAE,IAAMA,EAAEpF,OAAS,EAAGoF,EAAE+yC,OAAO,EAAG,KAI5C,OAAO,SAAUtyC,EAAGY,EAAG4gE,EAAIzB,EAAIp6C,GAC7B,IAAI4O,EAAKr1B,EAAG9E,EAAGuoE,EAAMljE,EAAGmjE,EAAMC,EAAO3iE,EAAG4iE,EAAIC,EAAKC,EAAMC,EAAMpuD,EAAIquD,EAAIC,EACnEC,EAAIC,EACJ/jE,EAAIU,EAAEV,GAAKsB,EAAEtB,EAAI,GAAK,EACtBs+D,EAAK59D,EAAEJ,EACPi+D,EAAKj9D,EAAEhB,EAGT,IAAKg+D,IAAOA,EAAG,KAAOC,IAAOA,EAAG,GAE9B,OAAO,IAAId,EAGT/8D,EAAEV,GAAMsB,EAAEtB,IAAMs+D,GAAKC,GAAMD,EAAG,IAAMC,EAAG,GAAMA,GAG7CD,GAAe,GAATA,EAAG,KAAYC,EAAS,EAAJv+D,EAAQA,EAAI,EAHaysB,KAoBvD,IAZA+2C,GADA5iE,EAAI,IAAI68D,EAAUz9D,IACXM,EAAI,GAEXN,EAAIkiE,GADJtiE,EAAIc,EAAEd,EAAI0B,EAAE1B,GACC,EAERymB,IACHA,EAAO03C,EACPn+D,EAAIw+D,EAAS19D,EAAEd,EAAIo+D,GAAYI,EAAS98D,EAAE1B,EAAIo+D,GAC9Ch+D,EAAIA,EAAIg+D,EAAW,GAKhBljE,EAAI,EAAGyjE,EAAGzjE,KAAOwjE,EAAGxjE,IAAM,GAAIA,KAInC,GAFIyjE,EAAGzjE,IAAMwjE,EAAGxjE,IAAM,IAAI8E,IAEtBI,EAAI,EACNwjE,EAAGlpE,KAAK,GACR+oE,GAAO,MACF,CAwBL,IAvBAO,EAAKtF,EAAGzjE,OACRipE,EAAKvF,EAAG1jE,OACRC,EAAI,EACJkF,GAAK,GAILG,EAAIy9D,EAAUv3C,GAAQk4C,EAAG,GAAK,KAItB,IACNA,EAAKqE,EAASrE,EAAIp+D,EAAGkmB,GACrBi4C,EAAKsE,EAAStE,EAAIn+D,EAAGkmB,GACrBy9C,EAAKvF,EAAG1jE,OACR+oE,EAAKtF,EAAGzjE,QAGV0a,EAAKuuD,EAELJ,GADAD,EAAMnF,EAAGniE,MAAM,EAAG2nE,IACPjpE,OAGJ6oE,EAAOI,EAAIL,EAAIC,KAAU,GAChCK,EAAKxF,EAAGpiE,QACR4nE,EAAK,CAAC,GAAG12D,OAAO02D,GAChBF,EAAMtF,EAAG,GACLA,EAAG,IAAMl4C,EAAO,GAAGw9C,IAIvB,EAAG,CAOD,GANA1jE,EAAI,GAGJ80B,EAAM7nB,EAAQmxD,EAAIkF,EAAKK,EAAIJ,IAGjB,EAAG,CAqBX,GAjBAC,EAAOF,EAAI,GACPK,GAAMJ,IAAMC,EAAOA,EAAOt9C,GAAQo9C,EAAI,IAAM,KAGhDtjE,EAAIy9D,EAAU+F,EAAOE,IAab,EAcN,IAXI1jE,GAAKkmB,IAAMlmB,EAAIkmB,EAAO,GAI1Bk9C,GADAD,EAAOV,EAASrE,EAAIp+D,EAAGkmB,IACVxrB,OACb6oE,EAAOD,EAAI5oE,OAM+B,GAAnCuS,EAAQk2D,EAAMG,EAAKF,EAAOG,IAC/BvjE,IAGAijE,EAASE,EAAMQ,EAAKP,EAAQQ,EAAKxF,EAAIgF,EAAOl9C,GAC5Ck9C,EAAQD,EAAKzoE,OACbo6B,EAAM,OAQC,GAAL90B,IAGF80B,EAAM90B,EAAI,GAKZojE,GADAD,EAAO/E,EAAGpiE,SACGtB,OAUf,GAPI0oE,EAAQG,IAAMJ,EAAO,CAAC,GAAGj2D,OAAOi2D,IAGpCF,EAASK,EAAKH,EAAMI,EAAMr9C,GAC1Bq9C,EAAOD,EAAI5oE,QAGC,GAARo6B,EAMF,KAAO7nB,EAAQmxD,EAAIkF,EAAKK,EAAIJ,GAAQ,GAClCvjE,IAGAijE,EAASK,EAAKK,EAAKJ,EAAOK,EAAKxF,EAAImF,EAAMr9C,GACzCq9C,EAAOD,EAAI5oE,YAGE,IAARo6B,IACT90B,IACAsjE,EAAM,CAAC,IAITD,EAAG1oE,KAAOqF,EAGNsjE,EAAI,GACNA,EAAIC,KAAUpF,EAAG/oD,IAAO,GAExBkuD,EAAM,CAACnF,EAAG/oD,IACVmuD,EAAO,UAEDnuD,IAAOquD,GAAgB,MAAVH,EAAI,KAAezjE,KAE1CqjE,EAAiB,MAAVI,EAAI,GAGND,EAAG,IAAIA,EAAGxwB,OAAO,EAAG,GAG3B,GAAI3sB,GAAQ03C,EAAM,CAGhB,IAAKjjE,EAAI,EAAGkF,EAAIwjE,EAAG,GAAIxjE,GAAK,GAAIA,GAAK,GAAIlF,KAEzCsjC,EAAMx9B,EAAGshE,GAAMthE,EAAEhB,EAAI9E,EAAI8E,EAAIo+D,EAAW,GAAK,EAAGyC,EAAI4C,QAIpDziE,EAAEhB,EAAIA,EACNgB,EAAEb,GAAKsjE,EAGT,OAAOziE,GA9PJ,GA+XPk+D,EAAgB,WACd,IAAIkF,EAAa,8BACfC,EAAW,cACXC,EAAY,cACZC,EAAkB,qBAClBC,EAAmB,6BAErB,OAAO,SAAU1jE,EAAGmK,EAAKw1D,EAAO1/D,GAC9B,IAAI0lB,EACFrmB,EAAIqgE,EAAQx1D,EAAMA,EAAIyH,QAAQ8xD,EAAkB,IAGlD,GAAID,EAAgB/+D,KAAKpF,GACvBU,EAAEV,EAAIpF,MAAMoF,GAAK,KAAOA,EAAI,GAAK,EAAI,MAChC,CACL,IAAKqgE,IAGHrgE,EAAIA,EAAEsS,QAAQ0xD,GAAY,SAAUvjE,EAAG4jE,EAAIC,GAEzC,OADAj+C,EAAkC,MAA1Bi+C,EAAKA,EAAG77D,eAAwB,GAAW,KAAN67D,EAAY,EAAI,EACrD3jE,GAAKA,GAAK0lB,EAAY5lB,EAAL4jE,KAGvB1jE,IACF0lB,EAAO1lB,EAGPX,EAAIA,EAAEsS,QAAQ2xD,EAAU,MAAM3xD,QAAQ4xD,EAAW,SAG/Cr5D,GAAO7K,GAAG,OAAO,IAAIy9D,EAAUz9D,EAAGqmB,GAKxC,GAAIo3C,EAAU+C,MACZ,MAAMvpE,MACH4mE,EAAiB,SAAWl9D,EAAI,SAAWA,EAAI,IAAM,YAAckK,GAIxEnK,EAAEV,EAAI,KAGRU,EAAEJ,EAAII,EAAEd,EAAI,MA5CA,GAyOhBwnC,EAAEm9B,cAAgBn9B,EAAErP,IAAM,WACxB,IAAIr3B,EAAI,IAAI+8D,EAAUrlE,MAEtB,OADIsI,EAAEV,EAAI,IAAGU,EAAEV,EAAI,GACZU,GAWT0mC,EAAEo9B,WAAa,SAAUljE,EAAGX,GAC1B,OAAOyM,EAAQhV,KAAM,IAAIqlE,EAAUn8D,EAAGX,KAiBxCymC,EAAEq9B,cAAgBr9B,EAAE86B,GAAK,SAAUA,EAAIzB,GACrC,IAAIngE,EAAGH,EAAGY,EACRL,EAAItI,KAEN,GAAU,MAAN8pE,EAKF,OAJA1D,EAAS0D,EAAI,EAAG/D,GACN,MAANsC,EAAYA,EAAKxB,EAChBT,EAASiC,EAAI,EAAG,GAEdriC,EAAM,IAAIq/B,EAAU/8D,GAAIwhE,EAAKxhE,EAAEd,EAAI,EAAG6gE,GAG/C,KAAMngE,EAAII,EAAEJ,GAAI,OAAO,KAIvB,GAHAH,IAAMY,EAAIT,EAAEzF,OAAS,GAAKujE,EAAShmE,KAAKwH,EAAIo+D,IAAaA,EAGrDj9D,EAAIT,EAAES,GAAI,KAAOA,EAAI,IAAM,EAAGA,GAAK,GAAIZ,KAG3C,OAFIA,EAAI,IAAGA,EAAI,GAERA,GAwBTinC,EAAEs9B,UAAYt9B,EAAEvG,IAAM,SAAUv/B,EAAGX,GACjC,OAAOkgC,EAAIzoC,KAAM,IAAIqlE,EAAUn8D,EAAGX,GAAIq+D,EAAgBC,IAQxD73B,EAAEu9B,mBAAqBv9B,EAAEw9B,KAAO,SAAUtjE,EAAGX,GAC3C,OAAOkgC,EAAIzoC,KAAM,IAAIqlE,EAAUn8D,EAAGX,GAAI,EAAG,IAmB3CymC,EAAEy9B,gBAAkBz9B,EAAEr3B,IAAM,SAAU5P,EAAGM,GACvC,IAAI2gC,EAAM0jC,EAAUhqE,EAAG+a,EAASkvD,EAAQC,EAAQC,EAAQ3jE,EACtDZ,EAAItI,KAKN,IAHA+H,EAAI,IAAIs9D,EAAUt9D,IAGZG,IAAMH,EAAEknC,YACZ,MAAMpwC,MACH4mE,EAAiB,4BAA8B1xB,EAAQhsC,IAS5D,GANS,MAALM,IAAWA,EAAI,IAAIg9D,EAAUh9D,IAGjCskE,EAAS5kE,EAAEP,EAAI,IAGVc,EAAEJ,IAAMI,EAAEJ,EAAE,IAAgB,GAAVI,EAAEJ,EAAE,KAAYI,EAAEd,GAAmB,GAAdc,EAAEJ,EAAEzF,SAAgBsF,EAAEG,IAAMH,EAAEG,EAAE,GAK5E,OADAgB,EAAI,IAAIm8D,EAAUhyD,KAAKsE,KAAKo8B,EAAQzrC,GAAIqkE,EAAS5kE,EAAEH,GAAK,EAAI4hC,EAAMzhC,KAAOgsC,EAAQhsC,KAC1EM,EAAIa,EAAEu0B,IAAIp1B,GAAKa,EAKxB,GAFA0jE,EAAS7kE,EAAEH,EAAI,EAEXS,EAAG,CAGL,GAAIA,EAAEH,GAAKG,EAAEH,EAAE,IAAMG,EAAET,EAAG,OAAO,IAAIy9D,EAAUhxC,MAE/Cq4C,GAAYE,GAAUtkE,EAAE2mC,aAAe5mC,EAAE4mC,eAE3B3mC,EAAIA,EAAEm1B,IAAIp1B,QAInB,IAAIN,EAAEP,EAAI,IAAMc,EAAEd,EAAI,GAAKc,EAAEd,GAAK,IAAa,GAAPc,EAAEd,EAE7Cc,EAAEJ,EAAE,GAAK,GAAKykE,GAAUrkE,EAAEJ,EAAE,IAAM,KAElCI,EAAEJ,EAAE,GAAK,MAAQykE,GAAUrkE,EAAEJ,EAAE,IAAM,YASvC,OANAuV,EAAInV,EAAEV,EAAI,GAAK4hC,EAAMzhC,IAAM,EAAI,EAG3BO,EAAEd,GAAK,IAAGiW,EAAI,EAAIA,GAGf,IAAI4nD,EAAUuH,EAAS,EAAInvD,EAAIA,GAE7B2pD,IAKT3pD,EAAI8nD,EAAS6B,EAAgBxB,EAAW,IAe1C,IAZI+G,GACF3jC,EAAO,IAAIq8B,EAAU,IACjBuH,IAAQ7kE,EAAEH,EAAI,GAClBilE,EAASrjC,EAAMzhC,IAGf8kE,GADAnqE,EAAI2Q,KAAKssB,KAAKoU,EAAQhsC,KACT,EAGfmB,EAAI,IAAIm8D,EAAUsB,KAGR,CAER,GAAIkG,EAAQ,CAEV,KADA3jE,EAAIA,EAAE4jE,MAAMxkE,IACLJ,EAAG,MAENuV,EACEvU,EAAEhB,EAAEzF,OAASgb,IAAGvU,EAAEhB,EAAEzF,OAASgb,GACxBivD,IACTxjE,EAAIA,EAAEu0B,IAAIp1B,IAId,GAAI3F,EAAG,CAEL,GAAU,KADVA,EAAI8iE,EAAU9iE,EAAI,IACL,MACbmqE,EAASnqE,EAAI,OAKb,GAFAsjC,EADAj+B,EAAIA,EAAE+kE,MAAM9jC,GACHjhC,EAAEP,EAAI,EAAG,GAEdO,EAAEP,EAAI,GACRqlE,EAASrjC,EAAMzhC,OACV,CAEL,GAAU,KADVrF,GAAKqxC,EAAQhsC,IACA,MACb8kE,EAASnqE,EAAI,EAIjB4F,EAAIA,EAAEwkE,MAAMxkE,GAERmV,EACEnV,EAAEJ,GAAKI,EAAEJ,EAAEzF,OAASgb,IAAGnV,EAAEJ,EAAEzF,OAASgb,GAC/BivD,IACTpkE,EAAIA,EAAEm1B,IAAIp1B,IAId,OAAIqkE,EAAiBxjE,GACjB0jE,IAAQ1jE,EAAIy9D,EAAIl+B,IAAIv/B,IAEjBb,EAAIa,EAAEu0B,IAAIp1B,GAAKoV,EAAIuoB,EAAM98B,EAAGk+D,EAAeP,EAnHxBoE,WAmH+C/hE,IAY3E8lC,EAAE+9B,aAAe,SAAU1E,GACzB,IAAItgE,EAAI,IAAIs9D,EAAUrlE,MAGtB,OAFU,MAANqoE,EAAYA,EAAKxB,EAChBT,EAASiC,EAAI,EAAG,GACdriC,EAAMj+B,EAAGA,EAAEP,EAAI,EAAG6gE,IAQ3Br5B,EAAEg+B,UAAYh+B,EAAEtE,GAAK,SAAUxhC,EAAGX,GAChC,OAA8C,IAAvCyM,EAAQhV,KAAM,IAAIqlE,EAAUn8D,EAAGX,KAOxCymC,EAAE/4B,SAAW,WACX,QAASjW,KAAKkI,GAQhB8mC,EAAEi+B,cAAgBj+B,EAAE9E,GAAK,SAAUhhC,EAAGX,GACpC,OAAOyM,EAAQhV,KAAM,IAAIqlE,EAAUn8D,EAAGX,IAAM,GAQ9CymC,EAAEk+B,uBAAyBl+B,EAAE5E,IAAM,SAAUlhC,EAAGX,GAC9C,OAAoD,KAA5CA,EAAIyM,EAAQhV,KAAM,IAAIqlE,EAAUn8D,EAAGX,MAAoB,IAANA,GAQ3DymC,EAAEC,UAAY,WACZ,QAASjvC,KAAKkI,GAAK89D,EAAShmE,KAAKwH,EAAIo+D,GAAY5lE,KAAKkI,EAAEzF,OAAS,GAQnEusC,EAAEm+B,WAAan+B,EAAE1E,GAAK,SAAUphC,EAAGX,GACjC,OAAOyM,EAAQhV,KAAM,IAAIqlE,EAAUn8D,EAAGX,IAAM,GAQ9CymC,EAAEo+B,oBAAsBp+B,EAAExE,IAAM,SAAUthC,EAAGX,GAC3C,OAAqD,KAA7CA,EAAIyM,EAAQhV,KAAM,IAAIqlE,EAAUn8D,EAAGX,MAAqB,IAANA,GAO5DymC,EAAExsC,MAAQ,WACR,OAAQxC,KAAK4H,GAOfonC,EAAEq+B,WAAa,WACb,OAAOrtE,KAAK4H,EAAI,GAOlBonC,EAAEs+B,WAAa,WACb,OAAOttE,KAAK4H,EAAI,GAOlBonC,EAAErQ,OAAS,WACT,QAAS3+B,KAAKkI,GAAkB,GAAblI,KAAKkI,EAAE,IAwB5B8mC,EAAEu+B,MAAQ,SAAUrkE,EAAGX,GACrB,IAAI7F,EAAGgG,EAAGhB,EAAG8lE,EACXllE,EAAItI,KACJ6H,EAAIS,EAAEV,EAMR,GAHAW,GADAW,EAAI,IAAIm8D,EAAUn8D,EAAGX,IACfX,GAGDC,IAAMU,EAAG,OAAO,IAAI88D,EAAUhxC,KAGnC,GAAIxsB,GAAKU,EAEP,OADAW,EAAEtB,GAAKW,EACAD,EAAE2hE,KAAK/gE,GAGhB,IAAIukE,EAAKnlE,EAAEd,EAAIo+D,EACb5H,EAAK90D,EAAE1B,EAAIo+D,EACXM,EAAK59D,EAAEJ,EACPi+D,EAAKj9D,EAAEhB,EAET,IAAKulE,IAAOzP,EAAI,CAGd,IAAKkI,IAAOC,EAAI,OAAOD,GAAMh9D,EAAEtB,GAAKW,EAAGW,GAAK,IAAIm8D,EAAUc,EAAK79D,EAAI+rB,KAGnE,IAAK6xC,EAAG,KAAOC,EAAG,GAGhB,OAAOA,EAAG,IAAMj9D,EAAEtB,GAAKW,EAAGW,GAAK,IAAIm8D,EAAUa,EAAG,GAAK59D,EAGnC,GAAjBu+D,GAAsB,EAAI,GAS/B,GALA4G,EAAKzH,EAASyH,GACdzP,EAAKgI,EAAShI,GACdkI,EAAKA,EAAGniE,QAGJ8D,EAAI4lE,EAAKzP,EAAI,CAaf,KAXIwP,EAAO3lE,EAAI,IACbA,GAAKA,EACLH,EAAIw+D,IAEJlI,EAAKyP,EACL/lE,EAAIy+D,GAGNz+D,EAAEhE,UAGG6E,EAAIV,EAAGU,IAAKb,EAAExF,KAAK,IACxBwF,EAAEhE,eAMF,IAFAgF,GAAK8kE,GAAQ3lE,EAAIq+D,EAAGzjE,SAAW8F,EAAI49D,EAAG1jE,SAAWoF,EAAIU,EAEhDV,EAAIU,EAAI,EAAGA,EAAIG,EAAGH,IAErB,GAAI29D,EAAG39D,IAAM49D,EAAG59D,GAAI,CAClBilE,EAAOtH,EAAG39D,GAAK49D,EAAG59D,GAClB,MAiBN,GAXIilE,IACF9lE,EAAIw+D,EACJA,EAAKC,EACLA,EAAKz+D,EACLwB,EAAEtB,GAAKsB,EAAEtB,IAGXW,GAAKG,EAAIy9D,EAAG1jE,SAAWC,EAAIwjE,EAAGzjE,SAItB,EAAG,KAAO8F,IAAK29D,EAAGxjE,KAAO,GAIjC,IAHA6F,EAAIo9D,EAAO,EAGJj9D,EAAIb,GAAI,CAEb,GAAIq+D,IAAKx9D,GAAKy9D,EAAGz9D,GAAI,CACnB,IAAKhG,EAAIgG,EAAGhG,IAAMwjE,IAAKxjE,GAAIwjE,EAAGxjE,GAAK6F,KACjC29D,EAAGxjE,GACLwjE,EAAGx9D,IAAMi9D,EAGXO,EAAGx9D,IAAMy9D,EAAGz9D,GAId,KAAgB,GAATw9D,EAAG,GAASA,EAAGtrB,OAAO,EAAG,KAAMojB,GAGtC,OAAKkI,EAAG,GAWDqC,EAAUr/D,EAAGg9D,EAAIlI,IAPtB90D,EAAEtB,EAAqB,GAAjBi/D,GAAsB,EAAI,EAChC39D,EAAEhB,EAAI,CAACgB,EAAE1B,EAAI,GACN0B,IA8BX8lC,EAAE0+B,OAAS1+B,EAAEvR,IAAM,SAAUv0B,EAAGX,GAC9B,IAAIC,EAAGZ,EACLU,EAAItI,KAKN,OAHAkJ,EAAI,IAAIm8D,EAAUn8D,EAAGX,IAGhBD,EAAEJ,IAAMgB,EAAEtB,GAAKsB,EAAEhB,IAAMgB,EAAEhB,EAAE,GACvB,IAAIm9D,EAAUhxC,MAGXnrB,EAAEhB,GAAKI,EAAEJ,IAAMI,EAAEJ,EAAE,GACtB,IAAIm9D,EAAU/8D,IAGJ,GAAf6+D,GAIFv/D,EAAIsB,EAAEtB,EACNsB,EAAEtB,EAAI,EACNY,EAAIigC,EAAIngC,EAAGY,EAAG,EAAG,GACjBA,EAAEtB,EAAIA,EACNY,EAAEZ,GAAKA,GAEPY,EAAIigC,EAAIngC,EAAGY,EAAG,EAAGi+D,IAGnBj+D,EAAIZ,EAAEilE,MAAM/kE,EAAEskE,MAAM5jE,KAGbhB,EAAE,IAAqB,GAAfi/D,IAAkBj+D,EAAEtB,EAAIU,EAAEV,GAElCsB,IAwBT8lC,EAAE2+B,aAAe3+B,EAAE89B,MAAQ,SAAU5jE,EAAGX,GACtC,IAAIL,EAAGV,EAAG9E,EAAGgG,EAAG+U,EAAGpV,EAAGulE,EAAKlD,EAAKC,EAAKkD,EAAKC,EAAKC,EAAKC,EAClD//C,EAAMggD,EACN3lE,EAAItI,KACJkmE,EAAK59D,EAAEJ,EACPi+D,GAAMj9D,EAAI,IAAIm8D,EAAUn8D,EAAGX,IAAIL,EAGjC,IAAKg+D,IAAOC,IAAOD,EAAG,KAAOC,EAAG,GAmB9B,OAhBK79D,EAAEV,IAAMsB,EAAEtB,GAAKs+D,IAAOA,EAAG,KAAOC,GAAMA,IAAOA,EAAG,KAAOD,EAC1Dh9D,EAAEhB,EAAIgB,EAAE1B,EAAI0B,EAAEtB,EAAI,MAElBsB,EAAEtB,GAAKU,EAAEV,EAGJs+D,GAAOC,GAKVj9D,EAAEhB,EAAI,CAAC,GACPgB,EAAE1B,EAAI,GALN0B,EAAEhB,EAAIgB,EAAE1B,EAAI,MAST0B,EAmBT,IAhBA1B,EAAIw+D,EAAS19D,EAAEd,EAAIo+D,GAAYI,EAAS98D,EAAE1B,EAAIo+D,GAC9C18D,EAAEtB,GAAKU,EAAEV,GACTgmE,EAAM1H,EAAGzjE,SACTorE,EAAM1H,EAAG1jE,UAIPurE,EAAK9H,EACLA,EAAKC,EACLA,EAAK6H,EACLtrE,EAAIkrE,EACJA,EAAMC,EACNA,EAAMnrE,GAIHA,EAAIkrE,EAAMC,EAAKG,EAAK,GAAItrE,IAAKsrE,EAAG9rE,KAAK,IAK1C,IAHA+rB,EAAO03C,EACPsI,EAAWnI,EAENpjE,EAAImrE,IAAOnrE,GAAK,GAAI,CAKvB,IAJAwF,EAAI,EACJ4lE,EAAM3H,EAAGzjE,GAAKurE,EACdF,EAAM5H,EAAGzjE,GAAKurE,EAAW,EAEXvlE,EAAIhG,GAAb+a,EAAImwD,GAAgBllE,EAAIhG,GAK3BwF,IADAwiE,EAAMoD,GAHNpD,EAAMxE,IAAKzoD,GAAKwwD,IAEhB5lE,EAAI0lE,EAAMrD,GADVC,EAAMzE,EAAGzoD,GAAKwwD,EAAW,GACHH,GACEG,EAAYA,EAAYD,EAAGtlE,GAAKR,GAC7C+lB,EAAO,IAAM5lB,EAAI4lE,EAAW,GAAKF,EAAMpD,EAClDqD,EAAGtlE,KAAOgiE,EAAMz8C,EAGlB+/C,EAAGtlE,GAAKR,EASV,OANIA,IACAV,EAEFwmE,EAAGpzB,OAAO,EAAG,GAGR2tB,EAAUr/D,EAAG8kE,EAAIxmE,IAQ1BwnC,EAAEk/B,QAAU,WACV,IAAI5lE,EAAI,IAAI+8D,EAAUrlE,MAEtB,OADAsI,EAAEV,GAAKU,EAAEV,GAAK,KACPU,GAwBT0mC,EAAEi7B,KAAO,SAAU/gE,EAAGX,GACpB,IAAIb,EACFY,EAAItI,KACJ6H,EAAIS,EAAEV,EAMR,GAHAW,GADAW,EAAI,IAAIm8D,EAAUn8D,EAAGX,IACfX,GAGDC,IAAMU,EAAG,OAAO,IAAI88D,EAAUhxC,KAGlC,GAAIxsB,GAAKU,EAER,OADAW,EAAEtB,GAAKW,EACAD,EAAEilE,MAAMrkE,GAGjB,IAAIukE,EAAKnlE,EAAEd,EAAIo+D,EACb5H,EAAK90D,EAAE1B,EAAIo+D,EACXM,EAAK59D,EAAEJ,EACPi+D,EAAKj9D,EAAEhB,EAET,IAAKulE,IAAOzP,EAAI,CAGd,IAAKkI,IAAOC,EAAI,OAAO,IAAId,EAAUx9D,EAAI,GAIzC,IAAKq+D,EAAG,KAAOC,EAAG,GAAI,OAAOA,EAAG,GAAKj9D,EAAI,IAAIm8D,EAAUa,EAAG,GAAK59D,EAAQ,EAAJT,GAQrE,GALA4lE,EAAKzH,EAASyH,GACdzP,EAAKgI,EAAShI,GACdkI,EAAKA,EAAGniE,QAGJ8D,EAAI4lE,EAAKzP,EAAI,CAUf,IATIn2D,EAAI,GACNm2D,EAAKyP,EACL/lE,EAAIy+D,IAEJt+D,GAAKA,EACLH,EAAIw+D,GAGNx+D,EAAEhE,UACKmE,IAAKH,EAAExF,KAAK,IACnBwF,EAAEhE,UAeJ,KAZAmE,EAAIq+D,EAAGzjE,SACP8F,EAAI49D,EAAG1jE,QAGK,IACViF,EAAIy+D,EACJA,EAAKD,EACLA,EAAKx+D,EACLa,EAAIV,GAIDA,EAAI,EAAGU,GACVV,GAAKq+D,IAAK39D,GAAK29D,EAAG39D,GAAK49D,EAAG59D,GAAKV,GAAK89D,EAAO,EAC3CO,EAAG39D,GAAKo9D,IAASO,EAAG39D,GAAK,EAAI29D,EAAG39D,GAAKo9D,EAUvC,OAPI99D,IACFq+D,EAAK,CAACr+D,GAAGoN,OAAOixD,KACdlI,GAKGuK,EAAUr/D,EAAGg9D,EAAIlI,IAmB1BhvB,EAAEm/B,UAAYn/B,EAAEw5B,GAAK,SAAUA,EAAIH,GACjC,IAAIngE,EAAGH,EAAGY,EACRL,EAAItI,KAEN,GAAU,MAANwoE,GAAcA,MAASA,EAKzB,OAJApC,EAASoC,EAAI,EAAGzC,GACN,MAANsC,EAAYA,EAAKxB,EAChBT,EAASiC,EAAI,EAAG,GAEdriC,EAAM,IAAIq/B,EAAU/8D,GAAIkgE,EAAIH,GAGrC,KAAMngE,EAAII,EAAEJ,GAAI,OAAO,KAIvB,GAFAH,GADAY,EAAIT,EAAEzF,OAAS,GACPmjE,EAAW,EAEfj9D,EAAIT,EAAES,GAAI,CAGZ,KAAOA,EAAI,IAAM,EAAGA,GAAK,GAAIZ,KAG7B,IAAKY,EAAIT,EAAE,GAAIS,GAAK,GAAIA,GAAK,GAAIZ,MAKnC,OAFIygE,GAAMlgE,EAAEd,EAAI,EAAIO,IAAGA,EAAIO,EAAEd,EAAI,GAE1BO,GAYTinC,EAAEo/B,UAAY,SAAU3wD,GAEtB,OADA2oD,EAAS3oD,GAAG,iBAAmB4wC,GACxBruD,KAAK8sE,MAAM,KAAOrvD,IAe3BuxB,EAAEq/B,WAAar/B,EAAEhD,KAAO,WACtB,IAAI3jC,EAAGN,EAAGJ,EAAG2mE,EAAK5mE,EAChBY,EAAItI,KACJkI,EAAII,EAAEJ,EACNN,EAAIU,EAAEV,EACNJ,EAAIc,EAAEd,EACNsiE,EAAKlD,EAAiB,EACtB59B,EAAO,IAAIq8B,EAAU,OAGvB,GAAU,IAANz9D,IAAYM,IAAMA,EAAE,GACtB,OAAO,IAAIm9D,GAAWz9D,GAAKA,EAAI,KAAOM,GAAKA,EAAE,IAAMmsB,IAAMnsB,EAAII,EAAI,KA8BnE,GAtBS,IAJTV,EAAIyL,KAAK24B,MAAM+H,EAAQzrC,MAITV,GAAK,OACjBG,EAAIk+D,EAAc/9D,IACXzF,OAAS+E,GAAK,GAAK,IAAGO,GAAK,KAClCH,EAAIyL,KAAK24B,MAAMjkC,GACfP,EAAIw+D,GAAUx+D,EAAI,GAAK,IAAMA,EAAI,GAAKA,EAAI,GAS1CG,EAAI,IAAI09D,EANNt9D,EADEH,GAAK,IACH,KAAOJ,GAEXO,EAAIH,EAAEy+D,iBACAtiE,MAAM,EAAGgE,EAAEoJ,QAAQ,KAAO,GAAK3J,IAKvCG,EAAI,IAAI09D,EAAUz9D,EAAI,IAOpBD,EAAEO,EAAE,GAMN,KAJAN,GADAJ,EAAIG,EAAEH,GACEsiE,GACA,IAAGliE,EAAI,KAOb,GAHAF,EAAIC,EACJA,EAAIqhC,EAAK8jC,MAAMplE,EAAEuiE,KAAKxhC,EAAIngC,EAAGZ,EAAGoiE,EAAI,KAEhC7D,EAAcv+D,EAAEQ,GAAGnE,MAAM,EAAG6D,MAAQG,EAAIk+D,EAAct+D,EAAEO,IAAInE,MAAM,EAAG6D,GAAI,CAW3E,GANID,EAAEH,EAAIA,KAAKI,EAMN,SALTG,EAAIA,EAAEhE,MAAM6D,EAAI,EAAGA,EAAI,MAKH0mE,GAAY,QAALvmE,GAgBpB,EAICA,KAAOA,EAAEhE,MAAM,IAAqB,KAAfgE,EAAEjE,OAAO,MAGlCkiC,EAAMr+B,EAAGA,EAAEH,EAAIo/D,EAAiB,EAAG,GACnCv+D,GAAKV,EAAEmlE,MAAMnlE,GAAG+iC,GAAGpiC,IAGrB,MAvBA,IAAKgmE,IACHtoC,EAAMt+B,EAAGA,EAAEF,EAAIo/D,EAAiB,EAAG,GAE/Bl/D,EAAEolE,MAAMplE,GAAGgjC,GAAGpiC,IAAI,CACpBX,EAAID,EACJ,MAIJoiE,GAAM,EACNliE,GAAK,EACL0mE,EAAM,EAkBd,OAAOtoC,EAAMr+B,EAAGA,EAAEH,EAAIo/D,EAAiB,EAAGC,EAAex+D,IAa3D2mC,EAAEq3B,cAAgB,SAAUyD,EAAIzB,GAK9B,OAJU,MAANyB,IACF1D,EAAS0D,EAAI,EAAG/D,GAChB+D,KAEK51C,EAAOl0B,KAAM8pE,EAAIzB,EAAI,IAgB9Br5B,EAAEu/B,QAAU,SAAUzE,EAAIzB,GAKxB,OAJU,MAANyB,IACF1D,EAAS0D,EAAI,EAAG/D,GAChB+D,EAAKA,EAAK9pE,KAAKwH,EAAI,GAEd0sB,EAAOl0B,KAAM8pE,EAAIzB,IA6B1Br5B,EAAEw/B,SAAW,SAAU1E,EAAIzB,EAAIn0C,GAC7B,IAAIzhB,EACFnK,EAAItI,KAEN,GAAc,MAAVk0B,EACQ,MAAN41C,GAAczB,GAAmB,iBAANA,GAC7Bn0C,EAASm0C,EACTA,EAAK,MACIyB,GAAmB,iBAANA,GACtB51C,EAAS41C,EACTA,EAAKzB,EAAK,MAEVn0C,EAASmzC,OAEN,GAAqB,iBAAVnzC,EAChB,MAAMr1B,MACH4mE,EAAiB,2BAA6BvxC,GAKnD,GAFAzhB,EAAMnK,EAAEimE,QAAQzE,EAAIzB,GAEhB//D,EAAEJ,EAAG,CACP,IAAIxF,EACF4K,EAAMmF,EAAImiB,MAAM,KAChB65C,GAAMv6C,EAAOuK,UACbiwC,GAAMx6C,EAAOqzC,mBACbC,EAAiBtzC,EAAOszC,gBAAkB,GAC1CmH,EAAUrhE,EAAI,GACdshE,EAAethE,EAAI,GACnB4yB,EAAQ53B,EAAEV,EAAI,EACdinE,EAAY3uC,EAAQyuC,EAAQ5qE,MAAM,GAAK4qE,EACvCn/D,EAAMq/D,EAAUpsE,OASlB,GAPIisE,IACFhsE,EAAI+rE,EACJA,EAAKC,EACLA,EAAKhsE,EACL8M,GAAO9M,GAGL+rE,EAAK,GAAKj/D,EAAM,EAAG,CAGrB,IAFA9M,EAAI8M,EAAMi/D,GAAMA,EAChBE,EAAUE,EAAUx8D,OAAO,EAAG3P,GACvBA,EAAI8M,EAAK9M,GAAK+rE,EAAIE,GAAWnH,EAAiBqH,EAAUx8D,OAAO3P,EAAG+rE,GACrEC,EAAK,IAAGC,GAAWnH,EAAiBqH,EAAU9qE,MAAMrB,IACpDw9B,IAAOyuC,EAAU,IAAMA,GAG7Bl8D,EAAMm8D,EACHD,GAAWz6C,EAAOuzC,kBAAoB,MAAQiH,GAAMx6C,EAAOwzC,mBAC1DkH,EAAa10D,QAAQ,IAAI2b,OAAO,OAAS64C,EAAK,OAAQ,KACvD,MAAQx6C,EAAOyzC,wBAA0B,KACxCiH,GACDD,EAGL,OAAQz6C,EAAOozC,QAAU,IAAM70D,GAAOyhB,EAAO0zC,QAAU,KAezD54B,EAAE8/B,WAAa,SAAUC,GACvB,IAAI/mE,EAAGqd,EAAIC,EAAIC,EAAI/d,EAAGwnE,EAAKjnE,EAAGknE,EAAIC,EAAI1mE,EAAGb,EAAGC,EAC1CU,EAAItI,KACJkmE,EAAK59D,EAAEJ,EAET,GAAU,MAAN6mE,MACFhnE,EAAI,IAAIs9D,EAAU0J,IAGX9/B,cAAgBlnC,EAAEG,GAAa,IAARH,EAAEH,IAAYG,EAAEuiC,GAAGq8B,IAC/C,MAAM9nE,MACH4mE,EAAiB,aACf19D,EAAEknC,YAAc,iBAAmB,oBAAsB8E,EAAQhsC,IAI1E,IAAKm+D,EAAI,OAAO,IAAIb,EAAU/8D,GAoB9B,IAlBAN,EAAI,IAAIq9D,EAAUsB,GAClBuI,EAAK7pD,EAAK,IAAIggD,EAAUsB,GACxBrhD,EAAK2pD,EAAK,IAAI5J,EAAUsB,GACxB/+D,EAAIq+D,EAAcC,GAIlB1+D,EAAIQ,EAAER,EAAII,EAAEnF,OAAS6F,EAAEd,EAAI,EAC3BQ,EAAEE,EAAE,GAAK29D,GAAUmJ,EAAMxnE,EAAIo+D,GAAY,EAAIA,EAAWoJ,EAAMA,GAC9DD,GAAMA,GAAMhnE,EAAEqkE,WAAWpkE,GAAK,EAAKR,EAAI,EAAIQ,EAAIknE,EAAMnnE,EAErDinE,EAAM/H,EACNA,EAAU,IACVl/D,EAAI,IAAIs9D,EAAUz9D,GAGlBqnE,EAAG/mE,EAAE,GAAK,EAGRM,EAAIigC,EAAI1gC,EAAGC,EAAG,EAAG,GAEQ,IADzBud,EAAKF,EAAG4kD,KAAKzhE,EAAEskE,MAAMxnD,KACd8mD,WAAW2C,IAClB1pD,EAAKC,EACLA,EAAKC,EACL2pD,EAAKD,EAAGhF,KAAKzhE,EAAEskE,MAAMvnD,EAAK2pD,IAC1BD,EAAK1pD,EACLvd,EAAID,EAAEwlE,MAAM/kE,EAAEskE,MAAMvnD,EAAKvd,IACzBD,EAAIwd,EAeN,OAZAA,EAAKkjB,EAAIsmC,EAAGxB,MAAMloD,GAAKC,EAAI,EAAG,GAC9B2pD,EAAKA,EAAGhF,KAAK1kD,EAAGunD,MAAMoC,IACtB7pD,EAAKA,EAAG4kD,KAAK1kD,EAAGunD,MAAMxnD,IACtB2pD,EAAGrnE,EAAIsnE,EAAGtnE,EAAIU,EAAEV,EAIhBD,EAAI8gC,EAAIymC,EAAI5pD,EAHZ9d,GAAQ,EAGWq/D,GAAe0G,MAAMjlE,GAAGq3B,MAAMysC,WAC7C3jC,EAAIwmC,EAAI5pD,EAAI7d,EAAGq/D,GAAe0G,MAAMjlE,GAAGq3B,OAAS,EAAI,CAACuvC,EAAI5pD,GAAM,CAAC2pD,EAAI5pD,GAExE4hD,EAAU+H,EAEHrnE,GAOTqnC,EAAElQ,SAAW,WACX,OAAQiV,EAAQ/zC,OAelBgvC,EAAEmgC,YAAc,SAAU3G,EAAIH,GAE5B,OADU,MAANG,GAAYpC,EAASoC,EAAI,EAAGzC,GACzB7xC,EAAOl0B,KAAMwoE,EAAIH,EAAI,IAe9Br5B,EAAEh/B,SAAW,SAAUzH,GACrB,IAAIkK,EACF1K,EAAI/H,KACJ4H,EAAIG,EAAEH,EACNJ,EAAIO,EAAEP,EA0BR,OAvBU,OAANA,EACEI,GACF6K,EAAM,WACF7K,EAAI,IAAG6K,EAAM,IAAMA,IAEvBA,EAAM,OAGC,MAALlK,EACFkK,EAAMjL,GAAKs/D,GAAct/D,GAAKu/D,EAC3BV,EAAcJ,EAAcl+D,EAAEG,GAAIV,GAClC8+D,EAAaL,EAAcl+D,EAAEG,GAAIV,EAAG,KACxB,KAANe,GAAYu/D,EAErBr1D,EAAM6zD,EAAaL,GADnBl+D,EAAIi+B,EAAM,IAAIq/B,EAAUt9D,GAAI6+D,EAAiBp/D,EAAI,EAAGq/D,IACjB3+D,GAAIH,EAAEP,EAAG,MAE5C4+D,EAAS79D,EAAG,EAAGs/D,EAASplE,OAAQ,QAChCgQ,EAAMg0D,EAAYH,EAAaL,EAAcl+D,EAAEG,GAAIV,EAAG,KAAM,GAAIe,EAAGX,GAAG,IAGpEA,EAAI,GAAKG,EAAEG,EAAE,KAAIuK,EAAM,IAAMA,IAG5BA,GAQTu8B,EAAE+E,QAAU/E,EAAE94B,OAAS,WACrB,OAAO69B,EAAQ/zC,OAIjBgvC,EAAEk5B,cAAe,EAEG,MAAhB1B,GAAsBnB,EAAUzrD,IAAI4sD,GAEjCnB,EAsIGvnC,GACZunC,EAAS,QAAcA,EAAUA,UAAYA,OAIrC,KAANhoE,aAAqB,OAAOgoE,GAAtB,8BA/1FT,I,oFCAgB+J,EAAe,EAAQ,IAAhC3nE,QACA4nE,EAA8B,EAAQ,KAAtCA,0BA2WR,EAAO,QAAU,CAAE,MAxWnB,WAIc,WAHZ,EAGY,uDAHJ,GACR,EAEY,uDAFC,6BACb,EACY,uDADL,KACP,EAAY,uDAAF,GAGN,EAAc,EACS,kBAAhB,IACT,EAAc,CAAE,mBAAoB,IAItC,IAAM,EAAI,IAAI,EAAW,EAAa,EAAY,EAAM,GAQxD,SAAS,EAAc,GAKrB,YAJoB,IAAd,EAAE,SAAuC,OAAd,EAAE,UAEjC,EAAE,KAAO,EAAO,KAAK,EAAE,QAAS,WAE3B,EAST,KAAK,OAAL,YAAc,yGAAO,EAAP,+BAAmB,GAAnB,SACM,EAAE,IAAI,aAAc,GAAI,GAD9B,cACN,EADM,yBAEL,EAAI,MAFC,2CAWd,KAAK,YAAL,YAAmB,yGAAO,EAAP,+BAAmB,GAAnB,SACC,EAAE,IAAI,UAAW,GAAI,GADtB,WACX,EADW,QAER,GAFQ,sBAGT,IAAI,MAAJ,2BAA8B,EAAI,SAHzB,gCAKV,IALU,2CAgBnB,KAAK,iBAAL,6BAAwB,WAAO,GAAP,wFAAoB,EAApB,+BAAgC,GACjD,OAAO,UAAU,GADA,sBAEd,MAAM,oCAFQ,uBAGJnnE,EAAE,IAAF,0CACmB,GACnC,GACA,GANoB,cAGhB,EAHgB,yBAQf,EAAI,MARW,2CAAxB,sDAmBA,KAAK,oBAAL,6BAA2B,WAAO,GAAP,0FAAgB,EAAhB,+BAA4B,GAChD,OAAO,UAAU,GADG,sBACa,MAAM,gCADnB,uBAEP,EAAE,IAClB,2BACA,CAAE,IAAK,GACP,GALuB,OAOzB,GACqB,OANf,EAFmB,QAQnB,iBACoC,IAAxC,EAAI,KAAK,cAAc,aAEvB,IAAS,EAAI,EAAG,EAAI,EAAI,KAAK,cAAc,aAAa,OAAQ,IAC9D,EAAI,KAAK,cAAc,aAAa,GAAK,EACvC,EAAI,KAAK,cAAc,aAAa,IAbjB,yBAiBlB,EAAI,MAjBc,2CAA3B,sDA0BA,KAAK,SAAL,YAAgB,yGAAO,EAAP,+BAAmB,GAAnB,SACI,EAAE,IAAI,YAAa,GAAI,GAD3B,cACR,EADQ,yBAEP,EAAI,MAFG,2CAWhB,KAAK,aAAL,YAAoB,yGAAO,EAAP,+BAAmB,GAAnB,SACA,EAAE,IAAI,oBAAqB,GAAI,GAD/B,cACZ,EADY,yBAEX,EAAI,MAFO,2CAepB,KAAK,qBAAL,6BAA4B,WAC1B,GAD0B,gGAE1B,EAF0B,+BAElB,KACR,EAH0B,+BAGnB,KACP,EAJ0B,+BAIhB,KACV,EAL0B,+BAKd,GAEE,OAAV,GAAmB,OAAO,UAAU,GAPd,sBAQlB,MAAM,oCARY,UAUb,OAAT,GAAkB,OAAO,UAAU,GAVb,sBAWlB,MAAM,mCAXY,wBAaR,EAAE,IAAF,sBACD,EADC,iBAEhB,CAAE,WAAY,EAAO,UAAW,EAAM,IAAK,GAC3C,GAhBwB,QAkB1B,GAAuB,OALjB,EAboB,QAkBlB,iBAAgD,IAA1B,EAAI,KAAK,aACrC,IAAS,EAAI,EAAG,EAAI,EAAI,KAAK,aAAa,OAAQ,IAChD,EAAI,KAAK,aAAa,GAAK,EAAc,EAAI,KAAK,aAAa,IApBzC,yBAuBnB,EAAI,MAvBe,4CAA5B,sDAqCA,KAAK,4BAAL,6BAAmC,WACjC,EACA,EACA,GAHiC,gGAIjC,EAJiC,+BAIvB,KACV,EALiC,+BAKrB,GALqB,SAOf,EAAE,IAAF,sBACD,EADC,iBAEhB,CAAE,WAAU,SAAQ,IAAK,GACzB,GAV+B,OAYjC,GAAuB,OALjB,EAP2B,QAYzB,iBAAgD,IAA1B,EAAI,KAAK,aACrC,IAAS,EAAI,EAAG,EAAI,EAAI,KAAK,aAAa,OAAQ,IAChD,EAAI,KAAK,aAAa,GAAK,EAAc,EAAI,KAAK,aAAa,IAdlC,yBAiB1B,EAAI,MAjBsB,2CAAnC,0DA4BA,KAAK,gBAAL,6BAAuB,WAAO,GAAP,4FAAa,EAAb,+BAAyB,GAAzB,SACH,EAAE,IAAF,0BAAyB,GAAQ,GAAI,GADlC,cAEE,OADjB,EADe,QAEb,aACN,EAAI,KAAO,EAAc,EAAI,OAHV,kBAKd,EAAI,MALU,2CAAvB,sDAgBA,KAAK,uBAAL,6BAA8B,WAAO,EAAM,GAAb,4FAAmB,EAAnB,+BAA+B,GAA/B,SACV,EAAE,IAAF,sBACD,EADC,wBACmB,GACnC,GACA,GAJ0B,cAML,OALjB,EADsB,QAMpB,aACN,EAAI,KAAO,EAAc,EAAI,OAPH,kBASrB,EAAI,MATiB,2CAA9B,wDAmBA,KAAK,8BAAL,6BAAqC,WAAO,GAAP,4FAAa,EAAb,+BAAyB,GAAzB,SACjB,EAAE,IAAF,mCAAkC,GAAQ,GAAI,GAD7B,cAEZ,OADjB,EAD6B,QAE3B,aACN,EAAI,KAAO,EAAc,EAAI,OAHI,kBAK5B,EAAI,MALwB,2CAArC,sDAeA,KAAK,mBAAL,6BAA0B,WAAO,GAAP,4FAAa,EAAb,+BAAyB,GAAzB,SACN,EAAE,IAAF,sBAAqB,GAAQ,GAAI,GAD3B,cAClB,EADkB,yBAEjB,EAAI,MAFa,2CAA1B,sDAYA,KAAK,iBAAL,6BAAwB,WAAO,GAAP,4FAAc,EAAd,+BAA0B,GAA1B,SACJ,EAAE,IAAF,oBAAmB,GAAS,GAAI,GAD5B,cAChB,EADgB,yBAEf,EAAI,MAFW,2CAAxB,sDAWA,KAAK,aAAL,YAAoB,yGAAO,EAAP,+BAAmB,GAAnB,SACA,EAAE,IAAI,uBAAwB,GAAI,GADlC,cACZ,EADY,yBAEX,EAAI,MAFO,2CAYpB,KAAK,mBAAL,6BAA0B,WAAO,GAAP,8FAAY,EAAZ,+BAAwB,GAC1C,EAAY,EAA0B,GADpB,SAEN,EAAE,KAAK,mBAAoB,EAAO,KAAK,GAAM,GAFvC,cAElB,EAFkB,yBAGjB,EAAI,MAHa,2CAA1B,sDAaA,KAAK,oBAAL,6BAA2B,WAAO,GAAP,kGAAa,EAAb,+BAAyB,GAC5C,EAAY,EAA0B,GACtC,GAAS,QAAM,WAAU,OAAhB,UACV,EAAK,KAAI,SAAC,GAAD,OAAS,MAAM,KAAK,QAHT,SAKP,EAAE,KAClB,mBACA,EAAO,KAAK,GACZ,GARuB,cAKnB,EALmB,yBAUlB,EAAI,MAVc,2CAA3B,sDAmBA,KAAK,qBAAL,YAA4B,yGAAO,EAAP,+BAAmB,GAAnB,SACR,EAAE,IAAI,0BAA2B,GAAI,GAD7B,cACpB,EADoB,yBAEnB,EAAI,MAFe,2CAW5B,KAAK,cAAL,YAAqB,yGAAO,EAAP,+BAAmB,GAAnB,SACE,EAAK,qBAAqB,GAD5B,cACb,EADa,yBAEZ,CACL,SAAS,EACT,IAAK,EAAO,IACZ,WAAY,EAAO,UACnB,UAAW,EAAO,UAAY,IAC9B,UAAW,EAAO,UAClB,YAAa,EAAO,iBARH,2CAmBrB,KAAK,MAAL,6BAAa,WAAO,GAAP,0FAAoB,EAApB,+BAAgC,GACtC,OAAO,UAAU,GADX,sBAEH,MAAM,oCAFH,uBAGO,EAAE,IAAF,oBAAmB,GAAe,GAAI,GAH7C,OAIX,GAAuB,OADjB,EAHK,QAIH,iBAAqD,IAA/B,EAAI,KAAK,KAAK,aAC1C,IAAS,EAAI,EAAG,EAAI,EAAI,KAAK,KAAK,aAAa,OAAQ,IACrD,EAAI,KAAK,KAAK,aAAa,GAAK,EAC9B,EAAI,KAAK,KAAK,aAAa,IAPtB,yBAWJ,EAAI,MAXA,2CAAb,0D,mKCzVmB,E,kDACnB,WACE,GAGY,IAFZ,EAEY,uDAFC,mBACb,EACY,uDADY,KACxB,EAAY,uDAAF,GAAE,uCAEN,kBAAmB,EAAO,EAAY,EAAM,G,6FAMpD,8GACoB,KAAK,EAAE,IAAI,aAD/B,cACQ,EADR,yBAES,EAAI,MAFb,gD,gIASA,8GACoB,KAAK,EAAE,IAAI,eAD/B,cACQ,EADR,yBAES,EAAI,MAFb,gD,iIAeA,WACE,EACA,GAFF,0GAGE,EAHF,+BAG0B,IAAI,WAC5B,EAJF,+BAIqB,SAEb,EAAM,CACV,YAAa,EACb,mBAAoB,EACpB,gBAAiB,EACjB,sBAAuB,EAAO,KAAK,GAAW,SAAS,WAV3D,SAYoB,KAAK,EAAE,KAAK,aAAc,GAZ9C,cAYQ,EAZR,yBAaS,EAAI,MAbb,gD,wIA2BA,WAAuB,EAAkB,GAAzC,0FACQ,EAAM,CACV,UAAW,EACX,gBAAiB,GAHrB,SAKoB,KAAKA,EAAE,KAAK,kBAAmB,GALnD,cAKQ,EALR,yBAMS,EAAI,MANb,gD,2IAcA,WAA0B,GAA1B,0FACQ,EAAM,CACV,oBAAqB,GAFzB,SAIoB,KAAK,EAAE,KAAK,qBAAsB,GAJtD,cAIQ,EAJR,yBAKS,EAAI,MALb,gD,uIAeA,WAAwB,GAAxB,0FACQ,EAAM,CACV,oBAAqB,GAFzB,SAIoB,KAAK,EAAE,KAAK,mBAAoB,GAJpD,cAIQ,EAJR,yBAKS,EAAI,MALb,gD,kIAeA,WACE,EACA,EACA,GAHF,0FAKQ,EAAM,CACV,UAAW,EACX,gBAAiB,EACjB,YAAa,GARjB,SAUoB,KAAK,EAAE,KAAK,oBAAqB,GAVrD,cAUQ,EAVR,yBAWS,EAAI,MAXb,gD,mIAmBA,WAAgB,GAAhB,0FACQ,EAAM,CACV,oBAAqB,GAFzB,SAIoB,KAAK,EAAE,KAAK,kBAAmB,GAJnD,cAIQ,EAJR,yBAKS,EAAI,MALb,gD,+IAiBA,WACE,EACA,GAFF,0FAIQ,EAAM,CACV,oBAAqB,EACrB,gBAAiB,GANrB,SAQoB,KAAK,EAAE,KAAK,wBAAyB,GARzD,cAQQ,EARR,yBASS,CACL,sBAAuB,EAAO,KAC5B,EAAI,KAAK,sBACT,YAZN,gD,iIAwBA,WAAgB,EAAsB,GAAtC,0FACQ,EAAM,CACV,oBAAqB,EACrB,YAAa,EAAO,KAAK,GAAW,SAAS,WAHjD,SAKoB,KAAK,EAAE,KAAK,iBAAkB,GALlD,cAKQ,EALR,yBAMS,EAAI,MANb,gD,iIAiBA,WAAgB,EAAsB,EAAwB,GAA9D,0FACQ,EAAM,CACV,oBAAqB,EACrB,QAAS,EACT,gBAAiB,GAJrB,SAMoB,KAAK,EAAE,KAAK,iBAAkB,GANlD,cAMQ,EANR,yBAOS,CAAE,YAAa,EAAO,KAAK,EAAI,KAAK,YAAa,YAP1D,gD,qIAgBA,WAAkB,GAAlB,0FACQ,EAAM,CACV,oBAAqB,EACrB,kBAAkB,GAHtB,SAKoB,KAAK,EAAE,KAAK,UAAW,GAL3C,cAKQ,EALR,yBAMS,EAAI,MANb,gD,+HAoBA,WAAgB,EAAsB,EAAwB,GAA9D,0FACQ,EAAM,CACV,oBAAqB,EACrB,QAAS,EACT,gBAAiB,GAJrB,SAMoB,KAAK,EAAE,OAAO,UAAW,GAN7C,cAMQ,EANR,yBAOS,EAAI,MAPb,gD,kIAeA,WAAe,GAAf,0FACQ,EAAM,CACV,oBAAqB,GAFzB,SAIoB,KAAK,EAAE,KAAK,eAAgB,GAJhD,cAIQ,EAJR,yBAKS,EAAI,MALb,gD,qIAiBA,WACE,EACA,EACA,GAHF,4FAKQ,EAAK,yBAA2B,GAEhC,EAAM,CACV,oBAAqB,EACrB,gBAAiB,EACjB,YAAa,EAAO,KAAK,EAAG,UAAU,SAAS,WAVnD,SAYoB,KAAK,EAAE,KAAK,uBAAwB,GAZxD,UAcqB,OAFb,EAZR,QAcU,OAdV,yCAeW,EAAO,KAAK,EAAI,KAAK,mBAAoB,WAfpD,gCAiBS,EAAI,MAjBb,gD,8JA8BA,WACE,EACA,EACA,EACA,GAJF,4FAMQ,EAAK,yBAA2B,GAEhC,EAAM,CACV,oBAAqB,EACrB,gBAAiB,EACjB,YAAa,EAAO,KAAK,EAAG,UAAU,SAAS,UAC/C,WAAY,EAAO,KAAK,GAAW,SAAS,WAZhD,SAcoB,KAAK,EAAE,KAAK,uBAAwB,GAdxD,UAgBqB,OAFb,EAdR,QAgBU,OAhBV,yCAiBW,EAAO,KAAK,EAAI,KAAK,mBAAoB,WAjBpD,gCAmBS,EAAI,MAnBb,gD,wIA8BA,WAAmB,GAAnB,0FACQ,EAAM,CACV,oBAAqB,GAFzB,SAIoB,KAAK,EAAE,KAAK,oBAAqB,GAJrD,cAIQ,EAJR,yBAKS,EAAI,MALb,gD,oIAkBA,WACE,EACA,EACA,EACA,GAJF,0FAMQ,EAAM,CACV,oBAAqB,EACrB,iBAAkB,EAClB,YACA,OAVJ,SAYoB,KAAK,EAAE,KAAK,sBAAuB,GAZvD,cAYQ,EAZR,yBAaS,EAAI,MAbb,gD,0IA0BA,WAAqB,EAAsB,GAA3C,0FACQ,EAAM,CACV,oBAAqB,EACrB,QAAS,GAHb,SAKoB,KAAK,EAAE,KAAK,sBAAuB,GALvD,cAKQ,EALR,yBAMS,EAAI,MANb,gD,+IAqBA,WACE,EACA,EACA,EACA,EACA,GALF,4FAOQ,EAAK,yBAA2B,GAChC,EAAM,CACV,oBAAqB,EACrB,YAAa,EAAO,KAAK,EAAG,UAAU,SAAS,UAC/C,WAAY,EAAO,KAAK,GAAI,SAAS,UACrC,iBAAkB,EAClB,gBAAiB,GAbrB,SAeoB,KAAK,EAAE,KAAK,oBAAqB,GAfrD,cAeQ,EAfR,yBAgBS,EAAI,MAhBb,gD,4IA2BA,WACE,EACA,EACA,GAHF,0FAKQ,EAAM,CACV,oBAAqB,EACrB,QAAS,EACT,gBAAiB,GARrB,SAUoB,KAAK,EAAE,OAAO,eAAgB,GAVlD,cAUQ,EAVR,yBAWS,EAAI,MAXb,gD,gEArZ+B,O,sDCJjC,qDAOc,SAAU,IACtB,IAAM,EAAO,YAEb,MAAO,CAAE,KADS,gBAAsB,EAAK,WACnB,GAAI,EAAK,a,4LCK/B,EAAe,WAcrB,SAAS,EAAe,GAYtB,OAVA,EAAG,OAAO,oBAAsB,EAAO,KACrC,EAAG,OAAO,oBAAoB,WAC9B,UAGF,EAAG,OAAO,uBAAyB,EAAO,KACxC,EAAG,OAAO,uBAAuB,WACjC,UAGK,EAYT,SAAsB,EAAtB,kC,sDAAO,iJACL,EADK,EACL,OACA,EAFK,EAEL,KACA,EAHK,EAGL,gBACA,EAJK,EAIL,gBACA,EALK,EAKL,MACA,EANK,EAML,QASM,EAAW,GACX,EAAY,GAEZ,EAAiB,GACjB,EAAmB,GACnB,EAAkB,GApBnB,cAsBW,GAtBX,IAsBL,4BAAW,EAAW,SACd,IAAI,OAAS,IAAgB,OACjC,EAAM,KAAK,wBAAc,EAAE,IAAI,KAAK,YAEhC,EAAE,IAAI,aACR,EAAM,KAAN,QAAK,YAAS,EAAE,IAAI,YAAY,KAAI,SAAC,GAAD,OAAO,wBAAc,EAAE,gBAEzD,EAAE,IAAI,iBACR,EAAK,KAAL,QAAI,YAAS,EAAE,IAAI,iBACnB,EAAM,KAAN,QAAK,YACA,EAAE,IAAI,eAAe,KAAI,SAAC,GAAD,OAAU,gCAAsB,SAI5D,EAAE,IAAI,kBAAkB,EAAO,KAAP,QAAM,YAAS,EAAE,IAAI,wBAG1B,IAAnB,EAAE,IAAI,UAA6C,IAAnB,EAAE,IAAI,SACxC,EAAS,KACP,IAAI,cACF,EACA,IAAI,oBAAkB,CACpB,QAAS,wBAAc,EAAE,IAAI,KAAK,WAClC,gBAAiB,EAAE,IAAI,mBACvB,kBAAmB,EAAE,IAAI,gBACzB,iBAAkB,IAAI,yBACpB,EAAE,IAAI,aACN,EAAE,IAAI,oBAER,kBAAmB,IAAI,yBACrB,EAAE,IAAI,cACN,EAAE,IAAI,0BAMd,EAAK,KAAK,EAAE,IAAI,UAChB,EAAM,KAAK,gCAAsB,EAAE,IAAI,aA5DxC,8BAmEL,IADM,EAAgB,GACtB,kBAA0B,IAAI,IAAI,IAAlC,eAAW,EAAiC,KAC1C,EAAc,KACZ,EACG,aAAa,GACb,KACA,MAAK,SAAC,GACL,EAAM,KAAK,EAAU,OAAO,aAzE/B,iBA8EC,QAAQ,IAAI,GA9Eb,QAkFL,IADM,EAAc,GACpB,kBAAwB,IAAI,IAAI,IAAhC,eAAW,EAA6B,KACtC,EAAY,KACV,EACG,mBAAmB,GACnB,KACA,MAAK,SAAC,GACL,IAAM,EAAK,EAAe,GAC1B,EAAS,KAAK,GACd,EAAM,KAAK,EAAG,OAAO,aA1FxB,iBA8FC,QAAQ,IAAI,GA9Fb,QAiGL,IADM,EAAe,GACrB,kBAAuB,IAAI,IAAI,IAA/B,eAAW,EAA6B,KACtC,EAAa,KACX,EACG,mBAAmB,GACnB,KACA,MAAK,SAAC,GACD,iBAAkB,IAEpB,EAAS,gBAAkB,EAAS,gBAAgB,KAAI,SAAC,GAAD,OACtD,EAAe,OAGnB,EAAU,KAAK,OA7GlB,iBAiHC,QAAQ,IAAI,GAjHb,iCAmHE,IAAI,gBAAc,CACvB,KAAM,EAAK,KAAI,SAAC,GAAD,kCAAc,GAAd,IAAkB,IAAK,EAAG,IAAI,4BAC7C,SAAU,EACV,KAAM,EACN,kBACA,QACA,kBACA,aA1HG,6C,0BAoID,E,WAKJ,WAAY,GAAsB,oBAJlC,UAAe,EACf,WAAgB,GAChB,UAAe,EAGb,KAAK,KAAO,EAAG,KACf,KAAK,MAAQ,EAAG,MAChB,KAAK,KAAO,EAAG,K,4CAGjB,WACE,OAAkB,IAAd,KAAK,KACP,YAAY,EAAO,KAAK,KAAK,MAAO,UAAU,SAAS,QAElD,KAAK,KAAK,e,KAYf,E,aAOJ,WAAY,GAA6B,oBANzC,WAAgB,GAChB,UAAe,EACf,QAAa,EACb,aAAuB,GACvB,WAA4B,GAG1B,KAAK,WAAuB,IAAf,EAAK,MAAsB,GAAK,EAAK,MAClD,KAAK,KAAO,EAAK,KACjB,KAAK,GAAK,EAAK,GACf,KAAK,QAAU,EAAK,QACpB,KAAK,MAAQ,EAAK,MAAM,KACtB,SAAC,GAAD,OAA4B,IAAI,EAAiB,SAKjD,E,aAEJ,WAAY,GAA4B,oBADxC,WAA2B,GAEhB,MAAL,IACJ,KAAK,MAAQ,EAAE,KAAI,SAAC,GAAD,OAAU,IAAI,EAAgB,UAsBrD,SAAS,EAAS,EAAa,GAC7B,OAAI,EAAI,OAAS,GAAiB,EAAgB,EAChD,UAAU,EAAI,MAAM,EAAG,GAAvB,OAEK,EAGT,SAAS,EACP,EACA,GAEA,GAA2B,IAAvB,EAAY,OAAc,MAAO,GAGrC,IADA,IAAI,EAAgB,KACX,EAAM,EAAG,EAAM,EAAY,OAAQ,KACtC,EAAM,EAAY,QAKlB,KAAK,UAAU,EAAY,MAAU,KAAK,UAAU,EAAY,OAJlE,EAAgB,GASpB,GAAqB,MAAjB,EAAuB,MAAO,GAElC,IAAM,EAAa,EAAY,GAC/B,OAAI,EAAW,MAAM,OAAS,EAC5B,UAAU,EAAV,gBAA+B,EAAO,KACpC,EAAW,MACX,UACA,SAAS,QAEb,UAAU,EAAV,cAA6B,EAAW,KAAK,YAG/C,SAAS,EAAc,EAA2B,GAChD,IAAM,EAAM,EAAU,EAAM,UAAY,EACxC,iBAAW,EACR,KAAI,SAAC,GACJ,OAAQ,EAAG,MACT,KAAK,EACH,kBAAY,EAAO,KAAK,EAAG,MAAO,UAAU,SAAS,QACvD,KAAK,EACH,gBAAU,EAAG,KAAK,YACpB,QACE,MAAO,OAGZ,KAAK,MAXR,K,IAcI,E,WA0BJ,WAAY,GAAoC,oBAzBhD,iBAAwB,GACxB,qBAAwC,GACxC,iBAA+C,GAC/C,iBAA+C,GAC/C,UAA2B,EAC3B,sBAAyC,GACzC,yBAA4C,GAC5C,UAA6B,GAE7B,uBAAwC,EACxC,wBAAyC,EAEzC,cAAW,CAAC,eACZ,eAAY,CACV,oBACA,eACA,eACA,OACA,qBACA,wBACA,QAGF,YAAS,CAAC,iBAAkB,mBAG1B,KAAK,YAAc,EAAI,YACvB,KAAK,gBAAkB,EAAI,qBAC3B,KAAK,YAAc,EAAI,gBACvB,KAAK,YAAc,EAAI,gBACvB,KAAK,KAAO,EAAI,KAChB,KAAK,iBAAmB,EAAI,sBAC5B,KAAK,oBAAsB,EAAI,yBAC/B,KAAK,KAAO,EAAI,KAChB,KAAK,aAAe,IAAI,EAAY,EAAI,mBACxC,KAAK,cAAgB,IAAI,EAAY,EAAI,oB,mDAG3C,WACE,YAC2B,IAAzB,KAAK,iBACL,KAAK,gBAAgB,SAAS,Y,8BAIlC,WACE,YAC4B,IAA1B,KAAK,kBACL,KAAK,iBAAiB,SAAS,Y,sBAqDnC,SAAS,GACP,QAA0B,IAAtB,KAAK,eAA+B,KAAK,YAAa,MAAO,GAEjE,IAAI,EAAO,EAOX,YANY,IAAR,IACF,EAAO,CACL,cAjZgB,GAkZhB,iBAAiB,IAGd,EAAwB,MAC7B,KAAK,aACL,KAAK,YACL,K,uBAIJ,SAAU,GACR,QACyB,IAAvB,KAAK,oBACwB,IAA7B,KAAK,oBAEL,MAAO,GAET,IAAI,EAAO,EAOX,YANY,IAAR,IACF,EAAO,CACL,cAtagB,GAuahB,iBAAiB,IAGd,EAAwB,MAC7B,KAAK,cACL,KAAK,oBACL,M,oBAnFJ,SACE,EACA,EACA,GAMA,IAJA,IAAM,EAAW,EAAI,eA/VD,GAkWd,EAAQ,CAAC,CAAC,MAAO,MAAO,SAAU,UAAW,UAC1C,EAAM,EAAG,EAAM,EAAI,MAAM,OAAQ,IAAO,CAC/C,MAA4C,EAAI,MAAM,GAA9C,EAAR,EAAQ,KAAM,EAAd,EAAc,MAAO,EAArB,EAAqB,GAAI,EAAzB,EAAyB,QAAS,EAAlC,EAAkC,MAE5B,OAA0B,IAAZ,EAAwB,EAAU,GAChD,EACJ,EAAM,QAAoC,IAA/B,EAAI,MAAM,EAAM,GAAG,QAC1B,EAAI,MAAM,EAAM,GAAG,QACnB,GAEA,EAAgB,KAAV,EAAe,EAAY,GAA3B,aAAyC,EAAzC,OAEZ,EAAM,KAAK,CACT,EAAG,WAAW,OAAO,EAAG,KACxB,EAAK,WAAW,OAAO,EAAG,KAC1B,EAAS,EAAK,GACd,EAAS,EAAgB,EAAa,GAAc,GACpD,EAAS,EAAc,EAAO,EAAI,iBAAkB,KAKxD,IAAM,EAAa,EAAM,QAAO,SAAC,EAAM,GAErC,IADA,IAAM,EAAS,IAAI,MAAM,EAAM,GAAG,QAAQ,KAAK,GACtC,EAAM,EAAG,EAAM,EAAK,OAAQ,IACnC,EAAO,GACL,EAAK,GAAK,OAAS,EAAK,GAAO,EAAK,GAAK,OAAS,EAAK,GAE3D,OAAO,IACN,IAAI,MAAM,EAAM,GAAG,QAAQ,KAAK,IAEnC,gBAAU,EACP,KAAI,SAAC,GAAD,OACH,EACG,KAAI,SAAC,EAAG,GAAJ,OAAY,EAAE,OAAO,EAAW,GAAO,EAAG,QAC9C,KAAK,KACL,UAEJ,KAAK,MAPR,U,KAuDS,EAAb,aAIE,WAAY,GAA6B,oBAHzC,WAAgB,GAChB,qBAA0B,GAC1B,UAAkC,GAEhC,KAAK,MAAQ,EAAQ,MACrB,KAAK,gBAAkB,EAAQ,oBAC/B,KAAK,KAAO,EAAQ,KAAK,KACvB,SAAC,GAAD,OAA0C,IAAI,EAAwB,W,2ICpZhE,E,2GA/BN,EAAgB,EAAO,KAAK,CAAC,GAAI,GAAI,IAAK,MA6DhD,SAAS,EACP,EACA,EACA,GAEA,GAAiB,MAAb,GAAqB,IAAe,EACtC,OAAO,EAKT,IAFA,IAAM,EAAsB,MAAb,EAAoB,EAAI,EAE9B,EAAI,EAAG,EAAI,EAAM,OAAQ,IAChC,GAAI,IAAe,EAAM,GACvB,OAAO,EAAI,EAKf,OADA,EAAM,KAAK,GACJ,EAAM,OAAS,EAAI,GAhD5B,SAAY,GAEV,2BAGA,qBAGA,uBAGA,6BAGA,6BAdF,CAAY,MAA+B,KAoD3C,IAAa,EAAb,4CAIU,YAAS,EAAgC,SACzC,kBAAwC,GACxC,iBAAsC,IAAI,IAC1C,gBAA2B,GAC3B,WAAkB,GAR5B,6CAaE,WACE,OAAO,KAAK,SAdhB,mBAoBE,WACE,OAAO,KAAK,aAAa,SArB7B,mBA4BE,WACE,IAAM,EAAW,IAAI,EAarB,OAXA,EAAS,aAAe,KAAK,aAAa,KAAI,gBAAG,EAAH,EAAG,IAAK,EAAR,EAAQ,OAAR,MAAsB,CAElE,IAAK,cAAY,sBAAZ,2BACA,EAAI,wBADJ,IAGH,SAAK,KAEP,aAEF,EAAS,YAAc,IAAI,IAAI,KAAK,aAE7B,IA1CX,4BAmDE,SAAe,GACb,GAAI,KAAK,SAAW,EAAgC,SAClD,MAAM,IAAI,MACR,gEAIJ,GAAI,KAAK,aAAa,SAAW,EAA0B,eACzD,MAAM,IAAI,MAAJ,oFACyE,EAA0B,iBAI3G,GAAI,EAAa,IAAI,OAAS,EAAa,IAAI,MAAM,MAAK,SAAC,GAAD,OAAa,IAAN,KAC/D,MAAM,IAAI,MAAM,kDAGlB,KAAK,aAAa,KAAK,KApE3B,2BA8EE,YAwDC,MAvDC,EAuDD,EAvDC,MACA,EAsDD,EAtDC,OACA,EAqDD,EArDC,WACA,EAoDD,EApDC,OACA,EAmDD,EAnDC,gBACA,EAkDD,EAlDC,WACA,EAiDD,EAjDC,gBACA,EAgDD,EAhDC,aACA,EA+CD,EA/CC,cACA,EA8CD,EA9CC,oBACA,EA6CD,EA7CC,aACA,EA4CD,EA5CC,mBACA,EA2CD,EA3CC,WACA,EA0CD,EA1CC,MACA,EAyCD,EAzCC,KACA,EAwCD,EAxCC,MACA,EAuCD,EAvCC,QACA,EAsCD,EAtCC,OAuCA,GAAI,KAAK,SAAW,EAAgC,SAClD,MAAM,IAAI,MACR,gEAIJ,GACE,KAAK,aAAa,OAAS,EAAO,WAClC,EAA0B,eAE1B,MAAM,IAAI,MAAJ,kFACuE,EAA0B,iBAIzG,GAAc,IAAV,GACF,GACqB,MAAnB,GACgB,MAAhB,GACiB,MAAjB,GACuB,MAAvB,GACgB,MAAhB,GACsB,MAAtB,EAEA,MAAM,IAAI,MACR,0LAGC,GAAI,IAAe,IAAsB,oBAAqB,CACnE,GAAuB,MAAnB,GAA2C,MAAhB,EAC7B,MAAM,IAAI,MACR,oIAGJ,GACmB,MAAjB,GACuB,MAAvB,GACgB,MAAhB,GACsB,MAAtB,GACc,MAAd,EAEA,MAAM,IAAI,MACR,+KAGC,GACc,MAAnB,GACgB,MAAhB,GACiB,MAAjB,GACuB,MAAvB,GACgB,MAAhB,GACsB,MAAtB,GACc,MAAd,EAEA,MAAM,IAAI,MACR,yMASJ,GALkB,MAAd,IAEF,EAAa,IAGX,EAAW,SAAW,EAAO,KAAK,OACpC,MAAM,IAAI,MAAJ,yDAC8C,EAAO,KAAK,OAD1D,iBACyE,EAAW,SAa5F,IATA,IAAI,EAA2B,GAC3B,EAA6B,GAC3B,EAAmC,GACnC,EAAkC,GAClC,EAA2B,GAC3B,EAAkD,IAAI,IAEtD,EAAiC,GAAQ,GAEtC,EAAI,EAAG,EAAI,EAAW,OAAQ,IAAK,CAC1C,IAAI,EAAU,EAAO,KAAKxF,GAAG,KACvB,EAAW,EAAW,GAE5B,GAAI,YAAqB,GAAzB,CACE,IACG,YAAwB,KACxB,YAAwB,EAAS,EAAS,KAE3C,MAAM,IAAI,MAAJ,mBACQ,EADR,8CACqD,IAG7D,GAAI,EAAS,IAAI,OAAS,EAAS,IAAI,MAAM,MAAK,SAAC,GAAD,OAAa,IAAN,KACvD,MAAM,IAAI,MAAM,kDAElB,EAAQ,KAAK,OAZf,CAgBA,GAAI,YAAwB,GAC1B,MAAM,IAAI,MAAJ,+DACoD,IAe5D,GAXI,YAAmB,KACrB,EAA2B,IACzB,EAAY,OACZ,EAAc,QAEhB,EAAY,KAAK,GACjB,EAAa,KAAK,GAElB,EAAU,IAAI,IAAY,IAGL,kBAAZ,EACT,MAAM,IAAI,MAAJ,4BAA+B,IAGvC,EAAc,KAAK,GACnB,EAAe,KAAK,IAOtB,IAJA,IAAM,EAA+B,GAC/B,EAA4B,GAC5B,EAAwB,GACxB,EAA0B,GACvB,EAAI,EAAG,EAAI,EAAY,OAAQ,IAAK,CAC3C,IAAM,EAAU,EAAY,GACtB,EAAW,EAAa,GAC1B,EAAW,EAEf,OAAQ,GACN,KAAK,IAAiB,QACpB,IAAM,EAAc,IAAI,IAExB,EAAW,EADK,EAAY,OAAO,EAAY,OAAO,IACb,EAAiB,GAC1D,MAEF,KAAK,IAAiB,YACpB,IAAM,EAAa,IAAI,IAAY,IAC7B,EAAW,EAAW,OAAO,EAAW,OAAO,IACrD,GAAI,EAAW,OAAO,iBACpB,MAAM,IAAI,MAAJ,2DACgD,IAGxD,EAAW,EAAqB,OAAO,GAAW,EAAa,GAC/D,MAEF,KAAK,IAAiB,MACpB,IAAM,EAAa,IAAI,IAAY,IAC7B,EAAa,EAAW,OAAO,EAAW,OAAO,IACvD,GAAI,EAAa,OAAO,iBACtB,MAAM,IAAI,MAAJ,qDAC0C,IAGlD,EAAW,EAAqB,OAAO,GAAa,GACpD,MAEF,QACE,MAAM,IAAI,MAAJ,kCAAqC,IAG/C,EAAmB,KAAK,GAG1B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAmB,OAAQ,IAAK,CAElD,EADsB,EAA2B,IAAI,IACrB,EAAmB,GAGrD,GAAI,EAAc,OAAS,GAAkB,CAC3C,IAAM,EAAoB,EAAc,MAAM,IACxC,EAAqB,EAAe,MAAM,IAEhD,EAAgB,EAAc,MAAM,EAAG,IACvC,EAAiB,EAAe,MAAM,EAAG,IAEzC,EAAc,KAAK,IAAI,IAAa,IACpC,EAAe,KAAK,GAItB,IADA,IAAM,EAA+B,CAAC,EAAO,eACpC,GAAI,EAAG,GAAI,EAAc,OAAQ,KACxC,EAAe,KAAK,EAAc,IAAG,OAAO,EAAe,MAG7D,IAAM,GAAU,CACd,IAAK,2CAAiC,CACpC,KAAM,EACN,SAAU,EACV,QAAS,EACT,SAAU,EACV,cACA,gBACA,MAAO,EACP,WACgB,MAAd,EAAqB,IAAsB,OAAS,EACtD,kBACA,eACA,gBACA,sBACA,eACA,qBACA,aACA,QACA,OACA,UACA,oBAEF,WAGF,OAAK,cAAa,KAAlB,QAA0B,EAA1B,QAAmC,MACnC,KAAK,YAAY,IAAI,KAAK,aAAa,OAAS,EAAG,KAhWvD,wBAwWE,WACE,GAAI,KAAK,SAAW,EAAgC,SAAU,CAC5D,GAAiC,IAA7B,KAAK,aAAa,OACpB,MAAM,IAAI,MAAM,4CAEd,KAAK,aAAa,OAAS,GAC7B,wBACE,KAAK,aAAa,KAAI,SAAC,GAAD,OAAmB,EAAc,QAG3D,KAAK,OAAS,EAAgC,MAEhD,OAAO,KAAK,eApXhB,+EAiYE,2HACM,KAAK,QAAU,EAAgC,QADrD,yCAEW,KAAK,YAFhB,OAWE,IALM,EAAkB,KAAK,aACvB,EAAW,EAAgB,KAAI,SAAC,GAAD,OAAmB,EAAc,OAEhE,EAAqD,IAAI,IAEtD,EAAI,EAAG,EAAI,EAAgB,OAAQ,IAClC,EAAW,EAAgB,GAA3B,OAEH,EAAiB,IAAI,IACxB,EAAiB,IAAI,EAAQ,IAG/B,EAAiB,IAAI,GAAQ,KAAK,GAlBtC,OAqBQ,EAAiB,MAAM,KAAK,GArBpC,SAuB4B,QAAQ,IAChC,EAAe,KAAI,mCAAE,EAAF,KAAU,EAAV,YAAuB,EAAO,EAAU,OAxB/D,OA+BE,IARM,EAvBR,OA2BQ,EAAuC,EAAgB,KAC3D,kBAAM,QAIF,EAAc,EAClB,EAAc,EAAe,OAC7B,IAKA,IAHM,EAAU,EAAe,GAAa,GACtC,EAAO,EAAY,GAEhB,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAClC,EAAW,EAAQ,IAAM,EAAK,GAxCpC,GA4CO,EAAW,OAAM,SAAC,GAAD,OAAgB,MAAP,KA5CjC,uBA6CU,IAAI,MAAJ,kCAAqC,IA7C/C,eAgDQ,EAAQ,EAAW,KAAI,SAAC,EAAM,GAClC,IACE,OAAO,kCAAwB,GAAM,IAAI,OACzC,MAAO,GACP,MAAM,IAAI,MAAJ,oDACyC,EADzC,aACmD,QAK7D,KAAK,WAAa,EAClB,KAAK,MAAQ,EACb,KAAK,OAAS,EAAgC,OA5DhD,kBA8DS,GA9DT,iDAjYF,2HA+cE,WAAa,GAAb,sFACM,KAAK,OAAS,EAAgC,WADpD,sBAEU,IAAI,MAAM,2CAFpB,uBAKsB,KAAK,mBAL3B,cAKQ,EALR,gBAOQ,EAAO,mBAAmB,GAAO,KAPzC,cASE,KAAK,OAAS,EAAgC,UAThD,kBAWS,KAAK,OAXd,gDA/cF,6HA8eE,WACE,EACA,GAFF,yHAQM,KAAK,SAAW,EAAgC,UARtD,sBASU,IAAI,MACR,4DAVN,uBAcsB,KAAK,OAAO,GAdlC,cAcQ,EAdR,OAeE,KAAK,OAAS,EAAgC,UAExC,EAAuB,KAAK,aAAa,WAAU,SAAC,EAAG,GAAJ,OACvD,EAAK,YAAY,IAAI,MAEjB,GACsB,IAA1B,EAA8B,EAAI,EArBtC,UAsBiC,YAC7B,EACA,EAAM,GACN,GAzBJ,QAsBQ,EAtBR,OA2BE,KAAK,OAAS,EAAgC,UAExC,EAAyB,EAAiB,mBAE1C,EAA6B,GA/BrC,cAiCmC,KAAK,aAjCxC,uFAiCc,EAjCd,KAiCwB,EAjCxB,KAkCU,EAAO,EAAM,GAEb,EAA0B,CAC9B,OACA,eAAgB,IAAI,WACpB,UAvCN,UA4CQ,IAAa,EA5CrB,sBA6CY,EA7CZ,yCA+CkB,EAAO,8BAA8B,GAAM,KA/C7D,+BA2CY,EA3CZ,KAgDM,EAAa,OAAS,EACM,SAAxB,EAAO,QAAQ,KAjDzB,oBAmD4B,KADd,EAAiB,EAAY,MAAQ,IAClC,OAnDjB,uBAoDgB,IAAI,MAAM,mDApD1B,cAuDc,EAAU,EAAO,KAAK,EAAK,EAAK,OAAS,GAAI,WAEzC,WAAa,IACpB,EAAQ,MAAM,EAAG,GAAG,OAAO,GA1DtC,uBA4DgB,IAAI,MAAM,mDA5D1B,QA+DQ,EAAa,eAAiB,IAAI,WAAW,EAAQ,MAAM,IAC3D,EAAa,YAAc,EAAO,QAAQ,KAAK,OAC7C,EAAa,gBAjEvB,2DAqEM,EAAa,YAAb,KArEN,QAwEI,EAAc,KAAK,GAxEvB,0KA2ES,CACL,iBACA,QACA,kBA9EJ,yEA9eF,gEAES,iBAAyB,K,yCCjGhCgE,EAAOnK,QAAUoK,EAAQ,IAARA,I,6BCfnBlK,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQkL,QAsER,SAAS6nE,EAAwBC,GAC/B,IAAIC,EAAc,GAAGzrE,MAAMnE,KAAK2vE,EAAQE,iBAAiB,KAAM,GAAGrkD,QAAO,SAAUskD,EAAUC,GAC3F,OAAOD,EAASz6D,OAAQ06D,EAAGlM,WAAoB6L,EAAwBK,EAAGlM,YAAlC,CAACkM,MACxC,IACH,OAAOH,EAAYxoE,OAAO4oE,IA7D5B,IAGIC,EAAe,6CAQnB,SAASC,EAAcP,GACrB,IAAIQ,EAAWR,EAAQS,aAAe,GAAKT,EAAQU,cAAgB,EAGnE,GAAIF,IAAaR,EAAQtP,UAAW,OAAO,EAE3C,IAEE,IAAIlsC,EAAQhE,OAAOmgD,iBAAiBX,GAChCY,EAAep8C,EAAMq8C,iBAAiB,WAC1C,OAAOL,EApBY,aAoBDI,GAhBtB,SAA0BZ,EAASx7C,GACjC,MAA8C,YAAvCA,EAAMq8C,iBAAiB,aAE9Bb,EAAQc,aAAe,GAAKd,EAAQe,cAAgB,EAaKC,CAAiBhB,EAASx7C,GArBlE,SAqB2Eo8C,EAC1F,MAAOhsE,GAGP,OADAo3B,QAAQi1C,KAAK,oCACN,GAmBX,SAASC,EAAUlB,EAASmB,GAC1B,IAAIC,EAAWpB,EAAQoB,SAAStgE,cAEhC,OADUw/D,EAAa7iE,KAAK2jE,KAAcpB,EAAQn0C,UAA0B,MAAbu1C,GAAmBpB,EAAQqB,MAA2BF,IAjBvH,SAAiBnB,GAGf,IAFA,IAAIsB,EAAgBtB,EAChBuB,EAAWvB,EAAQwB,aAAexB,EAAQwB,cACvCF,GACDA,IAAkB3S,SAAShpB,MADX,CAMpB,GAFI47B,GAAYD,IAAkBC,IAAUD,EAAgBC,EAAStR,KAAKwR,YAEtElB,EAAce,GAAgB,OAAO,EACzCA,EAAgBA,EAAcG,WAEhC,OAAO,EAMOC,CAAQ1B,GAGxB,SAASK,EAASL,GAChB,IAAI77C,EAAW67C,EAAQjQ,aAAa,YACnB,OAAb5rC,IAAmBA,OAAWtyB,GAClC,IAAI8vE,EAAgB1uE,MAAMkxB,GAC1B,OAAQw9C,GAAiBx9C,GAAY,IAAM+8C,EAAUlB,GAAU2B,GASjExqE,EAAOnK,QAAUA,EAAO,S,6BC/ExBE,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQ40E,WAqBR,WACMC,IACEA,EAAcC,gBAChBD,EAAcC,gBAAgB,eACG,MAAxBD,EAAc3uE,OACvB2uE,EAAc7wE,SAAQ,SAAUgvE,GAC9B,OAAOA,EAAQ8B,gBAAgB,kBAGjCnT,SAASuR,iBAAiB2B,GAAe7wE,SAAQ,SAAUgvE,GACzD,OAAOA,EAAQ8B,gBAAgB,mBAIrCD,EAAgB,MAlClB70E,EAAQglE,IAsCR,WACMrxC,GAtCN3zB,EAAQ+0E,eAAiBA,EACzB/0E,EAAQg1E,WAoDR,SAAoBhC,GAClB,IAAIiC,EAAajC,EACjB,GAA0B,kBAAfiC,GAA2BC,EAAiB3uB,UAAW,CAChE,IAAI6sB,EAAKzR,SAASuR,iBAAiB+B,GACnCF,EAAe3B,EAAI6B,GACnBA,EAAa7B,EAGf,OADAyB,EAAgBI,GAAcJ,GA1DhC70E,EAAQm1E,gBAAkBA,EAC1Bn1E,EAAQo1E,KAwER,SAAcC,GACZ,IAAIC,GAA4B,EAC5BC,GAAoB,EACpBC,OAAiB3wE,EAErB,IACE,IAAK,IAAgE4wE,EAA5DC,EAAYP,EAAgBE,GAAY90E,OAAOE,cAAsB60E,GAA6BG,EAAQC,EAAUzwE,QAAQ9B,MAAOmyE,GAA4B,EAAM,CACnKG,EAAMx0E,MAEZuiE,aAAa,cAAe,SAEjC,MAAOliE,GACPi0E,GAAoB,EACpBC,EAAiBl0E,EARnB,QAUE,KACOg0E,GAA6BI,EAAUt2D,QAC1Cs2D,EAAUt2D,SAFd,QAKE,GAAIm2D,EACF,MAAMC,KA5Fdx1E,EAAQ21E,KAkGR,SAAcN,GACZ,IAAIO,GAA6B,EAC7BC,GAAqB,EACrBC,OAAkBjxE,EAEtB,IACE,IAAK,IAAiEkxE,EAA7DC,EAAab,EAAgBE,GAAY90E,OAAOE,cAAuBm1E,GAA8BG,EAASC,EAAW/wE,QAAQ9B,MAAOyyE,GAA6B,EAAM,CACzKG,EAAO90E,MAEb6zE,gBAAgB,gBAErB,MAAOxzE,GACPu0E,GAAqB,EACrBC,EAAkBx0E,EARpB,QAUE,KACOs0E,GAA8BI,EAAW52D,QAC5C42D,EAAW52D,SAFf,QAKE,GAAIy2D,EACF,MAAMC,KAtHd91E,EAAQi2E,6BA4HR,WACEpB,EAAgB,MA3HlB,IAMgC9zE,EAN5Bm1E,EAAW9rE,EAAQ,KAEnB+rE,GAI4Bp1E,EAJOm1E,IAIcn1E,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,GAFnFm0E,EAAmB9qE,EAAQ,KAI/B,IAAIyqE,EAAgB,KAgCpB,SAASE,EAAeqB,EAAUC,GAChC,IAAKD,IAAaA,EAASlwE,OACzB,MAAM,IAAI5D,MAAM,oDAAsD+zE,EAAW,KAerF,SAASlB,EAAgBE,GACvB,IAAIjC,EAAKiC,GAAcR,EACvB,OAAIzB,EACKpiE,MAAMC,QAAQmiE,IAAOA,aAActsB,gBAAkBssB,aAAcrsB,SAAWqsB,EAAK,CAACA,KAE3F,EAAI+C,EAAUjrE,UAAS,EAAO,CAAC,2CAA4C,iEAAkE,0DAA2D,mEAAoE,qCAAqCkO,KAAK,MAE/S,M,6BC5EXlZ,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQglE,IAyDR,WACEhmC,QAAQgmC,IAAI,kCACZhmC,QAAQgmC,IAAIsR,EAAoBC,cAAcrwE,QAC9CowE,EAAoBC,cAAcvyE,SAAQ,SAAU4H,GAClD,OAAOozB,QAAQgmC,IAAIp5D,MAErBozB,QAAQgmC,IAAI,uCA9DdhlE,EAAQ40E,WAkER,WACE0B,EAAsB,IAAIE,GA7D5B,IAAIA,EAAsB,SAASA,IACjC,IAAIC,EAAQhzE,MALd,SAAyBuF,EAAUJ,GAAe,KAAMI,aAAoBJ,GAAgB,MAAM,IAAI9D,UAAU,qCAO9GiE,CAAgBtF,KAAM+yE,GAEtB/yE,KAAK6vD,SAAW,SAAUojB,IAC2B,IAA/CD,EAAMF,cAAc3hE,QAAQ8hE,KAOhCD,EAAMF,cAAc5wE,KAAK+wE,GACzBD,EAAM/gD,KAAK,cAGbjyB,KAAKkzE,WAAa,SAAUD,GAC1B,IAAIhpE,EAAQ+oE,EAAMF,cAAc3hE,QAAQ8hE,IACzB,IAAXhpE,IAOJ+oE,EAAMF,cAAcl4B,OAAO3wC,EAAO,GAClC+oE,EAAM/gD,KAAK,gBAGbjyB,KAAKmzE,UAAY,SAAU97B,GACzB27B,EAAMI,YAAYlxE,KAAKm1C,IAGzBr3C,KAAKiyB,KAAO,SAAUohD,GACpBL,EAAMI,YAAY7yE,SAAQ,SAAU+yE,GAClC,OAAOA,EAAWD,EAElBL,EAAMF,cAAc/uE,aAIxB/D,KAAK8yE,cAAgB,GACrB9yE,KAAKozE,YAAc,IAGjBP,EAAsB,IAAIE,EAmB9Bx2E,EAAQkL,QAAUorE,G,+GCzEG,E,kDACnB,WACE,EACA,EACQ,GAAe,kCAEvB,cAAM,EAAG,IAFD,UAGR,EAAK,QAAU,EAHQ,E,wCAMzB,WACE,6BAAuB,KAAK,W,qBAiB9B,SAAQ,GAEN,OADA,KAAK,MAAM,QAAU,EACd,S,GA9BqC,KCA3B,E,kDACnB,WACE,EACA,EACQ,EACA,GAAe,kCAEvB,cAAM,EAAG,IAHD,UACA,YAGR,EAAK,QAAU,EACf,EAAK,QAAU,EAJQ,E,wCAOzB,WACE,6BAAuB,KAAK,QAA5B,mBAA8C,KAAK,a,GAbF,KCAhC,E,kDACnB,WACE,EACA,EACQ,EACA,GAAqB,kCAE7B,cAAM,EAAG,IAHD,UACA,kBAGR,EAAK,QAAU,EACf,EAAK,cAAgB,EAJQ,E,wCAO/B,WACE,6BAAuB,KAAK,QAA5B,yBAAoD,KAAK,mB,GAbF,K,QCGtC,E,kDAGnB,WAAY,EAAe,GAAmB,MAE5C,GAF4C,oBAC5C,cAAM,IACD,OAAO,UAAU,GACpB,MAAM,MAAM,oCAH8B,OAI5C,EAAK,MAAQ,EACb,EAAK,MAAQ,CAAE,OAAQ,WALqB,E,wCAQ9C,WACE,2BAAqB,KAAK,S,qBAI5B,SAAQ,GACN,GAAI,GAAQ,EAAK,WAAa,EAC5B,OAAO,SAAgB,O,GAlBM,K,iBCLd,E,0JAEnB,WACE,MAAO,e,GAH0B,KCEhB,E,kDACnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAK1E,WACE,2BAAqB,KAAK,W,GAPY,KCArB,E,kDACnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAK1E,WACE,iCAA2B,KAAK,W,GAPY,KCA3B,E,kDAGnB,WAAY,EAAe,EAA0B,GAAmB,MAEtE,GAFsE,oBACtE,cAAM,EAAG,IACJ,OAAO,UAAU,GACpB,MAAM,MAAM,oCAHwD,OAItE,EAAK,MAAQ,EAJyD,E,wCAOxE,WACE,2BAAqB,KAAK,MAA1B,a,GAXsC,K,iBCerB,E,kDAInB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EACb,EAAK,MAAM,IAAM,EAHuD,E,wCAS1E,WACE,iCAA2B,KAAK,MAAhC,Y,iBAkBF,SAAI,GAEF,OADA,KAAK,MAAM,IAAM,EACV,O,qBAIT,SAAQ,GACN,OAAO,gBAAc,sBAAsB,O,GAvCE,K,cCd5B,E,0JAEnB,WACE,MAAO,Y,iEAGT,mBAAI,IAAJ,4FAAS,EAAT,+BAAmB,GAAnB,SACoB,KAAK,EAAE,IAAI,KAAK,OAAQ,GAAI,GADhD,WACQ,EADR,QAEW,GAFX,sBAGU,IAAI,MAAJ,2BAA8B,EAAI,SAH5C,gCAKS,IALT,gD,2DANuC,KCEpB,E,kDACnB,WAAY,EAAuB,GAAY,kCAC7C,cAAM,IAD2B,OAEjC,EAAK,KAAO,EACZ,EAAK,MAAM,OAAS,UAHyB,E,2CAO/C,SAAQ,GACN,GAAI,GAAQ,EAAK,WAAa,EAC5B,OAAO,SAAgB,K,kBAK3B,WACE,yCAAmC,KAAK,Q,iBAI1C,SAAI,GAEF,OADA,KAAK,MAAM,IAAM,EACV,S,GAtBgD,KCAtC,E,kDACnB,WAAY,GAAa,kCACvB,cAAM,IACD,MAAM,OAAS,UAFG,E,wCAMzB,WACE,MAAO,6B,qBAGT,SAAQ,GACN,GAAI,GAAQ,EAAK,WAAa,EAC5B,OAAO,SAAgB,K,iBAO3B,SAAI,GAEF,OADA,KAAK,MAAM,IAAM,EACV,S,GAtBsC,KCA5B,E,kDACnB,WAAY,EAAuB,GAAe,kCAChD,cAAM,IAD2B,UAEjC,EAAK,QAAU,EACf,EAAK,MAAM,OAAS,UAH4B,E,2CAOlD,SAAQ,GACN,GAAI,GAAQ,EAAK,WAAa,EAC5B,OAAO,SAAgB,K,kBAK3B,WACE,6BAAuB,KAAK,QAA5B,2B,iBAIF,SAAI,GAEF,OADA,KAAK,MAAM,IAAM,EACV,S,GAtB+C,KCHrC,E,kDACnB,WACE,EACA,EACQ,EACA,GAAY,kCAEpB,cAAM,EAAG,IAHD,QACA,SAIR,EAAK,MAAQ,EACb,EAAK,KAAO,EALQ,E,wCAQtB,WACE,2BAAqB,KAAK,MAA1B,yBAAgD,KAAK,KAArD,Y,sBAoBF,SAAS,GAEP,OADA,KAAK,MAAM,SAAW,EACf,S,GApCsC,K,SCF5B,E,0JAEnB,WACE,MAAO,iB,GAHyB,KCEf,E,kDACnB,WAAY,EAAe,EAAkC,GAAa,MAExE,GAFwE,qBACxE,cAAM,EAAG,IADkD,SAEtD,OAAO,UAAU,GAAQ,MAAM,MAAM,8BAF8B,OAGxE,EAAK,MAAQ,EAH2D,E,wCAM1E,WACE,gDAA0C,KAAK,W,GARL,KCEzB,E,0JAEnB,WACE,MAAO,4B,qBAGT,SAAQ,GACN,MAAO,CACL,SAAS,EACT,IAAK,EAAK,IACV,WAAY,EAAK,cACjB,UAAW,EAAK,cAAgB,IAChC,UAAW,EAAK,cAChB,YAAa,EAAK,qB,GAb4B,KCJ/B,E,0JAEnB,WACE,MAAO,wB,GAHyB,KCGf,E,0JAEnB,WACE,MAAO,gB,GAH2B,KCDjB,E,kDACnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAG3D,EAAK,MAAQ,EAH2D,E,wCAM1E,WACE,2BAAqB,KAAK,MAA1B,0B,GAR+C,KCA9B,E,kDACnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAG3D,EAAK,MAAQ,EAH2D,E,wCAM1E,WACE,gCAA0B,KAAK,W,GARK,KCuCnB,E,kDAsBnB,WACE,GAOoC,IAFpC,EAEoC,uDAFvB,6BACb,EACoC,uDADZ,KACxB,EAAoC,uDAAF,GAAE,uCAE9B,mBAAoB,EAAmB,EAAY,EAAM,G,+CAcjE,WACE,OAAO,IAAI,EAAY,KAAK,K,2BAc9B,WACE,OAAO,IAAI,EAAS,KAAK,K,gCAmB3B,SAAmB,GACjB,OAAO,IAAI,UAAmB,KAAK,EAAG,K,gCAgBxC,SAAmB,GACjB,OAAO,IAAI,EAAmB,KAAK,EAAG,KAAK,YAAa,K,qCAkB1D,SAAwB,EAAiB,GACvC,OAAO,IAAI,EACT,KAAK,EACL,KAAK,YACL,EACA,K,2CAmBJ,SAA8B,EAAiB,GAC7C,OAAO,IAAI,EACT,KAAK,EACL,KAAK,YACL,EACA,K,mBAiBJ,SAAM,GACJ,OAAO,IAAI,EAAM,KAAK,EAAG,K,0BAgB3B,SAAa,GACX,OAAO,IAAI,EAAa,KAAK,EAAG,KAAK,YAAa,K,2CA0BpD,SAA8B,GAC5B,OAAO,IAAI,EAA8B,KAAK,EAAG,K,4CAwBnD,WACE,OAAO,IAAI,EAAoB,KAAK,K,yCA2BtC,SAA4B,GAC1B,OAAO,IAAI,EAA6B,KAAK,EAAG,K,oBAclD,WACE,OAAO,IAAI,EAAO,KAAK,EAAG,KAAK,e,8BAgBjC,SAAiB,GACf,OAAO,IAAI,EAAiB,KAAK,EAAG,KAAK,YAAa,K,kCAyBxD,WACE,OAAO,IAAI,EAAgB,KAAK,K,oBAclC,WACE,OAAO,IAAI,EAAO,KAAK,EAAG,KAAK,e,qBAkBjC,SAAQ,GACN,OAAO,IAAI,IAAQ,KAAK,EAAG,K,oBAiB7B,SAAO,GACL,OAAO,IAAI,IAAO,KAAK,EAAG,K,0BAiB5B,SAAa,GACX,OAAO,IAAI,EAAa,KAAK,EAAG,KAAK,YAAa,K,gCAiBpD,SAAmB,GACjB,OAAO,IAAI,EAAmB,KAAK,EAAG,KAAK,YAAa,K,qCAkB1D,SAAwB,EAAe,GACrC,OAAO,IAAI,IACT,KAAK,EACL,KAAK,YACL,EACA,K,iCAkBJ,SAAoB,GAClB,OAAO,IAAI,EAAoB,KAAK,EAAG,KAAK,YAAa,K,qBAc3D,WACE,OAAO,IAAI,EAAQ,KAAK,EAAG,KAAK,e,iCAkBlC,SAAoB,EAAe,GACjC,OAAO,IAAI,EAAoB,KAAK,EAAG,KAAK,YAAa,EAAO,K,sCAelE,SAAyB,GACvB,OAAO,IAAI,EAAsB,KAAK,EAAG,KAAK,YAAa,K,2BAe7D,SAAc,GACZ,OAAO,IAAI,EAAW,KAAK,EAAG,KAAK,YAAa,O,GAngBX,M,+GC7BpB,E,0JAKnB,WACE,MAAO,c,GANkC,KCVxB,E,kDAanB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAQ1E,WACE,2BAAqB,KAAK,MAA1B,e,mBAmBF,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,iCAkBT,SAAoB,GAElB,OADA,KAAK,MAAM,yBAA2B,EAC/B,O,8BAkBT,SAAiB,GAEf,OADA,KAAK,MAAM,sBAAwB,EAC5B,O,uBAyBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,wBA2BT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,S,GA3IsC,K,QCC5B,E,kDAanB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAQ1E,WACE,2BAAqB,KAAK,MAA1B,mB,wBAmBF,SAAW,GAET,OADA,KAAK,MAAM,eAAiB,YAAmB,GACxC,O,oBAkBT,SAAO,GAEL,OADA,KAAK,MAAM,WAAa,EACjB,O,qBAqBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,kBAmBT,SAAK,GAEH,OADA,KAAK,MAAM,KAAO,EACX,O,mBAmBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,sBAmBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,sBAmBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,qBAMT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,mBAmBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,wBAmBT,SAAW,GAET,OADA,KAAK,MAAM,eAAiB,EACrB,O,uBAmBT,SAAU,GAER,OADA,KAAK,MAAM,cAAgB,EACpB,O,iCAsBT,SAAoB,GAElB,OADA,KAAK,MAAM,yBAA2B,EAC/B,O,8BAmBT,SAAiB,GAEf,OADA,KAAK,MAAM,sBAAwB,EAC5B,O,yBAqBT,SAAY,GAEV,OADA,KAAK,MAAM,gBAAkB,EACtB,O,qBAmBT,SAAQ,GAEN,OADA,KAAK,MAAM,QAAU,EACd,O,4BAkBT,SAAe,GAEb,OADA,KAAK,MAAM,oBAAsB,EAC1B,O,uBA0BT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,S,GA9Y0C,KCDhC,E,kDAcnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAQ1E,WACE,2BAAqB,KAAK,S,wBAO5B,SAAW,GAET,OADA,KAAK,MAAM,eAAiB,EACrB,S,GAhC8B,KCApB,E,kDAcnB,WAAY,EAAe,EAAkC,GAAY,kCACvE,cAAM,EAAG,IADkD,OAE3D,EAAK,KAAO,EAF2D,E,wCAQzE,WACE,iCAA2B,KAAK,U,GAvBe,KCA9B,E,kDAcnB,WACE,EACA,EACQ,GAAe,kCAEvB,cAAM,EAAG,IAFD,UAGR,EAAK,QAAU,EAHQ,E,wCASzB,WACE,6BAAuB,KAAK,W,mBAiB9B,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,wBAyBT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,O,qBA2BT,SAAQ,GAEN,OADA,KAAK,MAAM,QAAU,EACd,S,GAtGoC,KCA1B,E,kDAcnB,WACE,EACA,EACQ,GAAe,kCAEvB,cAAM,EAAG,IAFD,UAGR,EAAK,QAAU,EAHQ,E,wCASzB,WACE,6BAAuB,KAAK,QAA5B,a,mBAmBF,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,uBAyBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,wBAiBT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,S,GAtIsC,KCA5B,E,kDAcnB,WACE,EACA,EACQ,GAAe,kCAEvB,cAAM,EAAG,IAFD,UAGR,EAAK,QAAU,EAHQ,E,wCASzB,WACE,6BAAuB,KAAK,QAA5B,qB,mBAmBF,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,uBA0BT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,wBAiBT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,S,GAvI6C,KCAnC,E,kDAcnB,WACE,EACA,EACQ,GAAe,kCAEvB,cAAM,EAAG,IAFD,UAGR,EAAK,QAAU,EAHQ,E,wCASzB,WACE,6BAAuB,KAAK,QAA5B,uB,mBAmBF,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,uBAwBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,wBAiBT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,O,2BAkBT,SAAc,GAEZ,OADA,KAAK,MAAM,kBAAoB,EACxB,S,GArI8C,KCApC,E,kDAcnB,WACE,EACA,EACQ,GAAe,kCAEvB,cAAM,EAAG,IAFD,UAGR,EAAK,QAAU,EAHQ,E,wCASzB,WACE,6BAAuB,KAAK,QAA5B,2B,mBAmBF,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,uBAyBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,wBAiBT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,O,2BAkBT,SAAc,GAEZ,OADA,KAAK,MAAM,kBAAoB,EACxB,S,GAtImD,KCAzC,E,kDAanB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAQ1E,WACE,2BAAqB,KAAK,S,wBA2B5B,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,S,GAnDkC,KCAxB,E,kDAcnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAQ1E,WACE,iCAA2B,KAAK,S,wBA2BlC,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,S,GApDqC,KCA3B,E,kDAcnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAQ1E,WACE,iCAA2B,KAAK,MAAhC,W,mBAiBF,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,sBAkBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,sBAkBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,uBAyBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,oBAkBT,SAAO,GAEL,OADA,KAAK,MAAM,kBAAoB,EACxB,O,kBAkBT,SAAK,GAEH,OADA,KAAK,MAAM,KAAO,EACX,S,GArJwC,K,SCS9B,E,0JAKnB,WACE,MAAO,iB,iCA+BT,SAAoB,GAElB,OADA,KAAK,MAAM,yBAA2B,EAC/B,O,8BA6BT,SAAiB,GAEf,OADA,KAAK,MAAM,sBAAwB,EAC5B,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,uBAyBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,sBAiBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,2BAkBT,SAAc,GAEZ,OADA,KAAK,MAAM,kBAAoB,EACxB,O,wBA2BT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,O,qBAyBT,SAAQ,GAEN,OADA,KAAK,MAAM,QAAU,EACd,S,GA5PiC,KCCvB,E,0JAKnB,WACE,MAAO,qB,wBAkBT,SAAW,GAET,OADA,KAAK,MAAM,eAAiB,YAAmB,GACxC,O,oBAiBT,SAAO,GAEL,OADA,KAAK,MAAM,WAAa,EACjB,O,qBAoBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,kBAkBT,SAAK,GAEH,OADA,KAAK,MAAM,KAAO,EACX,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,sBAkBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,sBAkBT,SAAS,GAEP,OADA,KAAK,MAAM,aAAe,EACnB,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,wBAkBT,SAAW,GAET,OADA,KAAK,MAAM,eAAiB,EACrB,O,uBAkBT,SAAU,GAER,OADA,KAAK,MAAM,cAAgB,EACpB,O,iCA+BT,SAAoB,GAElB,OADA,KAAK,MAAM,yBAA2B,EAC/B,O,8BA6BT,SAAiB,GAEf,OADA,KAAK,MAAM,sBAAwB,EAC5B,O,yBAoBT,SAAY,GAEV,OADA,KAAK,MAAM,gBAAkB,EACtB,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,QAAU,EACd,O,4BAiBT,SAAe,GAEb,OADA,KAAK,MAAM,oBAAsB,EAC1B,O,uBAyBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,qBAiBT,SAAQ,GAEN,OADA,KAAK,MAAM,YAAc,EAClB,O,2BAkBT,SAAc,GAEZ,OADA,KAAK,MAAM,kBAAoB,EACxB,S,GAlawC,KCD9B,E,0JAKnB,WACE,MAAO,e,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,qBAkBT,SAAQ,GAEN,OADA,KAAK,MAAM,QAAU,EACd,O,kBAkBT,SAAK,GAEH,OADA,KAAK,MAAM,KAAO,EACX,O,kBAkBT,SAAK,GAEH,OADA,KAAK,MAAM,KAAO,EACX,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,YAAc,EAClB,O,uBAwBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,wBAyBT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,S,GA/JkC,KCAxB,E,0JAKnB,WACE,MAAO,qB,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,kBAAoB,EACxB,O,qBAiBT,SAAQ,GAEN,OADA,KAAK,MAAM,QAAU,EACd,O,uBAwBT,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,wBAyBT,WAAuB,IAAZ,IAAY,yDAErB,OADA,KAAK,MAAM,eAAiB,EACrB,S,GAtHwC,K,QCR9B,E,kDA8BnB,WAAY,EAAe,EAAkC,GAAa,kCACxE,cAAM,EAAG,IADkD,QAE3D,EAAK,MAAQ,EAF2D,E,wCAQ1E,WACE,iCAA2B,KAAK,MAAhC,Y,uBA2BF,SAAU,GAER,OADA,KAAK,MAAM,KAAO,EACX,O,mBAkBT,SAAM,GAEJ,OADA,KAAK,MAAM,MAAQ,EACZ,O,qBAIT,SAAQ,GACN,OAAO,gBAAc,sBAAsB,O,GA7FQ,KCoClC,E,kDAsBnB,WACE,GAOoC,IAFpC,EAEoC,uDAFvB,mBACb,EACoC,uDADZ,KACxB,EAAoC,uDAAF,GAAE,uCAE9B,sBAAuB,EAAmB,EAAY,EAAM,G,mDAepE,WACE,OAAO,IAAI,EAAgB,KAAK,EAAG7yE,KAAK,e,iCAgB1C,SAAoB,GAClB,OAAO,IAAI,EAAoB,KAAK,EAAG,KAAK,YAAa,K,qCAgB3D,SAAwB,GACtB,OAAO,IAAI,EAAwB,KAAK,EAAG,KAAK,YAAa,K,uCAgB/D,SAA0B,GACxB,OAAO,IAAI,IAA0B,KAAK,EAAG,KAAK,YAAa,K,yBAgBjE,SAAY,GACV,OAAO,IAAI,EAAY,KAAK,EAAG,KAAK,YAAa,K,mCAgBnD,SAAsB,GACpB,OAAO,IAAI,EAAsB,KAAK,EAAG,KAAK,YAAa,K,+BAgB7D,SAAkB,GAChB,OAAO,IAAI,EAAkB,KAAK,EAAG,KAAK,YAAa,K,iCAgBzD,SAAoB,GAClB,OAAO,IAAI,EAAoB,KAAK,EAAG,KAAK,YAAa,K,wCAgB3D,SAA2B,GACzB,OAAO,IAAI,EAA2B,KAAK,EAAG,KAAK,YAAa,K,yCAgBlE,SAA4B,GAC1B,OAAO,IAAI,EAA4B,KAAK,EAAG,KAAK,YAAa,K,8CAgBnE,SAAiC,GAC/B,OAAO,IAAI,EACT,KAAK,EACL,KAAK,YACL,K,6BAiBJ,SAAgB,GACd,OAAO,IAAI,EAAgB,KAAK,EAAG,KAAK,YAAa,K,gCAgBvD,SAAmB,GACjB,OAAO,IAAI,EAAmB,KAAK,EAAG,KAAK,YAAa,K,mCAgB1D,SAAsB,GACpB,OAAO,IAAI,EAAsB,KAAK,EAAG,KAAK,YAAa,K,4BAc7D,WACE,OAAO,IAAI,EAAe,KAAK,EAAG,KAAK,e,mCAczC,WACE,OAAO,IAAI,EAAsB,KAAK,EAAG,KAAK,e,6BAchD,WACE,OAAO,IAAI,EAAgB,KAAK,EAAG,KAAK,e,mCAc1C,WACE,OAAO,IAAI,EAAsB,KAAK,EAAG,KAAK,e,uCA6BhD,SAA0B,GACxB,OAAO,IAAI,EAA0B,KAAK,EAAG,KAAK,YAAa,K,6CAmBjE,SAAgC,EAAe,GAC7C,OAAO,IAAI,IACT,KAAK,EACL,KAAK,YACL,EACA,O,GAnYqC,M,+ECzC5B,SAASuzE,IActB,OAbAA,EAAW92E,OAAOof,OAASpf,OAAOof,OAAO6W,OAAS,SAAU3tB,GAC1D,IAAK,IAAIrC,EAAI,EAAGA,EAAIwD,UAAUzD,OAAQC,IAAK,CACzC,IAAI0E,EAASlB,UAAUxD,GAEvB,IAAK,IAAInF,KAAO6J,EACV3K,OAAOC,UAAUE,eAAegD,KAAKwH,EAAQ7J,KAC/CwH,EAAOxH,GAAO6J,EAAO7J,IAK3B,OAAOwH,GAEFwuE,EAASptE,MAAMnG,KAAMkG,W,2BCVf+D,EAFFgxD,kBCATuY,EAAY,SAAmB5pE,EAAKpM,GACnB,oBAARoM,EAIXA,EAAIokC,QAAUxwC,EAHZoM,EAAIpM,IAyBOi2E,EAnBM,SAAwBC,EAAQC,GACnD,IAAIC,EAAc5Z,mBAClB,OAAO6Z,uBAAY,SAAUtuE,GAC3BmuE,EAAO1lC,QAAUzoC,EAEbquE,EAAY5lC,SACdwlC,EAAUI,EAAY5lC,QAAS,MAGjC4lC,EAAY5lC,QAAU2lC,EAEjBA,GAILH,EAAUG,EAASpuE,KAClB,CAACouE,KCpBFG,EAAwB,CAC1B,aAAc,IACd,aAAc,OACd39C,OAAQ,IACR49C,WAAY,SACZC,SAAU,SACVz8C,SAAU,WACV,UAAW,QACX08C,IAAK,IACLr3C,MAAO,KAGLs3C,EAAoB,SAA2Bl9C,GACjDv6B,OAAO+G,KAAKswE,GAAuBvzE,SAAQ,SAAUhD,GACnDy5B,EAAKjD,MAAMogD,YAAY52E,EAAKu2E,EAAsBv2E,GAAM,iBAOxD62E,EAAiB,KAiErB,IAAIhjD,EAAO,aAQPijD,EAAe,CAAC,oBAAqB,kBAAmB,mBAAoB,iBAAkB,YAAa,aAAc,WAAY,YAAa,aAAc,gBAAiB,aAAc,gBAAiB,cAAe,eAAgB,aACnP,UAAW,aACX,gBAAiB,gBAAiB,SAC9BC,IAASpW,SAASC,gBAAgBoW,aA+BlCC,EAA0B,SAAiC9V,GAC7D,IAAI+V,ECpIU,SAAmBj3E,GACjC,IAAIoM,EAAM8qE,SAAal3E,GAIvB,OAHAm3E,GAA0B,WACxB/qE,EAAIokC,QAAUxwC,KAEToM,ED+HcgrE,CAAUlW,GAC/BzD,2BAAgB,WACd,IAAI4Z,EAAU,SAAiB5S,GAC7BwS,EAAezmC,QAAQi0B,IAIzB,OADAlyC,OAAOgqB,iBAAiB,SAAU86B,GAC3B,WACL9kD,OAAOmqB,oBAAoB,SAAU26B,MAEtC,KAGDC,EAAmB,SAA0BC,EAAMpB,GACrD,IAAIqB,EAAoBD,EAAKC,kBACzBC,EAAUF,EAAKE,QACfC,EAAUH,EAAKG,QACfC,EAAgBJ,EAAKnmC,SACrBA,OAA6B,IAAlBumC,EAA2B/jD,EAAO+jD,EAC7CC,EAAsBL,EAAKM,eAC3BA,OAAyC,IAAxBD,EAAiChkD,EAAOgkD,EACzDpwE,EAAQyuC,YAA8BshC,EAAM,CAAC,oBAAqB,UAAW,UAAW,WAAY,mBAYxG,IAAIO,OAA+Bl0E,IAAhB4D,EAAMxH,MACrBk2E,EAAS1Z,iBAAO,MAChBpwD,EAAM6pE,EAAeC,EAAQC,GAC7B4B,EAAYvb,iBAAO,GACnBwb,EAAuBxb,mBAEvByb,EAAiB,WACnB,IAAIz+C,EAAO08C,EAAO1lC,QACd0nC,EAAiBV,GAAqBQ,EAAqBxnC,QAAUwnC,EAAqBxnC,QAvE9E,SAAuBhX,GACzC,IAAIjD,EAAQhE,OAAOmgD,iBAAiBl5C,GAEpC,GAAc,OAAVjD,EACF,OAAO,KAGT,IAnB8Bz2B,EAmB1Bq4E,GAnB0Br4E,EAmBOy2B,EAAdsgD,EAlBVjpD,QAAO,SAAU6d,EAAK2sC,GAEjC,OADA3sC,EAAI2sC,GAAQt4E,EAAIs4E,GACT3sC,IACN,KAgBC4sC,EAAYF,EAAYE,UAE5B,MAAkB,KAAdA,EACK,MAKLvB,GAAsB,eAAduB,IACVF,EAAYz/C,MAAQb,WAAWsgD,EAAYz/C,OAASb,WAAWsgD,EAAYG,kBAAoBzgD,WAAWsgD,EAAYI,iBAAmB1gD,WAAWsgD,EAAYK,cAAgB3gD,WAAWsgD,EAAYM,aAAe,MAKjN,CACLN,YAAaA,EACbO,YAJgB7gD,WAAWsgD,EAAYQ,eAAiB9gD,WAAWsgD,EAAYS,YAK/EC,WAJehhD,WAAWsgD,EAAYW,mBAAqBjhD,WAAWsgD,EAAYY,kBAkDsBC,CAAcx/C,GAEtH,GAAK0+C,EAAL,CAIAF,EAAqBxnC,QAAU0nC,EAE/B,IAAIe,EA/IR,SAA6BC,EAAYl5E,EAAO03E,EAASD,QACvC,IAAZC,IACFA,EAAU,QAGI,IAAZD,IACFA,EAAUn7D,KAGPs6D,KACHA,EAAiBlW,SAASv0D,cAAc,aACzBo2D,aAAa,YAAa,MACzCqU,EAAerU,aAAa,cAAe,QAC3CmU,EAAkBE,IAGc,OAA9BA,EAAepD,YACjB9S,SAAShpB,KAAK8qB,YAAYoU,GAG5B,IAAI8B,EAAcQ,EAAWR,YACzBG,EAAaK,EAAWL,WACxBV,EAAce,EAAWf,YACzBE,EAAYF,EAAYE,UAC5Bp5E,OAAO+G,KAAKmyE,GAAap1E,SAAQ,SAAUo2E,GACzC,IAAIp5E,EAAMo5E,EACVvC,EAAergD,MAAMx2B,GAAOo4E,EAAYp4E,MAE1C22E,EAAkBE,GAClBA,EAAe52E,MAAQA,EACvB,IAAI24B,EA1CU,SAAmBa,EAAM0/C,GACvC,IAAIvgD,EAASa,EAAKs5C,aAElB,MAAyC,eAArCoG,EAAWf,YAAYE,UAElB1/C,EAASugD,EAAWL,WAItBlgD,EAASugD,EAAWR,YAiCdU,CAAUxC,EAAgBsC,GAEvCtC,EAAe52E,MAAQ,IACvB,IAAIq5E,EAAYzC,EAAe9D,aAAe4F,EAC1CY,EAAYD,EAAY3B,EAEV,eAAdW,IACFiB,EAAYA,EAAYZ,EAAcG,GAGxClgD,EAAS9iB,KAAKoC,IAAIqhE,EAAW3gD,GAC7B,IAAI4gD,EAAYF,EAAY5B,EAO5B,MALkB,eAAdY,IACFkB,EAAYA,EAAYb,EAAcG,GAIjC,CADPlgD,EAAS9iB,KAAKC,IAAIyjE,EAAW5gD,GACb0gD,GA+FaG,CAAoBtB,EAAgB1+C,EAAKx5B,OAASw5B,EAAKwD,aAAe,IAAK06C,EAASD,GAC3G9+C,EAASsgD,EAAqB,GAC9BI,EAAYJ,EAAqB,GAEjClB,EAAUvnC,UAAY7X,IACxBo/C,EAAUvnC,QAAU7X,EACpBa,EAAKjD,MAAMogD,YAAY,SAAUh+C,EAAS,KAAM,aAChDk/C,EAAel/C,EAAQ,CACrB0gD,UAAWA,OAkBjB,OAJE5b,0BAAgBwa,GAChBjB,EAAwBiB,GAGN9rE,wBAAc,WAAY4pE,EAAS,GAAIvuE,EAAO,CAChE4pC,SAdiB,SAAsBqzB,GAClCqT,GACHG,IAGF7mC,EAASqzB,IAUTr4D,IAAKA,MAILK,EAAuBd,qBAAW2rE,GAEvB7qE,a,+KEzNXgtE,EAAkB,GAGlBC,EAAkB,GAEtB,oEACEtiD,MAAM,IACNr0B,SAAQ,SAAU42E,EAAMz0E,GACxBu0E,EAAgBE,GAAQz0E,EACxBw0E,EAAgBx0E,GAAKy0E,KCRvB,IAAa,EAAb,WASE,cAUC,IATC,EASD,EATC,QACA,EAQD,EARC,QACA,EAOD,EAPC,MACA,EAMD,EANC,SAYA,GAND,oBACC,KAAK,QAAU,EACf,KAAK,QAAU,EACf,KAAK,MAAQ,EACb,KAAK,SAAW,EAEK,IAAjB,KAAK,QACP,MAAM,IAAI,MAAJ,2CAA8C,KAAK,UAE3D,QAAsB,IAAlB,KAAK,SACP,MAAM,IAAI,MACR,gEAGJ,IAAM,EAAS,KAAK,SAAS,MAAM,KAAK,KAAI,SAAC,GAC3C,IAAM,EDtBL,SAAgBloE,GAOtB,IALA,IAAIpO,EAAS,GAETsnC,EAAQ,EACR3qC,EAAQ,EAEHkF,EAAI,EAAGA,EAAIuM,EAAOxM,OAAQC,GAAK,EAAG,CAC1C,IAAI00E,EAAUH,EAAgBhoE,EAAOvM,IAErC,QAAgBtB,IAAZg2E,EACH,MAAM,IAAIv4E,MAAM,sBAAwBoQ,EAAOvM,GAAK,KAGrD,IAAM20E,EAAiC,GAAVD,EAK7B,GAFA55E,IADA45E,GAAW,KACSjvC,EAEhBkvC,EACHlvC,GAAS,MACH,CACN,IAAMmvC,EAAwB,EAAR95E,EACtBA,KAAW,EAEP85E,EACHz2E,EAAOqB,KAAe,IAAV1E,GAAe,YAAcA,GAEzCqD,EAAOqB,KAAK1E,GAIbA,EAAQ2qC,EAAQ,GAIlB,OAAOtnC,ECdc,CAAW,GAC3B,GAAI,EAAQ,OAAS,EAAG,OAAO,EAAQ,MAIzC,KAAK,SAAW,GAChB,KAAK,SAAW,GAEhB,IAvBG,EAuBC,EAAW,EAvBhB,cAwB+B,EAAO,WAxBtC,IAwBC,2BAAgD,8BAApC,EAAoC,KAAhC,EAAgC,UAG5B,IAAd,IACF,GAAY,GAGR,KAAY,KAAK,WAAW,KAAK,SAAS,GAAY,IAE5D,KAAK,SAAS,GAAU,KAAK,GAC7B,KAAK,SAAS,GAAM,GAlCvB,+BAnBH,gDAyDE,SAAa,GACX,OAAO,KAAK,SAAS,KA1DzB,2BA6DE,SAAc,GACZ,OAAO,KAAK,SAAS,OA9DzB,M,yGtOFA,YAYA,+BACE,IAAI,EACA,EAEJ,IACE,EAAM,uBACN,EAAM,uBACN,MAAO,GACP,OAAO,KAkDT,SAAS,IAAwC,2BAAd,EAAc,yBAAd,EAAc,gBAK/C,IAJA,IAAM,EAA8C,EAAI,qBACtD,QAF6C,WAKtC,GACP,IAAM,EAAuB,EAAS,GAChC,EAAmC,CAAC,WAAY,WAAY,QAC/D,KAAI,SAAC,GAAD,OAAoB,EAAI,aAAa,MACzC,QAAO,SAAC,GACP,QAAI,GACK,EAAK,SAAS,MAK3B,GAAI,EAAW,QAAU,EAAY,CACnC,IAAM,EAAyB,EAAI,aAAa,WAChD,GAAI,EACF,SAAO,KAdJ,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,SAAjC,GAAiC,kCAmB1C,MAAO,GA6BT,IAAM,EA1BN,WACE,IAAI,EAAe,EACjB,OACA,eACA,WACA,iBAOF,OAJK,IACH,EAAO,EAAI,OAGN,EAcY,GAYrB,MAP+B,CAC7B,YAhB4B,EAC1B,cACA,iBACA,sBACA,YAaF,IALkB,EAAI,OAMtB,MA5GF,WAME,IALA,IAAM,EAA2C,EAAI,qBACnD,QAEI,EAAkB,GAEf,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,IAAM,EAAwB,EAAM,GAE9B,EAAqB,EAAK,aAAa,OAC7C,GAAI,GACE,EAAI,cAAc,QAAQ,SAAW,EAAG,CAC1C,IAAM,EAAsB,EAAK,aAAa,QAE9C,GAAI,EACF,IAC4C,IAA1C,EAAK,cAAc,QAAQ,YACc,IAAzC,EAAK,cAAc,QAAQ,UACJ,IAAvB,EAAK,QAAQ,MACb,CACA,IAAI,EAAuB,EAAI,SAAW,KAAO,EAAI,KAErD,GAA0B,IAAtB,EAAK,QAAQ,KACf,GAAgB,MACX,CACL,IAAM,EAAiB,EAAI,SAAS,MAAM,KAC1C,EAAK,MAEL,GAD0B,EAAK,KAAK,KACR,IAAM,EAGpC,EAAM,KAAK,QACN,GAA2B,IAAvB,EAAK,QAAQ,MAAa,CACnC,IAAM,EAAsB,EAAI,SAAW,EAE3C,EAAM,KAAK,QAEX,EAAM,KAAK,IAOrB,OAAO,EA2De,GAMtB,U,8BuOpIJ,kDAAI02E,EAAkD,WAClD,IAAK,IAAI3vE,EAAI,EAAGlF,EAAI,EAAG80E,EAAKtxE,UAAUzD,OAAQC,EAAI80E,EAAI90E,IAAKkF,GAAK1B,UAAUxD,GAAGD,OACxE,IAAIkF,EAAI4F,MAAM3F,GAAI6V,EAAI,EAA3B,IAA8B/a,EAAI,EAAGA,EAAI80E,EAAI90E,IACzC,IAAK,IAAImF,EAAI3B,UAAUxD,GAAIgG,EAAI,EAAG+uE,EAAK5vE,EAAEpF,OAAQiG,EAAI+uE,EAAI/uE,IAAK+U,IAC1D9V,EAAE8V,GAAK5V,EAAEa,GACjB,OAAOf,GAEP+vE,EACA,SAAqB10E,EAAMyuB,EAASgwB,GAChCzhD,KAAKgD,KAAOA,EACZhD,KAAKyxB,QAAUA,EACfzxB,KAAKyhD,GAAKA,EACVzhD,KAAKP,KAAO,WAKhBk4E,EACA,SAAkBlmD,GACdzxB,KAAKyxB,QAAUA,EACfzxB,KAAKP,KAAO,OACZO,KAAKgD,KAAO,OACZhD,KAAKyhD,GAAKvxB,EAAQ4xB,UAKtB81B,EACA,SAA6B50E,EAAMyuB,EAASgwB,EAAIo2B,GAC5C73E,KAAKgD,KAAOA,EACZhD,KAAKyxB,QAAUA,EACfzxB,KAAKyhD,GAAKA,EACVzhD,KAAK63E,IAAMA,EACX73E,KAAKP,KAAO,cAKhBq4E,EACA,WACI93E,KAAKP,KAAO,MACZO,KAAK63E,KAAM,EACX73E,KAAKgD,KAAO,MACZhD,KAAKyxB,QAAU,KACfzxB,KAAKyhD,GAAK,MAKds2B,EACA,WACI/3E,KAAKP,KAAO,eACZO,KAAKgD,KAAO,eACZhD,KAAKyxB,QAAU,KACfzxB,KAAKyhD,GAAK,MAOdu2B,EAAqB,gFAErBC,EAAiB,CACjB,CAAC,MAAO,0BACR,CAAC,OAAQ,qBACT,CAAC,WAAY,uBACb,CAAC,gBAAiB,0BAClB,CAAC,YAAa,yBACd,CAAC,UAAW,8BACZ,CAAC,OAAQ,yBACT,CAAC,OAAQ,4BACT,CAAC,SAAU,6BACX,CAAC,gBAAiB,qBAClB,CACI,mBACA,0DAEJ,CAAC,SAAU,oDACX,CAAC,YAAa,iCACd,CAAC,QAAS,6BACV,CAAC,UAAW,+BACZ,CAAC,QAAS,qBACV,CAAC,aAAc,mCACf,CAAC,QAAS,6BACV,CAAC,QAAS,2BACV,CAAC,KAAM,6CACP,CAAC,KAAM,uCACP,CAAC,KAAM,gBACP,CAAC,OAAQ,qCACT,CAAC,UAAW,uBACZ,CAAC,MAAO,0CACR,CAAC,SAAU,gCACX,CAAC,WAAY,oBACb,CAAC,YAAa,yBACd,CAAC,cAAe,mCAChB,CAAC,cAAe,qCAChB,CAAC,YArCoB,iIAuCrBC,EAAuB,CACvB,CAAC,MAAO,kBACR,CAAC,aAAc,WACf,CAAC,gBAAiB,mBAClB,CAAC,iBAAkB,YACnB,CAAC,YAAa,UACd,CAAC,eAAgB,SACjB,CAAC,aAAc,qCACf,CAAC,aAAc,wBACf,CAAC,eAAgB,mCACjB,CAAC,aAAc,iCACf,CAAC,sBAAuB,oBACxB,CAAC,gBAAiB,oBAClB,CAAC,YAAa,oBACd,CAAC,YAAa,oBACd,CAAC,cAAe,oBAChB,CAAC,aAAc,qBACf,CAAC,aAAc,cACf,CAAC,WAAY,WACb,CAAC,SAAU,SACX,CAAC,YAAa,QACd,CAAC,QAAS,iBACV,CAAC,SAAU,6BACX,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,UAEN,SAASC,EAAOhqC,GACnB,OAAMA,EACKiqC,EAAejqC,GAEF,qBAAb+vB,UACc,qBAAdtqC,WACe,gBAAtBA,UAAUykD,QACH,IAAIN,EAEU,qBAAdnkD,UACAwkD,EAAexkD,UAAUua,WA4DJ,qBAAZje,GAA2BA,EAAQuB,QACvC,IAAIkmD,EAASznD,EAAQuB,QAAQ1tB,MAAM,IAAM,KAzD7D,SAASu0E,EAAeC,GAKpB,MAAe,KAAPA,GACJN,EAAe7sD,QAAO,SAAUotD,EAASC,GACrC,IAAInnD,EAAUmnD,EAAG,GAAIC,EAAQD,EAAG,GAChC,GAAID,EACA,OAAOA,EAEX,IAAIG,EAAUD,EAAM3tB,KAAKwtB,GACzB,QAASI,GAAW,CAACrnD,EAASqnD,MAC/B,GAMJ,SAASP,EAAeG,GAC3B,IAAIK,EAAcN,EAAeC,GACjC,IAAKK,EACD,OAAO,KAEX,IAAI51E,EAAO41E,EAAY,GAAIljE,EAAQkjE,EAAY,GAC/C,GAAa,cAAT51E,EACA,OAAO,IAAI80E,EAEf,IAAIe,EAAenjE,EAAM,IAAMA,EAAM,GAAGkf,MAAM,QAAQ7wB,MAAM,EAAG,GAC3D80E,EACIA,EAAap2E,OA5GI,IA6GjBo2E,EAAetB,EAAesB,EA4B1C,SAA4B1gD,GAExB,IADA,IAAIqV,EAAS,GACJsrC,EAAK,EAAGA,EAAK3gD,EAAO2gD,IACzBtrC,EAAOtrC,KAAK,KAEhB,OAAOsrC,EAjC6CurC,CA7G3B,EA6GuEF,EAAap2E,UAIzGo2E,EAAe,GAEnB,IAAIpnD,EAAUonD,EAAaljE,KAAK,KAC5B8rC,EAOD,SAAkB82B,GACrB,IAAK,IAAIO,EAAK,EAAG3gD,EAAQ+/C,EAAqBz1E,OAAQq2E,EAAK3gD,EAAO2gD,IAAM,CACpE,IAAIL,EAAKP,EAAqBY,GAAKr3B,EAAKg3B,EAAG,GAE3C,GAFuDA,EAAG,GACxC1tB,KAAKwtB,GAEnB,OAAO92B,EAGf,OAAO,KAfEu3B,CAAST,GACdU,EAAiBjB,EAAmBjtB,KAAKwtB,GAC7C,OAAIU,GAAkBA,EAAe,GAC1B,IAAIrB,EAAoB50E,EAAMyuB,EAASgwB,EAAIw3B,EAAe,IAE9D,IAAIvB,EAAY10E,EAAMyuB,EAASgwB,M,mCCvL1C,YASA,IAAIgC,EAAe98C,EAAQ,KAAiB+8C,OAE5Ch9C,EAAOnK,QAAU,SAA6B+Q,GAC5C,GAAIm2C,EAAan2C,GAAM,CAErB,IAAIoE,EAAMvD,EAAOO,KAAKpB,EAAIqC,QAK1B,OAJIrC,EAAIwB,aAAexB,EAAIqC,OAAOb,aAEhC4C,EAAMA,EAAI3N,MAAMuJ,EAAIuB,WAAYvB,EAAIuB,WAAavB,EAAIwB,aAEhD4C,EAGP,OAAOvD,EAAOO,KAAKpB,M,sDxOtBvB,uL,2FAkBM,EAAiC,qBAArB,EAAO,UAA4B,EAAO,UAAY,EAAQ,KAI1E,E,WAaJ,WAAoB,GAA6B,WAU/C,GAV+C,oBAA7B,YANZ,YAA2B,GAC3B,aAA6B,GAC7B,oBAA2B,GAKjC,KAAK,UAAY,EAAK,SACtB,KAAK,SAAW,EAAK,QACrB,KAAK,KAAO,GACZ,KAAK,YAAc,KACnB,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,eAAiB,EAAK,eAAiB,GAC5C,KAAK,YAAc,EAAK,YAAc,IAAI,KAErC,EAAK,KAA2B,kBAAb,EAAK,IAC3B,MAAM,IAAI,MAAM,oCAGlB,KAAK,KAAO,EAAK,IAEjB,KAAK,YAAY,GAAG,UAAU,kBAAM,EAAK,mB,4CAO3C,WACE,OAAO,KAAK,QAAU,KAAK,QAAQ,YAAc,G,IALnD,SAAe,M,sBAYf,WACE,OAA2B,IAApB,KAAK,Y,IALd,SAAe,M,qBAYf,WACE,OAA2B,IAApB,KAAK,Y,IALd,SAAc,M,mBAYd,WACE,OAA2B,IAApB,KAAK,Y,IALd,SAAY,M,kBAYZ,WACE,OAA2B,IAApB,KAAK,Y,IALd,SAAW,M,kBAUJ,WACL,KAAK,kB,mBAGA,WACL,KAAK,iB,kBAGA,SAAK,EAAiB,EAAgB,GAC3C,IAAK,GAA0B,kBAAV,EACnB,MAAM,IAAI,MAAM,kCAGlB,KAAK,YAAY,CACf,MAAO,EACP,KAAM,MACN,QAAS,EACT,SAAU,M,uBAIP,SAAU,GACf,KAAK,YAAY,CACf,MAAO,EACP,KAAM,MACN,QAAS,GACT,QAAQ,M,gBAIL,SAAG,EAAe,GACvB,KAAK,QAAQ,KAAK,CAAE,QAAO,e,2BAKrB,WAAa,WACnB,IAAI,KAAK,YAAT,CAIA,IAAM,EA6GV,SAAyB,EAAc,EAAkB,G,QAMjD,GALM,EAAK,WAAW,SACxB,EAAK,QAAQ,QAAS,OACtB,EAAK,WAAW,QAChB,EAAK,QAAQ,OAAQ,MACrB,GACiB,MAAM,KACrB,EAAS,cACX,CACE,WACA,UACA,IAAK,UACL,MAAmB,QAAb,uBAAa,eAAE,OAAQ,IAE/B,CACE,WACA,UACA,KAAgB,QAAX,uBAAW,eAAE,OAAQ,IAE1B,EAAc,YAAoB,YAAe,EAAS,IAAM,IAAK,GAC3E,OAAO,EAAS,GAAK,IAAM,EAjIb,CAAgB,KAAK,KAAM,KAAK,UAAW,KAAK,UAI5D,GAFA,KAAK,YAAc,IAAI,EAAG,IAErB,KAAK,YACR,MAAM,IAAI,MAAM,2BAGlB,KAAK,YAAY,UAAY,SAAC,GAAD,OAAyB,EAAK,eAAe,IAE1E,KAAK,YAAY,OAAS,kBAAM,EAAK,eAErC,KAAK,YAAY,QAAU,SAAC,GAAD,OAAkB,EAAK,aAAa,IAE/D,KAAK,YAAY,QAAU,WACzB,YAAW,WACT,EAAK,YAAc,KACnB,EAAK,kBACJ,S,yBAIC,WACN,KAAK,eACL,KAAK,QAAU,KAAK,YACpB,KAAK,YAAc,KACnB,KAAK,sBACL,KAAK,e,0BAGC,WACF,KAAK,UACP,KAAK,QAAQ,QAAU,aAGvB,KAAK,QAAQ,W,yBAIT,SAAY,GAClB,IAAM,EAAkB,KAAK,UAAU,GAEnC,KAAK,SAAuC,IAA5B,KAAK,QAAQ,WAC/B,KAAK,QAAQ,KAAK,IAElB,KAAK,YAAY,GACjB,KAAK,mB,6EAID,WAAqB,GAArB,4FAIJ,EAAgB,KAAK,MAAM,EAAM,MAJ7B,gFASN,KAAK,YAAY,CACf,MAAO,EAAc,MACrB,KAAM,MACN,QAAS,GACT,QAAQ,IAGN,KAAK,SAAuC,IAA5B,KAAK,QAAQ,aACzB,EAAS,KAAK,QAAQ,QAAO,YAAK,MAAoB,YAAhB,EAAM,SAC9C,GAAU,EAAO,QACnB,EAAO,SAAQ,YAAK,OAAI,EAAM,SAAS,OAnBrC,wD,iFAwBA,SAAa,GACnB,IAAM,EAAS,KAAK,QAAQ,QAAO,YAAK,MAAoB,UAAhB,EAAM,SAC9C,GAAU,EAAO,QACnB,EAAO,SAAQ,YAAK,OAAI,EAAM,SAAS,Q,iCAInC,WAAmB,WACH,KAAK,eAEb,SAAQ,SAAC,GAAD,OACpB,EAAK,OAAO,KAAK,CACf,MAAO,EACP,KAAM,MACN,QAAS,GACT,QAAQ,OAIZ,KAAK,eAAiB,KAAK,KAAK,eAAiB,K,yBAG3C,SAAY,GAClB,KAAK,OAAO,KAAK,K,wBAGX,WAAU,WACF,KAAK,OAEb,SAAQ,SAAC,GAAD,OAAmC,EAAK,YAAY,MAElE,KAAK,OAAS,O,KA2BH,Q,iEyOzQT,E,WAGJ,4CACE,KAAK,eAAiB,GAEA,qBAAX,QAAsE,qBAApC,OAAe,mBAC1D,OAAO,iBAAiB,UAAU,kBAAM,EAAK,QAAQ,aACrD,OAAO,iBAAiB,WAAW,kBAAM,EAAK,QAAQ,e,sCAInD,SAAG20D,EAAqB,GAC7B,KAAK,eAAe,KAAK,CACvB,QACA,e,qBAIG,SAAQ,GACb,IAAI,EAAwC,GAExC,IACF,EAAgB,KAAK,eAAe,QAClC,SAAC,GAAD,OAAwC,EAAa,QAAU,MAInE,EAAc,SAAQ,SAAC,GACrB,EAAa,kB,KAKJ,O,iBCtCf,qBASA,WACE,aAEA,IAAI9d,EAAc,wBAEdC,EAA2B,kBAAXr0B,OAChB+G,EAAOstB,EAASr0B,OAAS,GACzB+G,EAAKoiD,sBACP90B,GAAS,GAEX,IAAIE,GAAcF,GAA0B,kBAATnmD,MACpB64B,EAAKqiD,sBAA2C,kBAAZjpD,GAAwBA,EAAQwB,UAAYxB,EAAQwB,SAASsF,KAE9GF,EAAOxiB,EACEgwC,IACTxtB,EAAO74B,MAET,IAAIg5B,GAAaH,EAAKsiD,wBAA4C,kBAAX1yE,GAAuBA,EAAOnK,QACjF46B,EAAsC95B,MACtConD,GAAgB3tB,EAAKuiD,2BAAoD,qBAAhB1qE,YACzDg2C,EAAY,mBAAmB/vB,MAAM,IACrC0kD,EAAQ,EAAE,WAAY,QAAS,MAAO,KACtC/lD,EAAQ,CAAC,GAAI,GAAI,EAAG,GACpB5L,EAAI,CACN,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,UAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,YAGlCq9B,EAAe,CAAC,MAAO,QAAS,SAAU,eAE1C5/B,EAAS,IAET0R,EAAKqiD,sBAAyB5rE,MAAMC,UACtCD,MAAMC,QAAU,SAAUlQ,GACxB,MAA+C,mBAAxCb,OAAOC,UAAUsT,SAASpQ,KAAKtC,MAItCmnD,IAAiB3tB,EAAKyiD,mCAAsC5qE,YAAYsB,SAC1EtB,YAAYsB,OAAS,SAAU3S,GAC7B,MAAsB,kBAARA,GAAoBA,EAAIqS,QAAUrS,EAAIqS,OAAO5M,cAAgB4L,cAI/E,IAAIw2C,EAAqB,SAAUC,EAAYpe,GAC7C,OAAO,SAAUtrB,GACf,OAAO,IAAI89D,EAAOxyC,GAAM,GAAM3lB,OAAO3F,GAAS0pC,OAI9CO,EAAe,SAAU3e,GAC3B,IAAIroC,EAASwmD,EAAmB,MAAOne,GACvCroC,EAAOL,OAAS,WACd,OAAO,IAAIk7E,EAAOxyC,IAEpBroC,EAAO0iB,OAAS,SAAU3F,GACxB,OAAO/c,EAAOL,SAAS+iB,OAAO3F,IAEhC,IAAK,IAAIhZ,EAAI,EAAGA,EAAIsiD,EAAaviD,SAAUC,EAAG,CAC5C,IAAIjD,EAAOulD,EAAatiD,GACxB/D,EAAOc,GAAQ0lD,EAAmB1lD,EAAMunC,GAE1C,OAAOroC,GAGL86E,EAAyB,SAAUr0B,EAAYpe,GACjD,OAAO,SAAUzpC,EAAKme,GACpB,OAAO,IAAIg+D,EAAWn8E,EAAKypC,GAAM,GAAM3lB,OAAO3F,GAAS0pC,OAIvDu0B,EAAmB,SAAU3yC,GAC/B,IAAIroC,EAAS86E,EAAuB,MAAOzyC,GAC3CroC,EAAOL,OAAS,SAAUf,GACxB,OAAO,IAAIm8E,EAAWn8E,EAAKypC,IAE7BroC,EAAO0iB,OAAS,SAAU9jB,EAAKme,GAC7B,OAAO/c,EAAOL,OAAOf,GAAK8jB,OAAO3F,IAEnC,IAAK,IAAIhZ,EAAI,EAAGA,EAAIsiD,EAAaviD,SAAUC,EAAG,CAC5C,IAAIjD,EAAOulD,EAAatiD,GACxB/D,EAAOc,GAAQg6E,EAAuBh6E,EAAMunC,GAE9C,OAAOroC,GAGT,SAAS66E,EAAOxyC,EAAM4yC,GAChBA,GACFx0D,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GACvDA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC7CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAM,EACpDplB,KAAKolB,OAASA,GAEdplB,KAAKolB,OAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGxG,KAAR4hB,GACFhnC,KAAK65E,IAAM,WACX75E,KAAK85E,IAAM,WACX95E,KAAK+5E,IAAM,WACX/5E,KAAKg6E,IAAM,UACXh6E,KAAKi6E,IAAM,WACXj6E,KAAKk6E,IAAM,UACXl6E,KAAKm6E,IAAM,UACXn6E,KAAKo6E,IAAM,WACXp6E,KAAKq6E,IAAM,WACXr6E,KAAKs6E,IAAM,WACXt6E,KAAKu6E,IAAM,WACXv6E,KAAKw6E,IAAM,WACXx6E,KAAKy6E,IAAM,WACXz6E,KAAK06E,IAAM,WACX16E,KAAK26E,IAAM,WACX36E,KAAK46E,IAAM,YACM,KAAR5zC,GACThnC,KAAK65E,IAAM,UACX75E,KAAK85E,IAAM,WACX95E,KAAK+5E,IAAM,WACX/5E,KAAKg6E,IAAM,WACXh6E,KAAKi6E,IAAM,UACXj6E,KAAKk6E,IAAM,WACXl6E,KAAKm6E,IAAM,WACXn6E,KAAKo6E,IAAM,WACXp6E,KAAKq6E,IAAM,WACXr6E,KAAKs6E,IAAM,WACXt6E,KAAKu6E,IAAM,WACXv6E,KAAKw6E,IAAM,WACXx6E,KAAKy6E,IAAM,UACXz6E,KAAK06E,IAAM,UACX16E,KAAK26E,IAAM,UACX36E,KAAK46E,IAAM,YACM,KAAR5zC,GACThnC,KAAK65E,IAAM,WACX75E,KAAK85E,IAAM,UACX95E,KAAK+5E,IAAM,WACX/5E,KAAKg6E,IAAM,WACXh6E,KAAKi6E,IAAM,UACXj6E,KAAKk6E,IAAM,UACXl6E,KAAKm6E,IAAM,WACXn6E,KAAKo6E,IAAM,WACXp6E,KAAKq6E,IAAM,UACXr6E,KAAKs6E,IAAM,WACXt6E,KAAKu6E,IAAM,WACXv6E,KAAKw6E,IAAM,SACXx6E,KAAKy6E,IAAM,WACXz6E,KAAK06E,IAAM,WACX16E,KAAK26E,IAAM,UACX36E,KAAK46E,IAAM,aAEX56E,KAAK65E,IAAM,WACX75E,KAAK85E,IAAM,WACX95E,KAAK+5E,IAAM,WACX/5E,KAAKg6E,IAAM,WACXh6E,KAAKi6E,IAAM,WACXj6E,KAAKk6E,IAAM,WACXl6E,KAAKm6E,IAAM,WACXn6E,KAAKo6E,IAAM,WACXp6E,KAAKq6E,IAAM,WACXr6E,KAAKs6E,IAAM,WACXt6E,KAAKu6E,IAAM,WACXv6E,KAAKw6E,IAAM,UACXx6E,KAAKy6E,IAAM,UACXz6E,KAAK06E,IAAM,WACX16E,KAAK26E,IAAM,WACX36E,KAAK46E,IAAM,WAEb56E,KAAKgnC,KAAOA,EAEZhnC,KAAKomD,MAAQpmD,KAAKuQ,MAAQvQ,KAAKsW,MAAQtW,KAAK66E,OAAS,EACrD76E,KAAKmmD,UAAYnmD,KAAK86E,QAAS,EAslBjC,SAASpB,EAAWn8E,EAAKypC,EAAM4yC,GAC7B,IAAIjhD,EAAWl5B,SAAclC,EAC7B,GAAa,WAATkC,EAAmB,CACrB,GAAa,WAATA,EAWF,MAAM,IAAIZ,MAAMslD,GAVhB,GAAY,OAAR5mD,EACF,MAAM,IAAIsB,MAAMslD,GACX,GAAIM,GAAgBlnD,EAAIwF,cAAgB4L,YAC7CpR,EAAM,IAAIqP,WAAWrP,QAChB,IAAKgQ,MAAMC,QAAQjQ,MACnBknD,IAAiB91C,YAAYsB,OAAO1S,IACvC,MAAM,IAAIsB,MAAMslD,GAMtBxrB,GAAY,EAEd,IAAIl2B,EAASlF,EAAIkF,OACjB,IAAKk2B,EAAW,CAEd,IADA,IAAgDxrB,EAA5CmJ,EAAQ,GAAyBrM,GAArBxH,EAASlF,EAAIkF,OAAgB,GACpCC,EAAI,EAAGA,EAAID,IAAUC,GAC5ByK,EAAO5P,EAAIoV,WAAWjQ,IACX,IACT4T,EAAMrM,KAAWkD,EACRA,EAAO,MAChBmJ,EAAMrM,KAAY,IAAQkD,GAAQ,EAClCmJ,EAAMrM,KAAY,IAAe,GAAPkD,GACjBA,EAAO,OAAUA,GAAQ,OAClCmJ,EAAMrM,KAAY,IAAQkD,GAAQ,GAClCmJ,EAAMrM,KAAY,IAASkD,GAAQ,EAAK,GACxCmJ,EAAMrM,KAAY,IAAe,GAAPkD,IAE1BA,EAAO,QAAoB,KAAPA,IAAiB,GAA6B,KAAtB5P,EAAIoV,aAAajQ,IAC7D4T,EAAMrM,KAAY,IAAQkD,GAAQ,GAClCmJ,EAAMrM,KAAY,IAASkD,GAAQ,GAAM,GACzCmJ,EAAMrM,KAAY,IAASkD,GAAQ,EAAK,GACxCmJ,EAAMrM,KAAY,IAAe,GAAPkD,GAG9B5P,EAAM+Y,EAGJ/Y,EAAIkF,OAAS,MACflF,EAAO,IAAIi8E,EAAOxyC,GAAM,GAAO3lB,OAAO9jB,GAAKqR,SAG7C,IAAImsE,EAAU,GAAIC,EAAU,GAC5B,IAASt4E,EAAI,EAAGA,EAAI,MAAOA,EAAG,CAC5B,IAAI6F,EAAIhL,EAAImF,IAAM,EAClBq4E,EAAQr4E,GAAK,GAAO6F,EACpByyE,EAAQt4E,GAAK,GAAO6F,EAGtBixE,EAAO55E,KAAKI,KAAMgnC,EAAM4yC,GAExB55E,KAAKqhB,OAAO25D,GACZh7E,KAAK+6E,QAAUA,EACf/6E,KAAKkb,OAAQ,EACblb,KAAK45E,aAAeA,EA9oBtBJ,EAAO98E,UAAU2kB,OAAS,SAAU3F,GAClC,GAAI1b,KAAKmmD,UACP,MAAM,IAAItnD,MApNO,2BAsNnB,IAAI85B,EAAWl5B,SAAcic,EAC7B,GAAa,WAATjc,EAAmB,CACrB,GAAa,WAATA,EAWF,MAAM,IAAIZ,MAAMslD,GAVhB,GAAgB,OAAZzoC,EACF,MAAM,IAAI7c,MAAMslD,GACX,GAAIM,GAAgB/oC,EAAQ3Y,cAAgB4L,YACjD+M,EAAU,IAAI9O,WAAW8O,QACpB,IAAKnO,MAAMC,QAAQkO,MACnB+oC,IAAiB91C,YAAYsB,OAAOyL,IACvC,MAAM,IAAI7c,MAAMslD,GAMtBxrB,GAAY,EAId,IAFA,IAAIxrB,EAAiBzK,EAAXuH,EAAQ,EAAMxH,EAASiZ,EAAQjZ,OAAQ2iB,EAASplB,KAAKolB,OAExDnb,EAAQxH,GAAQ,CAcrB,GAbIzC,KAAK86E,SACP96E,KAAK86E,QAAS,EACd11D,EAAO,GAAKplB,KAAKomD,MACjBhhC,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC7CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAM,GAGnDuT,EACD,IAAKj2B,EAAI1C,KAAKuQ,MAAOtG,EAAQxH,GAAUC,EAAI,MAAOuH,EAChDmb,EAAO1iB,GAAK,IAAMgZ,EAAQzR,IAAUspB,EAAY,EAAN7wB,UAG5C,IAAKA,EAAI1C,KAAKuQ,MAAOtG,EAAQxH,GAAUC,EAAI,MAAOuH,GAChDkD,EAAOuO,EAAQ/I,WAAW1I,IACf,IACTmb,EAAO1iB,GAAK,IAAMyK,GAAQomB,EAAY,EAAN7wB,KACvByK,EAAO,MAChBiY,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,IAAOomB,EAAY,EAAN7wB,KAChD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,EAAY,EAAN7wB,MACzCyK,EAAO,OAAUA,GAAQ,OAClCiY,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,KAAQomB,EAAY,EAAN7wB,KACjD0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,EAAK,KAAUomB,EAAY,EAAN7wB,KACzD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,EAAY,EAAN7wB,OAElDyK,EAAO,QAAoB,KAAPA,IAAiB,GAAqC,KAA9BuO,EAAQ/I,aAAa1I,IACjEmb,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,KAAQomB,EAAY,EAAN7wB,KACjD0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,GAAM,KAAUomB,EAAY,EAAN7wB,KAC1D0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,EAAK,KAAUomB,EAAY,EAAN7wB,KACzD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,EAAY,EAAN7wB,MAKxD1C,KAAKymD,cAAgB/jD,EACrB1C,KAAKsW,OAAS5T,EAAI1C,KAAKuQ,MACnB7N,GAAK,KACP1C,KAAKomD,MAAQhhC,EAAO,IACpBplB,KAAKuQ,MAAQ7N,EAAI,IACjB1C,KAAKwvB,OACLxvB,KAAK86E,QAAS,GAEd96E,KAAKuQ,MAAQ7N,EAOjB,OAJI1C,KAAKsW,MAAQ,aACftW,KAAK66E,QAAU76E,KAAKsW,MAAQ,YAAc,EAC1CtW,KAAKsW,MAAQtW,KAAKsW,MAAQ,YAErBtW,MAGTw5E,EAAO98E,UAAUoqD,SAAW,WAC1B,IAAI9mD,KAAKmmD,UAAT,CAGAnmD,KAAKmmD,WAAY,EACjB,IAAI/gC,EAASplB,KAAKolB,OAAQ1iB,EAAI1C,KAAKymD,cACnCrhC,EAAO,IAAMplB,KAAKomD,MAClBhhC,EAAO1iB,GAAK,IAAM42E,EAAU,EAAJ52E,GACxB1C,KAAKomD,MAAQhhC,EAAO,IAChB1iB,GAAK,MACF1C,KAAK86E,QACR96E,KAAKwvB,OAEPpK,EAAO,GAAKplB,KAAKomD,MACjBhhC,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC7CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAC9CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAM,GAEtDA,EAAO,IAAMplB,KAAK66E,QAAU,EAAI76E,KAAKsW,QAAU,GAC/C8O,EAAO,IAAMplB,KAAKsW,OAAS,EAC3BtW,KAAKwvB,SAGPgqD,EAAO98E,UAAU8yB,KAAO,WACtB,IAIwB9mB,EAAGuyE,EAAKC,EAAKC,EAAKC,EAAKn0B,EAAIC,EAAIC,EAAIC,EACzDi0B,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACnCC,EAAMC,EAAMC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EANnCvC,EAAM75E,KAAK65E,IAAKC,EAAM95E,KAAK85E,IAAKC,EAAM/5E,KAAK+5E,IAAKC,EAAMh6E,KAAKg6E,IAC7DC,EAAMj6E,KAAKi6E,IAAKC,EAAMl6E,KAAKk6E,IAAKC,EAAMn6E,KAAKm6E,IAAKC,EAAMp6E,KAAKo6E,IAC3DC,EAAMr6E,KAAKq6E,IAAKC,EAAMt6E,KAAKs6E,IAAKC,EAAMv6E,KAAKu6E,IAAKC,EAAMx6E,KAAKw6E,IAC3DC,EAAMz6E,KAAKy6E,IAAKC,EAAM16E,KAAK06E,IAAKC,EAAM36E,KAAK26E,IAAKC,EAAM56E,KAAK46E,IAC3Dx1D,EAASplB,KAAKolB,OAIhB,IAAK1c,EAAI,GAAIA,EAAI,IAAKA,GAAK,EAGzBuyE,IAFAc,EAAM32D,EAAO1c,EAAI,OAED,GADhBszE,EAAM52D,EAAO1c,EAAI,MACY,KAASqzE,IAAQ,EAAMC,GAAO,IAAQD,IAAQ,EAC3Eb,GAAQc,IAAQ,EAAMD,GAAO,KAASC,IAAQ,EAAMD,GAAO,KAASC,IAAQ,EAAKD,GAAO,IAIxFZ,IAFAY,EAAM32D,EAAO1c,EAAI,MAED,IADhBszE,EAAM52D,EAAO1c,EAAI,KACa,KAASszE,IAAQ,GAAOD,GAAO,GAAOA,IAAQ,EAC5EX,GAAQY,IAAQ,GAAOD,GAAO,KAASA,IAAQ,GAAOC,GAAO,IAAQA,IAAQ,EAAKD,GAAO,IAEzFA,EAAM32D,EAAO1c,EAAI,IACjBszE,EAAM52D,EAAO1c,EAAI,IAOjB0+C,IANA60B,EAAM72D,EAAO1c,EAAI,OAMH,KAAOqzE,IAAQ,KAAOd,IAAQ,KAAOE,IAAQ,MAD3Dh0B,GAAY,MAAN80B,IAAuB,MAANF,IAAuB,MAANd,IAAuB,MAANE,KADzDj0B,IAHAg1B,EAAM92D,EAAO1c,EAAI,OAGH,KAAOszE,IAAQ,KAAOd,IAAQ,KAAOE,IAAQ,MAD3Dn0B,GAAY,MAANi1B,IAAuB,MAANF,IAAuB,MAANd,IAAuB,MAANE,MACgB,OACQ,OACR,IAEzEh2D,EAAO1c,GAAM0+C,GAAM,GAAY,MAALD,EAC1B/hC,EAAO1c,EAAI,GAAMw+C,GAAM,GAAY,MAALD,EAGhC,IAAIo1B,EAAKxC,EAAKyC,EAAKxC,EAAKyC,EAAKxC,EAAKyC,EAAKxC,EAAKyC,EAAKxC,EAAKyC,EAAKxC,EAAKyC,EAAKxC,EAAKyC,EAAKxC,EAAKyC,EAAKxC,EAAK1K,EAAK2K,EAAKwC,EAAKvC,EAAKwC,GAAKvC,EAAKwC,GAAKvC,EAAKwC,GAAKvC,EAAK7yD,GAAK8yD,EAAK7yD,GAAK8yD,EAG/J,IAFAe,EAAMY,EAAKE,EACXb,EAAMY,EAAKE,EACNh0E,EAAI,EAAGA,EAAI,IAAKA,GAAK,EACxBuyE,GAAQoB,IAAO,GAAOC,GAAM,IAAQA,IAAO,EAAMD,GAAM,KAASC,IAAO,EAAMD,GAAM,IACnFnB,GAAQoB,IAAO,GAAOD,GAAM,IAAQA,IAAO,EAAMC,GAAM,KAASD,IAAO,EAAMC,GAAM,IAEnFnB,GAAQ0B,IAAO,GAAOlN,GAAM,KAASkN,IAAO,GAAOlN,GAAM,KAASA,IAAO,EAAMkN,GAAM,IACrFzB,GAAQzL,IAAO,GAAOkN,GAAM,KAASlN,IAAO,GAAOkN,GAAM,KAASA,IAAO,EAAMlN,GAAM,IAIrFkM,GAFAR,EAAMgB,EAAKE,GAEGF,EAAKI,EAAMd,EACzBG,GAFAR,EAAMgB,EAAKE,GAEGF,EAAKI,EAAMd,EAEzBO,EAAOU,EAAKC,GAAQD,EAAKG,GACzBZ,EAAOzM,EAAKoN,IAAQpN,EAAKsN,GAEzBlB,EAAM32D,EAAO1c,GACbszE,EAAM52D,EAAO1c,EAAI,GASjBqzE,GAFA30B,IANA60B,EAAMt0D,EAAEjf,MAMM,KAAOqzE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAOtzD,KAAO,MADzEs/B,GAAY,MAAN80B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAALtzD,MAD1Eq/B,IAHAg1B,EAAMv0D,EAAEjf,EAAI,MAGE,KAAOszE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAOtzD,KAAO,MADzEm/B,GAAY,MAANi1B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAALtzD,OACa,OACU,OACV,MAE1E,GAAY,MAALq/B,EACpB60B,EAAO90B,GAAM,GAAY,MAALD,EAOpBg1B,GAFA70B,GAAMy0B,IAAS,KAAOZ,IAAQ,MAD9B9zB,GAAa,MAAP00B,IAAwB,MAANZ,KADxB/zB,GAAM40B,IAAS,KAAOZ,IAAQ,MAD9Bj0B,GAAa,MAAP60B,IAAwB,MAANZ,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL/zB,EACpB+0B,EAAOh1B,GAAM,GAAY,MAALD,EAOpBp/B,IAFAu/B,GAAMu1B,IAAO,KAAOZ,IAAQ,MAD5B50B,GAAW,MAALw1B,IAAsB,MAANZ,KADtB70B,GAAM01B,IAAO,KAAOZ,IAAQ,MAD5B/0B,GAAW,MAAL21B,IAAsB,MAANZ,MACoB,OACI,OACJ,MAE9B,GAAY,MAAL70B,EACnBr/B,GAAMo/B,GAAM,GAAY,MAALD,EAUnBg0B,IAHA0B,GAFAv1B,GAAM60B,IAAQ,KAAOF,IAAQ,MAD7B50B,GAAY,MAAN80B,IAAuB,MAANF,KADvB70B,GAAMg1B,IAAQ,KAAOF,IAAQ,MAD7B/0B,GAAY,MAANi1B,IAAuB,MAANF,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL70B,KAGJ,IAFfy1B,EAAM11B,GAAM,GAAY,MAALD,IAES,IAAQ21B,IAAO,EAAMD,GAAM,KAASC,IAAO,EAAMD,GAAM,IACnFzB,GAAQ0B,IAAO,GAAOD,GAAM,IAAQA,IAAO,EAAMC,GAAM,KAASD,IAAO,EAAMC,GAAM,IAEnFzB,GAAQtzD,KAAO,GAAOC,IAAM,KAASD,KAAO,GAAOC,IAAM,KAASA,KAAO,EAAMD,IAAM,IACrFuzD,GAAQtzD,KAAO,GAAOD,IAAM,KAASC,KAAO,GAAOD,IAAM,KAASA,KAAO,EAAMC,IAAM,IAIrF+zD,GAFAN,EAAMoB,EAAKN,GAEGM,EAAKJ,EAAMlB,EACzBS,GAFAN,EAAMoB,EAAKN,GAEGM,EAAKJ,EAAMlB,EAEzBa,EAAOt0D,GAAKg1D,GAAQh1D,GAAKi1D,EACzBV,EAAOt0D,GAAK6nD,GAAQ7nD,GAAKi1D,GAEzBhB,EAAM32D,EAAO1c,EAAI,GACjBszE,EAAM52D,EAAO1c,EAAI,GASjBqzE,GAFA30B,IANA60B,EAAMt0D,EAAEjf,EAAI,MAME,KAAOqzE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAO6B,KAAO,MADzE71B,GAAY,MAAN80B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAAL6B,MAD1E91B,IAHAg1B,EAAMv0D,EAAEjf,EAAI,MAGE,KAAOszE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAO6B,KAAO,MADzEh2B,GAAY,MAANi1B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAAL6B,OACa,OACU,OACV,MAE1E,GAAY,MAAL91B,EACpB60B,EAAO90B,GAAM,GAAY,MAALD,EAOpBg1B,GAFA70B,GAAMy0B,IAAS,KAAOZ,IAAQ,MAD9B9zB,GAAa,MAAP00B,IAAwB,MAANZ,KADxB/zB,GAAM40B,IAAS,KAAOZ,IAAQ,MAD9Bj0B,GAAa,MAAP60B,IAAwB,MAANZ,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL/zB,EACpB+0B,EAAOh1B,GAAM,GAAY,MAALD,EAOpB+1B,IAFA51B,GAAMq1B,IAAO,KAAOV,IAAQ,MAD5B50B,GAAW,MAALs1B,IAAsB,MAANV,KADtB70B,GAAMw1B,IAAO,KAAOV,IAAQ,MAD5B/0B,GAAW,MAALy1B,IAAsB,MAANV,MACoB,OACI,OACJ,MAE9B,GAAY,MAAL70B,EACnB81B,GAAM/1B,GAAM,GAAY,MAALD,EAUnBg0B,IAHAwB,GAFAr1B,GAAM60B,IAAQ,KAAOF,IAAQ,MAD7B50B,GAAY,MAAN80B,IAAuB,MAANF,KADvB70B,GAAMg1B,IAAQ,KAAOF,IAAQ,MAD7B/0B,GAAY,MAANi1B,IAAuB,MAANF,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL70B,KAGJ,IAFfu1B,EAAMx1B,GAAM,GAAY,MAALD,IAES,IAAQy1B,IAAO,EAAMD,GAAM,KAASC,IAAO,EAAMD,GAAM,IACnFvB,GAAQwB,IAAO,GAAOD,GAAM,IAAQA,IAAO,EAAMC,GAAM,KAASD,IAAO,EAAMC,GAAM,IAEnFvB,GAAQ6B,KAAO,GAAOC,IAAM,KAASD,KAAO,GAAOC,IAAM,KAASA,KAAO,EAAMD,IAAM,IACrF5B,GAAQ6B,KAAO,GAAOD,IAAM,KAASC,KAAO,GAAOD,IAAM,KAASA,KAAO,EAAMC,IAAM,IAIrFpB,GAFAJ,EAAMgB,EAAKE,GAEGF,EAAKJ,EAAMd,EACzBO,GAFAJ,EAAMgB,EAAKE,GAEGF,EAAKJ,EAAMd,EAEzBW,EAAOa,GAAKn1D,IAAQm1D,GAAKH,EACzBT,EAAOa,GAAKn1D,IAAQm1D,GAAKtN,EAEzBoM,EAAM32D,EAAO1c,EAAI,GACjBszE,EAAM52D,EAAO1c,EAAI,GASjBqzE,GAFA30B,IANA60B,EAAMt0D,EAAEjf,EAAI,MAME,KAAOqzE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAO2B,IAAO,MADzE31B,GAAY,MAAN80B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAAL2B,KAD1E51B,IAHAg1B,EAAMv0D,EAAEjf,EAAI,MAGE,KAAOszE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAO2B,KAAO,MADzE91B,GAAY,MAANi1B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAAL2B,OACa,OACU,OACV,MAE1E,GAAY,MAAL51B,EACpB60B,EAAO90B,GAAM,GAAY,MAALD,EAOpBg1B,GAFA70B,GAAMy0B,IAAS,KAAOZ,IAAQ,MAD9B9zB,GAAa,MAAP00B,IAAwB,MAANZ,KADxB/zB,GAAM40B,IAAS,KAAOZ,IAAQ,MAD9Bj0B,GAAa,MAAP60B,IAAwB,MAANZ,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL/zB,EACpB+0B,EAAOh1B,GAAM,GAAY,MAALD,EAOpB61B,GAFA11B,GAAMm1B,IAAO,KAAOR,IAAQ,MAD5B50B,GAAW,MAALo1B,IAAsB,MAANR,KADtB70B,GAAMs1B,IAAO,KAAOR,IAAQ,MAD5B/0B,GAAW,MAALu1B,IAAsB,MAANR,MACoB,OACI,OACJ,MAE9B,GAAY,MAAL70B,EACnB41B,GAAM71B,GAAM,GAAY,MAALD,EAUnBg0B,IAHAsB,GAFAn1B,GAAM60B,IAAQ,KAAOF,IAAQ,MAD7B50B,GAAY,MAAN80B,IAAuB,MAANF,KADvB70B,GAAMg1B,IAAQ,KAAOF,IAAQ,MAD7B/0B,GAAY,MAANi1B,IAAuB,MAANF,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL70B,KAGJ,IAFfq1B,EAAMt1B,GAAM,GAAY,MAALD,IAES,IAAQu1B,IAAO,EAAMD,GAAM,KAASC,IAAO,EAAMD,GAAM,IACnFrB,GAAQsB,IAAO,GAAOD,GAAM,IAAQA,IAAO,EAAMC,GAAM,KAASD,IAAO,EAAMC,GAAM,IAEnFrB,GAAQ2B,IAAO,GAAOC,IAAM,KAASD,IAAO,GAAOC,IAAM,KAASA,KAAO,EAAMD,GAAM,IACrF1B,GAAQ2B,KAAO,GAAOD,GAAM,KAASC,KAAO,GAAOD,GAAM,KAASA,IAAO,EAAMC,IAAM,IAIrFlB,GAFAF,EAAMY,EAAKE,GAEGF,EAAKI,EAAMlB,EACzBK,GAFAF,EAAMY,EAAKE,GAEGF,EAAKI,EAAMlB,EAEzBS,EAAOW,EAAKE,IAAQF,EAAKj1D,GACzBu0D,EAAOW,GAAKE,IAAQF,GAAKj1D,GAEzBi0D,EAAM32D,EAAO1c,EAAI,GACjBszE,EAAM52D,EAAO1c,EAAI,GASjBqzE,GAFA30B,IANA60B,EAAMt0D,EAAEjf,EAAI,MAME,KAAOqzE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAO0B,IAAO,MADzE11B,GAAY,MAAN80B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAAL0B,KAD1E31B,IAHAg1B,EAAMv0D,EAAEjf,EAAI,MAGE,KAAOszE,IAAQ,KAAOI,IAAQ,KAAOhB,IAAQ,KAAOzL,IAAO,MADzE1oB,GAAY,MAANi1B,IAAuB,MAANF,IAAuB,MAANI,IAAuB,MAANhB,IAAsB,MAALzL,MACa,OACU,OACV,MAE1E,GAAY,MAALxoB,EACpB60B,EAAO90B,GAAM,GAAY,MAALD,EAOpBg1B,GAFA70B,GAAMy0B,IAAS,KAAOZ,IAAQ,MAD9B9zB,GAAa,MAAP00B,IAAwB,MAANZ,KADxB/zB,GAAM40B,IAAS,KAAOZ,IAAQ,MAD9Bj0B,GAAa,MAAP60B,IAAwB,MAANZ,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL/zB,EACpB+0B,EAAOh1B,GAAM,GAAY,MAALD,EAOpB41B,GAFAz1B,GAAMi1B,IAAO,KAAON,IAAQ,MAD5B50B,GAAW,MAALk1B,IAAsB,MAANN,KADtB70B,GAAMo1B,IAAO,KAAON,IAAQ,MAD5B/0B,GAAW,MAALq1B,IAAsB,MAANN,MACoB,OACI,OACJ,MAE9B,GAAY,MAAL70B,EACnBwoB,EAAMzoB,GAAM,GAAY,MAALD,EAOnBo1B,GAFAj1B,GAAM60B,IAAQ,KAAOF,IAAQ,MAD7B50B,GAAY,MAAN80B,IAAuB,MAANF,KADvB70B,GAAMg1B,IAAQ,KAAOF,IAAQ,MAD7B/0B,GAAY,MAANi1B,IAAuB,MAANF,MACoB,OACI,OACJ,MAE/B,GAAY,MAAL70B,EACnBm1B,EAAMp1B,GAAM,GAAY,MAALD,EAMrBG,GAAMyyB,IAAQ,KAAOwC,IAAO,MAD5Bl1B,GAAY,MAAN0yB,IAAsB,MAALwC,KADvBn1B,GAAM4yB,IAAQ,KAAOwC,IAAO,MAD5Br1B,GAAY,MAAN6yB,IAAsB,MAALwC,MACmB,OACI,OACJ,IAE1Ct8E,KAAK65E,IAAOzyB,GAAM,GAAY,MAALD,EACzBnnD,KAAK85E,IAAO5yB,GAAM,GAAY,MAALD,EAKzBG,GAAM2yB,IAAQ,KAAOwC,IAAO,MAD5Bp1B,GAAY,MAAN4yB,IAAsB,MAALwC,KADvBr1B,GAAM8yB,IAAQ,KAAOwC,IAAO,MAD5Bv1B,GAAY,MAAN+yB,IAAsB,MAALwC,MACmB,OACI,OACJ,IAE1Cx8E,KAAK+5E,IAAO3yB,GAAM,GAAY,MAALD,EACzBnnD,KAAKg6E,IAAO9yB,GAAM,GAAY,MAALD,EAKzBG,GAAM6yB,IAAQ,KAAOwC,IAAO,MAD5Bt1B,GAAY,MAAN8yB,IAAsB,MAALwC,KADvBv1B,GAAMgzB,IAAQ,KAAOwC,IAAO,MAD5Bz1B,GAAY,MAANizB,IAAsB,MAALwC,MACmB,OACI,OACJ,IAE1C18E,KAAKi6E,IAAO7yB,GAAM,GAAY,MAALD,EACzBnnD,KAAKk6E,IAAOhzB,GAAM,GAAY,MAALD,EAKzBG,GAAM+yB,IAAQ,KAAOwC,IAAO,MAD5Bx1B,GAAY,MAANgzB,IAAsB,MAALwC,KADvBz1B,GAAMkzB,IAAQ,KAAOwC,IAAO,MAD5B31B,GAAY,MAANmzB,IAAsB,MAALwC,MACmB,OACI,OACJ,IAE1C58E,KAAKm6E,IAAO/yB,GAAM,GAAY,MAALD,EACzBnnD,KAAKo6E,IAAOlzB,GAAM,GAAY,MAALD,EAKzBG,GAAMizB,IAAQ,KAAOwC,IAAO,MAD5B11B,GAAY,MAANkzB,IAAsB,MAALwC,KADvB31B,GAAMozB,IAAQ,KAAO3K,IAAO,MAD5B1oB,GAAY,MAANqzB,IAAsB,MAAL3K,MACmB,OACI,OACJ,IAE1C3vE,KAAKq6E,IAAOjzB,GAAM,GAAY,MAALD,EACzBnnD,KAAKs6E,IAAOpzB,GAAM,GAAY,MAALD,EAKzBG,GAAMmzB,IAAQ,KAAOuC,IAAO,MAD5B31B,GAAY,MAANozB,IAAsB,MAALuC,KADvB51B,GAAMszB,IAAQ,KAAOuC,KAAO,MAD5B91B,GAAY,MAANuzB,IAAsB,MAALuC,OACmB,OACI,OACJ,IAE1C/8E,KAAKu6E,IAAOnzB,GAAM,GAAY,MAALD,EACzBnnD,KAAKw6E,IAAOtzB,GAAM,GAAY,MAALD,EAKzBG,GAAMqzB,IAAQ,KAAOuC,KAAO,MAD5B71B,GAAY,MAANszB,IAAsB,MAALuC,MADvB91B,GAAMwzB,IAAQ,KAAOuC,KAAO,MAD5Bh2B,GAAY,MAANyzB,IAAsB,MAALuC,OACmB,OACI,OACJ,IAE1Cj9E,KAAKy6E,IAAOrzB,GAAM,GAAY,MAALD,EACzBnnD,KAAK06E,IAAOxzB,GAAM,GAAY,MAALD,EAKzBG,GAAMuzB,IAAQ,KAAO9yD,KAAO,MAD5Bs/B,GAAY,MAANwzB,IAAsB,MAAL9yD,MADvBq/B,GAAM0zB,IAAQ,KAAO9yD,KAAO,MAD5Bm/B,GAAY,MAAN2zB,IAAsB,MAAL9yD,OACmB,OACI,OACJ,IAE1C9nB,KAAK26E,IAAOvzB,GAAM,GAAY,MAALD,EACzBnnD,KAAK46E,IAAO1zB,GAAM,GAAY,MAALD,GAG3BuyB,EAAO98E,UAAU61C,IAAM,WACrBvyC,KAAK8mD,WAEL,IAAI+yB,EAAM75E,KAAK65E,IAAKC,EAAM95E,KAAK85E,IAAKC,EAAM/5E,KAAK+5E,IAAKC,EAAMh6E,KAAKg6E,IAC7DC,EAAMj6E,KAAKi6E,IAAKC,EAAMl6E,KAAKk6E,IAAKC,EAAMn6E,KAAKm6E,IAAKC,EAAMp6E,KAAKo6E,IAC3DC,EAAMr6E,KAAKq6E,IAAKC,EAAMt6E,KAAKs6E,IAAKC,EAAMv6E,KAAKu6E,IAAKC,EAAMx6E,KAAKw6E,IAC3DC,EAAMz6E,KAAKy6E,IAAKC,EAAM16E,KAAK06E,IAAKC,EAAM36E,KAAK26E,IAAKC,EAAM56E,KAAK46E,IAC3D5zC,EAAOhnC,KAAKgnC,KAEVuL,EAAMoS,EAAWk1B,GAAO,GAAM,IAAQl1B,EAAWk1B,GAAO,GAAM,IAChEl1B,EAAWk1B,GAAO,GAAM,IAAQl1B,EAAWk1B,GAAO,GAAM,IACxDl1B,EAAWk1B,GAAO,GAAM,IAAQl1B,EAAWk1B,GAAO,EAAK,IACvDl1B,EAAWk1B,GAAO,EAAK,IAAQl1B,EAAgB,GAANk1B,GACzCl1B,EAAWm1B,GAAO,GAAM,IAAQn1B,EAAWm1B,GAAO,GAAM,IACxDn1B,EAAWm1B,GAAO,GAAM,IAAQn1B,EAAWm1B,GAAO,GAAM,IACxDn1B,EAAWm1B,GAAO,GAAM,IAAQn1B,EAAWm1B,GAAO,EAAK,IACvDn1B,EAAWm1B,GAAO,EAAK,IAAQn1B,EAAgB,GAANm1B,GACzCn1B,EAAWo1B,GAAO,GAAM,IAAQp1B,EAAWo1B,GAAO,GAAM,IACxDp1B,EAAWo1B,GAAO,GAAM,IAAQp1B,EAAWo1B,GAAO,GAAM,IACxDp1B,EAAWo1B,GAAO,GAAM,IAAQp1B,EAAWo1B,GAAO,EAAK,IACvDp1B,EAAWo1B,GAAO,EAAK,IAAQp1B,EAAgB,GAANo1B,GACzCp1B,EAAWq1B,GAAO,GAAM,IAAQr1B,EAAWq1B,GAAO,GAAM,IACxDr1B,EAAWq1B,GAAO,GAAM,IAAQr1B,EAAWq1B,GAAO,GAAM,IACxDr1B,EAAWq1B,GAAO,GAAM,IAAQr1B,EAAWq1B,GAAO,EAAK,IACvDr1B,EAAWq1B,GAAO,EAAK,IAAQr1B,EAAgB,GAANq1B,GACzCr1B,EAAWs1B,GAAO,GAAM,IAAQt1B,EAAWs1B,GAAO,GAAM,IACxDt1B,EAAWs1B,GAAO,GAAM,IAAQt1B,EAAWs1B,GAAO,GAAM,IACxDt1B,EAAWs1B,GAAO,GAAM,IAAQt1B,EAAWs1B,GAAO,EAAK,IACvDt1B,EAAWs1B,GAAO,EAAK,IAAQt1B,EAAgB,GAANs1B,GACzCt1B,EAAWu1B,GAAO,GAAM,IAAQv1B,EAAWu1B,GAAO,GAAM,IACxDv1B,EAAWu1B,GAAO,GAAM,IAAQv1B,EAAWu1B,GAAO,GAAM,IACxDv1B,EAAWu1B,GAAO,GAAM,IAAQv1B,EAAWu1B,GAAO,EAAK,IACvDv1B,EAAWu1B,GAAO,EAAK,IAAQv1B,EAAgB,GAANu1B,GACzCv1B,EAAWw1B,GAAO,GAAM,IAAQx1B,EAAWw1B,GAAO,GAAM,IACxDx1B,EAAWw1B,GAAO,GAAM,IAAQx1B,EAAWw1B,GAAO,GAAM,IACxDx1B,EAAWw1B,GAAO,GAAM,IAAQx1B,EAAWw1B,GAAO,EAAK,IACvDx1B,EAAWw1B,GAAO,EAAK,IAAQx1B,EAAgB,GAANw1B,GA2C3C,OA1CInzC,GAAQ,MACVuL,GAAOoS,EAAWy1B,GAAO,GAAM,IAAQz1B,EAAWy1B,GAAO,GAAM,IAC7Dz1B,EAAWy1B,GAAO,GAAM,IAAQz1B,EAAWy1B,GAAO,GAAM,IACxDz1B,EAAWy1B,GAAO,GAAM,IAAQz1B,EAAWy1B,GAAO,EAAK,IACvDz1B,EAAWy1B,GAAO,EAAK,IAAQz1B,EAAgB,GAANy1B,IAEzCpzC,GAAQ,MACVuL,GAAOoS,EAAW01B,GAAO,GAAM,IAAQ11B,EAAW01B,GAAO,GAAM,IAC7D11B,EAAW01B,GAAO,GAAM,IAAQ11B,EAAW01B,GAAO,GAAM,IACxD11B,EAAW01B,GAAO,GAAM,IAAQ11B,EAAW01B,GAAO,EAAK,IACvD11B,EAAW01B,GAAO,EAAK,IAAQ11B,EAAgB,GAAN01B,GACzC11B,EAAW21B,GAAO,GAAM,IAAQ31B,EAAW21B,GAAO,GAAM,IACxD31B,EAAW21B,GAAO,GAAM,IAAQ31B,EAAW21B,GAAO,GAAM,IACxD31B,EAAW21B,GAAO,GAAM,IAAQ31B,EAAW21B,GAAO,EAAK,IACvD31B,EAAW21B,GAAO,EAAK,IAAQ31B,EAAgB,GAAN21B,GACzC31B,EAAW41B,GAAO,GAAM,IAAQ51B,EAAW41B,GAAO,GAAM,IACxD51B,EAAW41B,GAAO,GAAM,IAAQ51B,EAAW41B,GAAO,GAAM,IACxD51B,EAAW41B,GAAO,GAAM,IAAQ51B,EAAW41B,GAAO,EAAK,IACvD51B,EAAW41B,GAAO,EAAK,IAAQ51B,EAAgB,GAAN41B,GACzC51B,EAAW61B,GAAO,GAAM,IAAQ71B,EAAW61B,GAAO,GAAM,IACxD71B,EAAW61B,GAAO,GAAM,IAAQ71B,EAAW61B,GAAO,GAAM,IACxD71B,EAAW61B,GAAO,GAAM,IAAQ71B,EAAW61B,GAAO,EAAK,IACvD71B,EAAW61B,GAAO,EAAK,IAAQ71B,EAAgB,GAAN61B,IAEjC,KAARxzC,IACFuL,GAAOoS,EAAW81B,GAAO,GAAM,IAAQ91B,EAAW81B,GAAO,GAAM,IAC7D91B,EAAW81B,GAAO,GAAM,IAAQ91B,EAAW81B,GAAO,GAAM,IACxD91B,EAAW81B,GAAO,GAAM,IAAQ91B,EAAW81B,GAAO,EAAK,IACvD91B,EAAW81B,GAAO,EAAK,IAAQ91B,EAAgB,GAAN81B,GACzC91B,EAAW+1B,GAAO,GAAM,IAAQ/1B,EAAW+1B,GAAO,GAAM,IACxD/1B,EAAW+1B,GAAO,GAAM,IAAQ/1B,EAAW+1B,GAAO,GAAM,IACxD/1B,EAAW+1B,GAAO,GAAM,IAAQ/1B,EAAW+1B,GAAO,EAAK,IACvD/1B,EAAW+1B,GAAO,EAAK,IAAQ/1B,EAAgB,GAAN+1B,GACzC/1B,EAAWg2B,GAAO,GAAM,IAAQh2B,EAAWg2B,GAAO,GAAM,IACxDh2B,EAAWg2B,GAAO,GAAM,IAAQh2B,EAAWg2B,GAAO,GAAM,IACxDh2B,EAAWg2B,GAAO,GAAM,IAAQh2B,EAAWg2B,GAAO,EAAK,IACvDh2B,EAAWg2B,GAAO,EAAK,IAAQh2B,EAAgB,GAANg2B,GACzCh2B,EAAWi2B,GAAO,GAAM,IAAQj2B,EAAWi2B,GAAO,GAAM,IACxDj2B,EAAWi2B,GAAO,GAAM,IAAQj2B,EAAWi2B,GAAO,GAAM,IACxDj2B,EAAWi2B,GAAO,GAAM,IAAQj2B,EAAWi2B,GAAO,EAAK,IACvDj2B,EAAWi2B,GAAO,EAAK,IAAQj2B,EAAgB,GAANi2B,IAEtCroC,GAGTinC,EAAO98E,UAAUsT,SAAWwpE,EAAO98E,UAAU61C,IAE7CinC,EAAO98E,UAAUqqD,OAAS,WACxB/mD,KAAK8mD,WAEL,IAAI+yB,EAAM75E,KAAK65E,IAAKC,EAAM95E,KAAK85E,IAAKC,EAAM/5E,KAAK+5E,IAAKC,EAAMh6E,KAAKg6E,IAC7DC,EAAMj6E,KAAKi6E,IAAKC,EAAMl6E,KAAKk6E,IAAKC,EAAMn6E,KAAKm6E,IAAKC,EAAMp6E,KAAKo6E,IAC3DC,EAAMr6E,KAAKq6E,IAAKC,EAAMt6E,KAAKs6E,IAAKC,EAAMv6E,KAAKu6E,IAAKC,EAAMx6E,KAAKw6E,IAC3DC,EAAMz6E,KAAKy6E,IAAKC,EAAM16E,KAAK06E,IAAKC,EAAM36E,KAAK26E,IAAKC,EAAM56E,KAAK46E,IAC3D5zC,EAAOhnC,KAAKgnC,KAEV15B,EAAM,CACPusE,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,GAsB7D,OAnBInzC,GAAQ,KACV15B,EAAIpL,KAAMk4E,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,GAElEpzC,GAAQ,KACV15B,EAAIpL,KACDm4E,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,GAGnD,KAARxzC,GACF15B,EAAIpL,KACDu4E,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,EAC1DC,GAAO,GAAM,IAAOA,GAAO,GAAM,IAAOA,GAAO,EAAK,IAAY,IAANA,GAGxDttE,GAGTksE,EAAO98E,UAAUkS,MAAQ4qE,EAAO98E,UAAUqqD,OAE1CyyB,EAAO98E,UAAUi6C,YAAc,WAC7B32C,KAAK8mD,WAEL,IAAI9f,EAAOhnC,KAAKgnC,KACZr3B,EAAS,IAAIhB,YAAYq4B,EAAO,GAChCk2C,EAAW,IAAI1mC,SAAS7mC,GAwB5B,OAvBAutE,EAASpvB,UAAU,EAAG9tD,KAAK65E,KAC3BqD,EAASpvB,UAAU,EAAG9tD,KAAK85E,KAC3BoD,EAASpvB,UAAU,EAAG9tD,KAAK+5E,KAC3BmD,EAASpvB,UAAU,GAAI9tD,KAAKg6E,KAC5BkD,EAASpvB,UAAU,GAAI9tD,KAAKi6E,KAC5BiD,EAASpvB,UAAU,GAAI9tD,KAAKk6E,KAC5BgD,EAASpvB,UAAU,GAAI9tD,KAAKm6E,KAExBnzC,GAAQ,KACVk2C,EAASpvB,UAAU,GAAI9tD,KAAKo6E,KAE1BpzC,GAAQ,MACVk2C,EAASpvB,UAAU,GAAI9tD,KAAKq6E,KAC5B6C,EAASpvB,UAAU,GAAI9tD,KAAKs6E,KAC5B4C,EAASpvB,UAAU,GAAI9tD,KAAKu6E,KAC5B2C,EAASpvB,UAAU,GAAI9tD,KAAKw6E,MAElB,KAARxzC,IACFk2C,EAASpvB,UAAU,GAAI9tD,KAAKy6E,KAC5ByC,EAASpvB,UAAU,GAAI9tD,KAAK06E,KAC5BwC,EAASpvB,UAAU,GAAI9tD,KAAK26E,KAC5BuC,EAASpvB,UAAU,GAAI9tD,KAAK46E,MAEvBjrE,GAGT6pE,EAAO98E,UAAUohC,MAAQ,WACvB,IAAItO,EAAO,IAAIgqD,EAAOx5E,KAAKgnC,MAAM,GAEjC,OADAhnC,KAAKm9E,OAAO3tD,GACLA,GAGTgqD,EAAO98E,UAAUygF,OAAS,SAAU3tD,GAClC,IAAI9sB,EAAI,EAAG06E,EAAQ,CACjB,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACzG,QAAS,QAAS,SAAU,YAAa,SAAU,iBAErD,IAAK16E,EAAI,EAAGA,EAAI06E,EAAM36E,SAAUC,EAC9B8sB,EAAK4tD,EAAM16E,IAAM1C,KAAKo9E,EAAM16E,IAE9B,IAAKA,EAAI,EAAGA,EAAI1C,KAAKolB,OAAO3iB,SAAUC,EACpC8sB,EAAKpK,OAAO1iB,GAAK1C,KAAKolB,OAAO1iB,IAiEjCg3E,EAAWh9E,UAAY,IAAI88E,EAE3BE,EAAWh9E,UAAUoqD,SAAW,WAE9B,GADA0yB,EAAO98E,UAAUoqD,SAASlnD,KAAKI,MAC3BA,KAAKkb,MAAO,CACdlb,KAAKkb,OAAQ,EACb,IAAImiE,EAAYr9E,KAAK4O,QACrB4qE,EAAO55E,KAAKI,KAAMA,KAAKgnC,KAAMhnC,KAAK45E,cAClC55E,KAAKqhB,OAAOrhB,KAAK+6E,SACjB/6E,KAAKqhB,OAAOg8D,GACZ7D,EAAO98E,UAAUoqD,SAASlnD,KAAKI,QAInC05E,EAAWh9E,UAAUohC,MAAQ,WAC3B,IAAItO,EAAO,IAAIkqD,EAAW,GAAI15E,KAAKgnC,MAAM,GACzChnC,KAAKm9E,OAAO3tD,GACZA,EAAKtU,MAAQlb,KAAKkb,MAClB,IAAK,IAAIxY,EAAI,EAAGA,EAAI1C,KAAK+6E,QAAQt4E,SAAUC,EACzC8sB,EAAKurD,QAAQr4E,GAAK1C,KAAK+6E,QAAQr4E,GAEjC,OAAO8sB,GAGT,IAAIjzB,EAAUopD,EAAa,KAC3BppD,EAAQ+gF,OAAS/gF,EACjBA,EAAQghF,OAAS53B,EAAa,KAC9BppD,EAAQihF,WAAa73B,EAAa,KAClCppD,EAAQkhF,WAAa93B,EAAa,KAClCppD,EAAQ+gF,OAAOI,KAAO/D,EAAiB,KACvCp9E,EAAQghF,OAAOG,KAAO/D,EAAiB,KACvCp9E,EAAQihF,WAAWE,KAAO/D,EAAiB,KAC3Cp9E,EAAQkhF,WAAWC,KAAO/D,EAAiB,KAEvC1iD,EACFvwB,EAAOnK,QAAUA,GAEjBu6B,EAAKwmD,OAAS/gF,EAAQ+gF,OACtBxmD,EAAKymD,OAAShhF,EAAQghF,OACtBzmD,EAAK0mD,WAAajhF,EAAQihF,WAC1B1mD,EAAK2mD,WAAalhF,EAAQkhF,WACtBtmD,SACI,KAAN95B,aACE,OAAOd,GADH,gCAh5BZ,K,wCCTA,IAAIohF,EAAiBh3E,EAAQ,KAAsBspC,UAC/C2tC,EAAiBj3E,EAAQ,KAE7BD,EAAOnK,QAAU,SAAS+zC,GACtB,MAAQ,CACJU,MAAO4sC,EAAWttC,GAClBL,UAAW0tC,IAInBj3E,EAAOnK,QAAQy0C,MAAQ4sC,IACvBl3E,EAAOnK,QAAQ0zC,UAAY0tC,G,6BCqBrB,SAAU,EACd,EACA,EACA,GAEA,OAAkB,MAAd,EAA2B,GACxB,EAAW,KAAI,SAAC,GAAD,OAnCxB,SACE,EACA,EACA,GAEA,IAAM,EAAc,EAAU,SACxB,EAAgBE,EAAU,KAC1B,EAAiC,IAAhB,GAAqB,IAAgB,EACxD,EAAQ,EASZ,GAPmB,MAAf,IAEF,EAAQ,EAAY,QAAQ,GAAe,GAK/B,IAAV,IAAgB,EAGlB,MAAM,IAAI,MAAJ,6BAAgC,EAAhC,yBAER,MAAO,CAAE,EAAG,EAAO,EAAG,GAcpB,CAAsB,EAAI,EAAa,MApC3C,mC,gBCHA,IAAMC,EAAqB,EAAQ,KAC7BC,EAAe,EAAQ,KACvBC,EAAqB,EAAQ,KAC7BC,EAAgB,EAAQ,KACxBC,EAAsB,EAAQ,KAEpC,EAAO,QAAU,CACf,WAAY,EAAmB,WAC/B,0BAA2B,EAAmB,0BAC9C,eAAgB,EAAmB,eACnC,KAAM,EAAa,KACnB,8BAA+B,EAAa,8BAC5C,WAAY,EAAmB,WAC/B,yBAA0B,EAAmB,yBAC7C,MAAO,EAAc,MACrB,yBAA0B,EAAc,yBACxC,gBAAiB,EAAoB,gBACrC,wCACE,EAAoB,0C,6HCQH,E,WAWnB,cAOa,IANX,EAMW,EANX,UACA,EAKW,EALX,UACA,EAIW,EAJX,MACA,EAGW,EAHX,WACA,EAEW,EAFX,UACA,EACW,EADX,SACW,iBAAAC,GAjBb,UAAO,MACP,SAAM,EAAO,KAAK,CAAC,GAAI,KAiBrB,IAAM,EAAmB,gBAAsB,GACzC,EAAoB,gBAAsB,GAEhD,IAAK,OAAO,cAAc,IAAc,EAAY,EAClD,MAAM,MAAM,0CACd,IAAK,OAAO,cAAc,IAAU,EAAQ,EAC1C,MAAM,MAAM,qCACd,IAAK,OAAO,cAAc,IAAc,EAAY,EAClD,MAAM,MAAM,8BAEd,OAAO,OAAO,KAAM,CAClB,UAAW,EACX,YACA,QACA,WAAY,EACZ,YACA,a,wDAKJ,WACE,MAAO,CACL,OAAQ,EAAO,KAAK,KAAK,UAAU,WACnC,IAAK,KAAK,UACV,MAAO,KAAK,SACZ,GAAI,KAAK,MACT,IAAK,EAAO,KAAK,KAAK,WAAW,WACjC,IAAK,KAAK,a,qBAId,SAAQ,GACN,IAAM,EAAa,SAAgB,KAAK,wBAClC,EAAa,EAAO,KAAK,eAAmB,KAAK,IAAK,IACtD,EAAM,OAAU,EAAY,GAQ5B,EAAO,CACX,EAAG,IACH,EAPW,CACX,IAAK,EAAO,KAAK,GACjB,IAAK,KAAK,yBAOZ,OAAO,IAAI,WAAW,SAAgB,Q,yLCpEpC,E,kDACJ,WAAY,EAAwB,GAAgC,kCAClE,cAAM,IAD4B,WAElC,EAAK,KAAO,wBACZ,EAAK,SAAW,EAHkD,E,mCADlC,QAmBvB,EAAb,WAIE,WACE,EACA,EACA,GACgD,IAAxC,EAAwC,uDAAF,GAAE,oBAAxC,sBAKR,IAAM,EAAkB,EAAW,SAAS,KACxC,EADoB,UAEjB,EAFiB,KAGlB,EAAgB,IAAI,IAAI,GAK9B,GAJoB,qBAAT,IACT,EAAc,KAAO,EAAK,YAGU,IAAlC,EAAc,SAAS,OACzB,MAAM,IAAI,MAAM,sDAGlB,KAAK,QAAU,EACf,KAAK,YAAc,EA1BvB,0CAqCU,SAAO,EAAsB,GACnC,IAAI,EAEF,EADE,EAAa,WAAW,MACN,EACX,EAAa,WAAW,KAChB,WAAO,GAEP,YAAQ,GAE3B,IAAM,EAAU,IAAI,IAAI,EAAmB,KAAK,SAChD,GAAI,EACF,cAA2B,OAAO,QAAQ,GAA1C,eAAkD,CAA7C,0BAAO,EAAP,KAAY,EAAZ,KACH,EAAQ,aAAa,IAAI,EAAK,GAGlC,OAAO,EAAQ,aApDnB,kEA4GE,WACE,EACA,GAFF,wGAGE,EAHF,+BAG2C,GAGnC,EANR,uCAOO,KAAK,aACL,KAAK,gBACL,GATP,SAYoB,gBAAM,KAAK,OAAO,EAAc,GAAQ,CACxD,KAAM,OACN,YAdJ,cAYQ,EAZR,yBAiBS,EAAuB,oBAAoB,IAjBpD,gDA5GF,4HAgIE,WACE,EACA,EACA,GAHF,wGAIE,EAJF,+BAI2C,GAGnC,EAPR,uCAQO,KAAK,aACL,KAAK,gBACL,GAVP,SAaoB,gBAAM,KAAK,OAAO,EAAc,GAAQ,CACxD,OAAQ,OACR,KAAM,OACN,KAAM,EACN,YAjBJ,cAaQ,EAbR,yBAoBS,EAAuB,oBAAoB,IApBpD,gDAhIF,gIAuJE,WACE,EACA,EACA,GAHF,wGAIE,EAJF,+BAI2C,GAGnC,EAPR,uCAQO,KAAK,aACL,KAAK,gBACL,GAVP,SAaoB,gBAAM,KAAK,OAAO,EAAc,GAAQ,CACxD,OAAQ,SACR,KAAM,OACN,KAAM,EACN,YAjBJ,cAaQ,EAbR,yBAoBS,EAAuB,oBAAoB,IApBpD,gDAvJF,qGAuDU,SACN,GAEA,IAAM,EAAqC,GAI3C,OAHA,EAAQ,SAAQ,SAAC,EAAK,GACpB,EAAW,GAAO,KAEb,IA9DX,6EAiEU,WAA4B,GAA5B,2FACF,EAAI,GADF,wDAKF,EAA0B,KAC1B,EAAkC,KANhC,cASO,WATP,SASwB,EAAI,cAT5B,mBASJ,EATI,gBAUE,EAA+B,KAAK,MACxC,EAAO,KAAK,GAAM,aAER,UACV,EAAmB,EAAQ,SAdzB,gEAoBF,EApBE,iDAoBkD,EAAI,OApBtD,aAoBiE,EAAI,WApBrE,KAqBF,IACF,GAAO,YAAS,IAGZ,IAAI,EAAsB,EAAS,CACvC,OACA,OAAQ,EAAI,OACZ,QAAS,EAAuB,2BAA2B,EAAI,WA5B3D,0DAjEV,yIAiGU,WACN,GADM,2FAGA,KAAK,eAAe,GAHpB,mBAKM,WALN,SAKuB,EAAI,cAL3B,mDAMI,EAAI,OANR,KAOK,EAAuB,2BAA2B,EAAI,SAP3D,mBAKJ,KALI,KAMJ,OANI,KAOJ,QAPI,wDAjGV,gE,2KCrCqB,E,kDAGnB,WAAY,EAAe,GAA0B,kCACnD,cAAM,IACD,KAAO,SAAgB,EAAG,sBAAqB,IAFD,E,wCAMrD,WACE,MAAO,oB,iEAOT,qHAAS,EAAT,+BAAmB,GACX,EAAY,YAAW,GAD/B,SAEoB,KAAK,EAAE,KACvB,KAAK,OACL,EAAO,KAAK,KAAK,MACjB,GALJ,cAEQ,EAFR,yBAOS,EAAI,MAPb,gD,2DAjBkC,O,qJCcf,E,kDAInB,WACE,EACA,EACQ,EACR,GAAgB,2BAEhB,cAAM,EAAG,IAHD,QAIR,EAAK,MAAQ,EAEb,IAAM,EAAc,EAAO,KAAK,GAAM,SAAS,UAL/B,OAMhB,EAAK,MAAM,KAAO,UAAS,cAAQ,IANnB,E,wCAYlB,WACE,iCAA2B,KAAK,MAAhC,U,qBAIF,SAAQ,GACN,OAAO,MAAI,sBAAsB,O,GA1BgB,O,qJCfhC,E,kDAoBnB,WACE,EACA,EACQ,EACR,GAAmB,2BAEnB,cAAM,EAAG,IAHD,QAIR,EAAK,MAAQ,EAEb,IAAM,EAAc,EAAO,KAAK,GAAS,SAAS,UAL/B,OAMnB,EAAK,MAAM,KAAO,UAAS,cAAQ,IANhB,E,wCAYrB,WACE,iCAA2B,KAAK,MAAhC,U,qBAIF,SAAQ,GACN,OAAO,MAAI,sBAAsB,O,GA1CwB,O,gJCL7D,SAAS32E,EAAEA,EAAEE,QAAG,IAASA,IAAIA,EAAE,IAAI,IAAIK,EAAEL,EAAE02E,SAAS,GAAG52E,GAAG,oBAAoB02D,SAAS,CAAC,IAAIr2D,EAAEq2D,SAASmgB,MAAMngB,SAASmB,qBAAqB,QAAQ,GAAGv3D,EAAEo2D,SAASv0D,cAAc,SAAS7B,EAAErI,KAAK,WAAW,QAAQsI,GAAGF,EAAEy2E,WAAWz2E,EAAE02E,aAAaz2E,EAAED,EAAEy2E,YAAYz2E,EAAEm4D,YAAYl4D,GAAGA,EAAE02E,WAAW12E,EAAE02E,WAAWC,QAAQj3E,EAAEM,EAAEk4D,YAAY9B,SAASwgB,eAAel3E,KAAKA,EAAE,sCAAsCA,EAAE,oW,IAA0WE,E,kDAAgB,WAAYF,EAAEO,GAAO,qDAAFF,EAAE,iCAAFA,EAAE,yBAAC,+BAASA,IAAGhJ,MAAM4/D,mBAAmB5/D,MAAM4/D,kBAAN,eAA6B/2D,GAAG,EAAK1E,KAAK,kBAAkB,EAAK4M,KAAKpI,EAAE,EAAKkU,QAAQ3T,EAA3H,E,mCAA3BlJ,QAA+JkJ,EAAE,CAAC42E,QAAQ,kBAAkBC,iBAAiB,mBAAmBC,SAAS,WAAWC,eAAe,kBAAkBj3E,EAAa,oBAAbA,EAAgD,qBAAsBC,EAAa,mCAAbA,EAA+D,oCAAqCH,EAAa,kCAAbA,EAA8D,mCAAoCC,EAAa,uCAA+F,SAASlF,IAAI,OAAOqtB,OAAOgpB,SAASgmB,OAAO/oD,SAAS,sBAAsB,IAAI5N,EAAE,u5DAA45D,SAASJ,IAAIk2D,SAASC,gBAAgBpqC,MAAMogD,YAAY,OAAO,IAAIpkD,OAAOgvD,YAAY,MAA3Fv3E,EAAEY,GAA+F,IAAMF,EAAEg2D,SAASv0D,cAAc,YAAkBxB,E,kDAAsB,aAAa,MAAC,GAAD,qBAAI,gBAAa62E,aAAa,CAAC32C,KAAK,SAAS,EAAK42C,SAAS,EAAKxb,WAAW,CAAC,IAAMj8D,EAAE02D,SAASv0D,cAAc,SAASnC,EAAE03E,YAAY92E,EAAE,EAAKq7D,WAAW3uB,OAAO5sC,EAAEqC,QAAQ40E,WAAU,GAAI33E,GAAnL,sB,uDAAuL,SAAoBA,GAAG,OAAOxH,KAAKs/D,aAAav3D,EAAEP,M,+BAAI,WAAmB,WAAC,GAAGxH,KAAKyjE,WAAW,CAAC,IAAMj8D,EAAExH,KAAKyjE,WAAWvE,cAAcv3D,IAAmB,YAA2F,IAAhED,EAAgE,EAAvE03E,OAAwBv3E,EAA+C,EAA9Dw3E,eAAiCv3E,EAA6B,EAA7Cw3E,gBAA2B33E,EAAkB,EAA3Bm6C,SAAwBl6C,EAAG,EAAhB23E,aAAuBn3E,EAAE,IAAIopC,IAAb,EAAjFguC,SAAqGp3E,EAAEq3E,aAAa7lE,IAAI7R,EAAE42E,QAAQ92E,GAAGO,EAAEq3E,aAAa7lE,IAAI7R,EAAE62E,iBAAiB92E,GAAGpF,IAAI0F,EAAEq3E,aAAa7lE,IAAI7R,EAAE82E,SAAS,cAAcz2E,EAAEq3E,aAAa7lE,IAAI7R,EAAE82E,SAASl3E,GAAGS,EAAEq3E,aAAa7lE,IAAI7R,EAAE+2E,eAAel3E,GAAGF,EAAEq4D,aAAa,MAAM33D,EAAE4H,YAAvU,CAAoV,CAACwvE,QAAQ,uCAAuCJ,OAAOp/E,KAAKyjE,WAAWvE,cAAcp3D,GAAkBu3E,eAAer/E,KAAK0/E,oBAAoB,WAAWJ,gBAAgBt/E,KAAK0/E,oBAAoB,oBAAoB59B,SAAS9hD,KAAK0/E,oBAAoB,YAAYH,aAAav/E,KAAK0/E,oBAAoB,oBAAoBl4E,EAAEuyC,iBAAiB,SAAS,WAAK,EAAK4lC,gBAAgB3/E,KAAKi/E,Y,oBAAU,WAAS/2E,EAAE+3D,UAAF,8BAAmCp4D,GAAnC,OAAiDnF,IAAI,iCAAiC,GAAtF,sCAAsHoF,EAAtH,+CAAwKH,EAAxK,gDAA2NC,EAA3N,8BAA4Ps2D,SAASC,gBAAgByhB,aAAa,IAAI,4YAA4Y,wYAAlrB,4F,wBAAkpC,WAAa,IAAMp4E,EAAE02D,SAASgB,cAAc,8BAA8B13D,GAAGA,EAAE62D,a,eAAzyEjb,cAAmzErzB,OAAOgqB,iBAAiB,oBAAoB,WAAK/xC,OAAO+nB,OAAOgqB,iBAAiB,UAAU,WAAK/xC,OAAO,IAAMK,EAAE,eAAU,WAAYb,GAAE,oBAACxH,KAAK0+D,cAAS,EAAO1+D,KAAK2+D,QAAQn3D,EAAEm3D,QAA7D,iDAAqE,YAAmC,WAAHn3D,EAAG,EAApBo3D,iBAAqB5+D,KAAK6+D,QAAQ7+D,KAAK0+D,SAAS,SAAAh3D,GAAI,GAAG,iBAAiBA,EAAEkI,KAAK,IAAIlI,EAAEkI,KAAK+uD,UAAU,EAAKA,SAASn3D,EAAEE,GAAG,MAAMF,GAAG+zB,QAAQt6B,MAAMuG,KAAKuoB,OAAOgqB,iBAAiB,UAAU/5C,KAAK0+D,YAA9Q,yBAAwR,YAA8D,WAAzCl3D,EAAyC,EAAjDkU,QAAuBhU,EAA0B,EAAvCo3D,aAAsB/2D,EAAiB,EAAxBg3D,OAAwB,IAAfhuC,QAAgBR,YAAY,WAAK,IAAM1oB,EAAE,CAAC82D,QAAQ,EAAKA,QAAQjjD,QAAQlU,GAAGE,EAAEs3D,YAAYn3D,EAAE,CAACo3D,aAAal3D,GAAG,aAA5F,MAAL,IAAK,KAAtV,mBAA6b,WAAQ/H,KAAK0+D,WAAW3uC,OAAOmqB,oBAAoB,UAAUl6C,KAAK0+D,UAAU1+D,KAAK0+D,cAAS,OAAvhB,EAAI,GAAJ,CAAiiB,CAACC,QAAQ,gBAAgB71D,EAAE,CAAC,OAAO,SAAS,UAAgBb,E,WAAE,WAAYT,GAAE,+BAACxH,KAAKs/E,gBAAgBx2E,GAAG,MAAMtB,OAAE,EAAOA,EAAE83E,mBAAmB,MAAM93E,OAAE,EAAOA,EAAE83E,gBAAgB78E,UAAUzC,KAAKs/E,gBAAgB93E,EAAE83E,iBAAiBt/E,KAAKu/E,cAAc,MAAM/3E,OAAE,EAAOA,EAAE+3E,gBAAe,EAAGv/E,KAAK8hD,UAAU,MAAMt6C,OAAE,EAAOA,EAAEs6C,WAAW,UAAU9hD,KAAK6/E,eAAe,IAAIv8E,SAAS,SAACkE,EAAEE,GAAK,EAAKo4E,eAAet4E,EAAE,EAAKu4E,cAAcr4E,KAAKW,EAAEy3D,cAAc,CAAClB,iBAAiB,SAAAp3D,GAA4B,+CAAPA,EAAEoI,KAAb8L,QAAmEjc,MAAM,EAAKqgF,eAAe,6B,4CAA6B,YAA4B,IAAK/3E,EAAEH,EAAP,OAA0/B,OAAh/B,YAAwF,IAA/DJ,EAA+D,EAA9E63E,eAAiCt3E,EAA6C,EAA7Du3E,gBAA+Bz3E,EAA8B,EAA3C03E,aAAwB53E,EAAmB,EAA5Bm6C,SAAyBl6C,EAAG,EAAjBm4E,cAAkB,IAAI7hB,SAAShpB,KAAK+oB,SAASC,SAASgB,cAAc,sBAAsB,CAAC,IAAMx8D,EAAEw7D,SAASv0D,cAAc,OAAOjH,EAAEmH,UAAU,4BAA4B,IAAMzB,EAAE81D,SAASv0D,cAAc,qBAAqBvB,EAAE23D,aAAa,kBAAkBv4D,GAAGY,EAAE23D,aAAa,mBAAmBh4D,GAAGK,EAAE23D,aAAa,iBAAiBl4D,GAAGO,EAAE23D,aAAa,WAAWp4D,GAAGu2D,SAASnkB,iBAAiB,SAAS,SAAAvyC,GAAI,IAAIO,EAAEP,EAAEzC,UAAU,QAAQgD,EAAEK,EAAEq7D,kBAAa,IAAS17D,OAAE,EAAOA,EAAEm3D,cAAcp3D,KAAoBN,EAAEzC,SAASm5D,SAASgB,cAAc,+BAA+B13D,EAAEzC,SAASm5D,SAASgB,cAAc,uBAAuBx8D,EAAE27D,SAASz2D,EAAE,IAAIF,EAAE,CAACjI,KAAK,uBAAuB6iE,OAAO,wBAAwB,6BAA6B5/D,EAAEs9D,YAAY53D,GAAG81D,SAAShpB,KAAK8qB,YAAYt9D,IAAt0B,CAA20B,CAAC28E,eAAt1B,EAAlBA,eAAy3BC,gBAAgBt/E,KAAKs/E,gBAAgB3pE,KAAK,KAAK4pE,aAAav/E,KAAKu/E,aAAavvE,WAAW8xC,SAAS9hD,KAAK8hD,SAASi+B,cAAc//E,KAAK+/E,iBAAuB,QAAQn4E,EAAE,QAAQG,EAAEm2D,SAASgB,cAAc,4BAAuB,IAASn3D,OAAE,EAAOA,EAAE07D,kBAAa,IAAS77D,OAAE,EAAOA,EAAEs3D,cAAF,UAAmBr3D,EAAnB,YAAuCF,KAAqBoyC,iBAAiB,SAAS,WAAK,EAAKgmC,cAAc,IAAIr4E,EAAE,CAACjI,KAAK,uBAAuB6iE,OAAO,wBAAwB,4BAA4BtiE,KAAK6/E,iB,gBAAe,SAAGr4E,GAAE,WAACa,EAAEy3D,cAAc,CAAClB,iBAAiB,SAAAl3D,GAAI,IAAcK,EAAGL,EAAEkI,KAAb8L,QAAkB,mBAAmB3T,EAAEtI,MAAM+H,EAAEw4E,gBAAgBx4E,EAAEw4E,eAAe,CAACX,eAAet3E,EAAEs3E,eAAeY,QAAQl4E,EAAEk4E,UAAU,wBAAwBl4E,EAAEtI,MAAM+H,EAAE04E,qBAAqB14E,EAAE04E,sBAAsB,qBAAqBn4E,EAAEtI,MAAM+H,EAAE24E,kBAAkB34E,EAAE24E,mBAAmB,+CAA+Cp4E,EAAEtI,MAAM,EAAKqgF,eAAe,+B,mBAA6B,WAAQ,IAAMt4E,EAAE02D,SAASgB,cAAc,8BAA8B13D,IAAIA,EAAE62D,SAASr+D,KAAK+/E,cAAc,IAAIr4E,EAAE,CAACjI,KAAK,gCAAgC6iE,OAAO,iCAAiC,uC,KAAoC,oBAAoBvyC,QAAQqwD,eAAe/iF,OAAO,oBAAoB8K,I,oKCuB3kS,E,kKAEnB,WACE,OAAO,IAAI,IAAa,KAAK,OAAQ,KAAK,W,4BAE5C,SAAe,GACb,OAAO,UAAQ,eAAe,K,4EAIhC,WAAoB,GAApB,kGAEQ,EAAc,cACd,EAAe,KAAK,kBAAkB,GAH9C,SAI6B,KAAK,OAAO,QAAQ,GAAc,KAJ/D,cAIQ,EAJR,OAKQ,EAAgB,IAAI,WACxB,EAAO,KAAK,EAAa,OAAQ,WAI7B,EAAa,UAAQ,sBAAsB,OAVnD,SAWuB,KAAK,OAAO,uBAAuB,KAX1D,cAWQ,EAXR,yBAcS,UAAQ,mCAAmC,CAChD,WAAY,EACZ,KAAM,EACN,gBAAiB,EACjB,gBAAiB,EACjB,aAAc,EACd,aAAc,IACd,mBAAoB,IACpB,cAAe,IACf,oBAAqB,IACrB,QAAS,OAxBb,iD,0IA6BA,WACE,EACA,EACA,GAHF,kGAKQ,EAAe,KAAK,kBAAkB,KACtC,EAAQ,CACZ,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,MAGnB,KAAK,aAAa,GAAa,OAAS,IAjB9C,sBAiBwD,MAjBxD,cAkBQ,EAAU,CACd,KAAK,kBAAkB,QACvB,KAAK,aAAa,IApBtB,SAuBuB,KAAK,OAAO,uBAAuB,KAvB1D,cAuBQ,EAvBR,OA0BQ,EACJ,UAAQ,kDAAkD,CACxD,KAAM,EACN,WAAY,IACZ,gBAAiB,EACjB,GAAI,IACJ,OAAQ,MAIN,EAAmB,UAAQ,kCAAkC,CACjE,KAAM,EACN,gBAAiB,EACjB,SAAU,IACV,QAAS,EACT,cAAe,CAAC,KAChB,YAAa,CAAC,KAIV,EAAW,KAAK,uBACpB,IACA,EACA,EACA,IACA,EACA,IAII,EADY,CAAC,EAAY,GACH,OAAO,GACnC,UAAQ,cAAc,GAzDxB,kBA0DS,GA1DT,iD,uIA8DA,WACE,EACA,GAFF,iGAKuB,KAAK,OAAO,uBAAuB,KAL1D,cAKQ,EALR,yBAQS,UAAQ,mCAAmC,CAChD,KAAM,EACN,SAAU,EACV,gBAAiB,KAXrB,gD,6IAgBA,WACE,EACA,EACA,EACA,GAJF,oGAMQ,EAAe,KAAK,kBAAkB,KACtC,EAAQ,CACZ,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,IAGjB,EAAU,CACd,KAAK,kBAAkB,QACvB,KAAK,aAAa,GAClB,UAAQ,cAAc,EAAiB,IArB3C,SAwBuB,KAAK,OAAO,uBAAuB,KAxB1D,cAwBQ,EAxBR,OA2BQ,EAAsB,UAAQ,qCAAqC,CACvE,KAAM,EACN,SAAU,IACV,gBAAiB,EACjB,YAAa,CAAC,GACd,QAAS,IAIL,EAAW,KAAK,uBACpB,IACA,EACA,EACA,IACA,EACA,IAII,EADY,CAAC,GACS,OAAO,GACnC,UAAQ,cAAc,GA/CxB,kBAgDS,GAhDT,iD,6IAoDA,WAAwB,GAAxB,oGACQ,EAAe,UAAQ,cAAc,GAAQ,UAC7C,EAAQ,CACZ,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,IAGjB,EAAU,CAAC,KAAK,kBAAkB,SAb1C,SAeuB,KAAK,OAAO,uBAAuB,KAf1D,cAeQ,EAfR,OAiBQ,EAAa,UAAQ,4CAA4C,CACrE,KAAM,EACN,gBAAiB,EACjB,GAAI,IACJ,OAAQ,MAIJ,EAAmB,UAAQ,kCAAkC,CACjE,KAAM,EACN,gBAAiB,EACjB,SAAU,IACV,QAAS,EACT,MAAO,IAIH,EAAY,CAAC,EAAY,GAC/B,UAAQ,cAAc,GAnCxB,kBAoCS,GApCT,iD,sIAwCA,WACE,EACA,GAFF,mGAIuB,KAAK,OAAO,uBAAuB,KAJ1D,cAIQ,EAJR,OAKQ,EAAmB,UAAQ,kCAAkC,CACjE,KAAM,EACN,gBAAiB,EACjB,SAAU,IARd,kBAUS,GAVT,gD,yIAcA,WACE,EACA,GAFF,mGAIuB,KAAK,OAAO,uBAAuB,KAJ1D,cAIQ,EAJR,OAKQ,EAAoB,UAAQ,qCAAqC,CACrE,KAAM,EACN,gBAAiB,EACjB,SAAU,IARd,kBAUS,GAVT,gD,sIAcA,mIAE8B,KAAK,OAC5B,wBACC,IACA,KAAK,kBAAkB,MAExB,KAPP,OAaI,IAXM,EAFV,OAQU,EAAQ,EAAY,MAEpB,EAAuB,GACvB,EAA6B,GAE1B,EAAI,EAAG,EAAI,EAAM,OAAQ,GAAK,IACrC,EAAO,KAAK,EAAM,MAAM,EAAG,EAAI,MAExB,EAAI,EAhBjB,YAgBoB,EAAI,EAAO,QAhB/B,qBAiBU,KAAK,iBAAiB,EAAO,IAjBvC,wDAoBc,EAAU,KAAK,kBAAkB,EAAO,GAAI,GAClD,EAAS,KAAK,GArBtB,QAgBuC,IAhBvC,gDAwBW,GAxBX,2DA0BW,IA1BX,0D,+HA+BA,WAAiB,GAAjB,4GAE6B,KAAK,QAC3B,4BAA4B,GAC5B,cAAc,KACd,KALP,eAM2C,IAJjC,EAFV,QAMmB,qBANnB,yCAOa,CAAE,qBAAsB,EAAG,mBAAoB,IAP5D,cAQU,EACJ,EAAW,qBAAqB,GAAG,aATzC,kBAUW,KAAK,YAAY,IAV5B,2DAYW,CAAE,qBAAsB,EAAG,mBAAoB,IAZ1D,0D,wIAgBA,WAAyB,GAAzB,4GAE6B,KAAK,QAC3B,4BAA4B,GAC5B,cAAc,KACd,KALP,eAM2C,IAJjC,EAFV,QAMmB,qBANnB,yCAOa,CACL,gBAAiB,EACjB,YAAa,SATrB,cAWU,EACJ,EAAW,qBAAqB,GAAG,aAZzC,kBAaW,KAAK,aAAa,IAb7B,2DAeW,CACL,gBAAiB,EACjB,YAAa,SAjBnB,0D,0IAsBA,WAA2B,GAA3B,4GAE8B,KAAK,QAAQ,kBAAkB,GAAS,KAFtE,eAGsD,IAD5C,EAFV,QAGmB,QAAY,oBAH/B,0CAGwE,GAHxE,OAKU,EAAI,EALd,YAMM,EAAI,EAAW,QAAY,oBAAoB,QANrD,oBAUQ,EAAW,QAAY,oBAAoB,GAAG,KAAO,IAV7D,2CAYe,GAZf,QAOM,IAPN,iDAeW,GAfX,4DAiBW,GAjBX,0D,4IAqBA,WACE,EACA,GAFF,4GAK8B,KAAK,QAAQ,kBAAkB,GAAS,KALtE,eAMsD,IAD5C,EALV,QAMmB,QAAY,oBAN/B,0CAMwE,GANxE,OAQU,EAAI,EARd,YASM,EAAI,EAAW,QAAY,oBAAoB,QATrD,oBAaQ,EAAW,QAAY,oBAAoB,GAAG,KAAO,EAb7D,2CAee,GAff,QAUM,IAVN,iDAkBW,GAlBX,4DAoBW,GApBX,0D,2IAwBA,WAA0B,GAA1B,kGAEQ,EAAY,GAEV,EAAc,GAJxB,UAOuB,IAAb,EAPV,iCAQ4B,KAAK,QACtB,iBACA,cAAc,GACd,KAXX,OAaQ,IALA,EARR,OAYQ,EAAY,EAAY,cACf,EAAI,EAAG,EAAI,EAAW,SAAa,OAAQ,IAClD,EAAY,KAAK,EAAW,SAAa,GAAG,SAdtD,yCAgB4B,KAAK,QACtB,iBACA,cAAc,GACd,UAAU,GACV,KApBX,QAsBQ,IANA,EAhBR,OAqBQ,EAAY,EAAY,cACf,EAAI,EAAG,EAAI,EAAW,SAAa,OAAQ,IAClD,EAAY,KAAK,EAAW,SAAa,GAAG,SAvBtD,WAyBa,EAAW,SAAa,OAAS,EAzB9C,iDA0BW,GA1BX,2DA4BW,CAAC,MA5BZ,0D,4DA/V+B,O,0KCVZ,E,6NAEnB,WACE,EACA,EACA,GAHF,+FAKQ,EAAO,KAAK,aAAa,IACtB,OAAS,KANpB,sBAM+B,MAN/B,cAOQ,EAAU,CAAC,KAAK,aAAa,MAC7B,EAAc,CAAC,GARvB,SAUuB,KAAK,OAAO,uBAAuB,KAV1D,cAUQ,EAVR,OAYQ,EAA0B,UAAQ,iCAAiC,CACvE,KAAM,EACN,gBAAiB,EACjB,SAAU,IACV,QAAS,EACT,YAAa,EACb,KAAM,IAlBV,kBAqBS,GArBT,iD,kJAyBA,WACE,EACA,EACA,EACA,EACA,GALF,qGAOQ,EAAO,KAAK,aAAa,IACtB,OAAS,KARpB,sBAQ+B,MAR/B,cASQ,EAAe,UAAQ,cAAc,GAAU,UAC/C,EAAQ,CACZ,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,GACrB,CAAE,SAAU,EAAG,KAAM,IAGjB,EAAU,CACd,KAAK,aAAa,KAClB,KAAK,aAAa,IAGd,EAAc,CAAC,GACf,EAAW,CAAC,GAzBpB,UA2BuB,KAAK,OAAO,uBAAuB,KA3B1D,eA2BQ,EA3BR,OA6BQ,EAA0B,UAAQ,iCAAiC,CACvE,KAAM,EACN,gBAAiB,EACjB,SAAU,IACV,QAAS,EACT,SAAU,EACV,YAAa,EACb,KAAM,EACN,MAAO,IArCX,kBAwCS,GAxCT,iD,mJA4CA,WACE,GADF,8GAI0B,KAAK,QACxB,mBAAmB,GACnB,KANP,cAIU,EAJV,gBAO6B,KAAK,QAC3B,4BAA4B,EAAO,YAAP,OAAiC,SAC7D,cAAc,KACd,KAVP,eAW2C,IAJjC,EAPV,QAWmB,qBAXnB,yCAW6D,IAX7D,cAYU,EACJ,EAAW,qBAAqB,GAAG,aAbzC,kBAcW,KAAK,cAAc,IAd9B,2DAgBW,IAhBX,0D,6IAqBA,WACE,GADF,iHAIU,EAAU,UAAQ,cAAc,GAAQ,UAJlD,SAK8B,KAAK,OAC5B,wBAAwB,IAAmB,EAAO,KAAK,IACvD,KAPP,OAYI,IAPM,EALV,OAQU,EAAQ,EAAY,MACpB,EAAuB,GACvB,EAAwC,GAErC,EAAI,EAAG,EAAI,EAAM,OAAQ,GAAK,IACrC,EAAO,KAAK,EAAM,MAAM,EAAG,EAAI,MAGxB,EAAI,EAhBjB,aAgBoB,EAAI,EAAO,QAhB/B,iBAiBe,EAAI,EAjBnB,aAiBsB,EAAI,GAjB1B,oBAkB4B,GAAhB,EAAO,GAAG,GAlBtB,wBAmBgB,EAAe,KAAK,kBAAkB,EAAO,IACnD,EAAc,KAAK,GApB7B,6BAiB6B,IAjB7B,wBAgBuC,IAhBvC,iDAyBW,GAzBX,2DA2BW,IA3BX,0D,4DA5FwC,O,sDCZ5B,SAAUk4E,IACtB,sCAFF,mC,8ECCe,SAASC,EAAe78E,EAAQ8oD,GAC7C,MAAQ9vD,OAAOC,UAAUE,eAAegD,KAAK6D,EAAQ8oD,IAEpC,QADf9oD,EAAS,OAAAvD,EAAA,GAAeuD,MAI1B,OAAOA,ECNM,SAAS,IAiBtB,OAfE,EADqB,qBAAZuC,SAA2BA,QAAQ0vB,IACrC1vB,QAAQ0vB,IAAIhD,OAEZ,SAAc3tB,EAAQwnD,EAAUg0B,GACrC,IAAItyD,EAAO,EAAclpB,EAAQwnD,GACjC,GAAKt+B,EAAL,CACA,IAAIuyD,EAAO/jF,OAAOyK,yBAAyB+mB,EAAMs+B,GAEjD,OAAIi0B,EAAK9qD,IACA8qD,EAAK9qD,IAAI91B,KAAKsG,UAAUzD,OAAS,EAAIsC,EAASw7E,GAGhDC,EAAKhjF,QAIT,EAAK2I,MAAMnG,KAAMkG,a,gDCTb,IAAIkC,EAAEtL,OAAO2jF,IAAI,iBAAiB14E,EAAEjL,OAAO2jF,IAAI,gBAAgBt4E,EAAErL,OAAO2jF,IAAI,kBAAkBj4E,EAAE1L,OAAO2jF,IAAI,qBAAqB94E,EAAE7K,OAAO2jF,IAAI,kBAAkB/4E,EAAE5K,OAAO2jF,IAAI,kBAAkBx4E,EAAEnL,OAAO2jF,IAAI,iBAAiB93E,EAAE7L,OAAO2jF,IAAI,qBAAqBpjD,EAAEvgC,OAAO2jF,IAAI,kBAAkBn4E,EAAExL,OAAO2jF,IAAI,cAAcv3E,EAAEpM,OAAO2jF,IAAI,cAAcxgE,EAAEnjB,OAAOE,SACzW,IAAImsC,EAAE,CAACu3C,UAAU,WAAW,OAAM,GAAIC,mBAAmB,aAAaC,oBAAoB,aAAaC,gBAAgB,cAAch4E,EAAEpM,OAAOof,OAAO5S,EAAE,GAAG,SAASa,EAAEjC,EAAEU,EAAEf,GAAGxH,KAAKgF,MAAM6C,EAAE7H,KAAKzB,QAAQgK,EAAEvI,KAAK8gF,KAAK73E,EAAEjJ,KAAK+gF,QAAQv5E,GAAG2hC,EACyI,SAASzuB,KAA6B,SAASy0B,EAAEtnC,EAAEU,EAAEf,GAAGxH,KAAKgF,MAAM6C,EAAE7H,KAAKzB,QAAQgK,EAAEvI,KAAK8gF,KAAK73E,EAAEjJ,KAAK+gF,QAAQv5E,GAAG2hC,EADvPr/B,EAAEpN,UAAUskF,iBAAiB,GACnQl3E,EAAEpN,UAAUukF,SAAS,SAASp5E,EAAEU,GAAG,GAAG,kBAAkBV,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMhJ,MAAM,yHAAyHmB,KAAK+gF,QAAQF,gBAAgB7gF,KAAK6H,EAAEU,EAAE,aAAauB,EAAEpN,UAAUwkF,YAAY,SAASr5E,GAAG7H,KAAK+gF,QAAQJ,mBAAmB3gF,KAAK6H,EAAE,gBAA8B6S,EAAEhe,UAAUoN,EAAEpN,UAAsF,IAAI02C,EAAEjE,EAAEzyC,UAAU,IAAIge,EACrf04B,EAAErwC,YAAYosC,EAAEtmC,EAAEuqC,EAAEtpC,EAAEpN,WAAW02C,EAAE+tC,sBAAqB,EAAG,IAAIp4E,EAAEwE,MAAMC,QAAQ0uD,EAAEz/D,OAAOC,UAAUE,eAAe+qB,EAAE,CAACqmB,QAAQ,MAAM/iB,EAAE,CAAC1tB,KAAI,EAAGqM,KAAI,EAAGw3E,QAAO,EAAGC,UAAS,GACtK,SAASl/D,EAAEta,EAAEU,EAAEf,GAAG,IAAIQ,EAAEE,EAAE,GAAGuV,EAAE,KAAK3U,EAAE,KAAK,GAAG,MAAMP,EAAE,IAAIP,UAAK,IAASO,EAAEqB,MAAMd,EAAEP,EAAEqB,UAAK,IAASrB,EAAEhL,MAAMkgB,EAAE,GAAGlV,EAAEhL,KAAKgL,EAAE2zD,EAAEt8D,KAAK2I,EAAEP,KAAKijB,EAAEruB,eAAeoL,KAAKE,EAAEF,GAAGO,EAAEP,IAAI,IAAIuf,EAAErhB,UAAUzD,OAAO,EAAE,GAAG,IAAI8kB,EAAErf,EAAEqE,SAAS/E,OAAO,GAAG,EAAE+f,EAAE,CAAC,IAAI,IAAI3e,EAAE2E,MAAMga,GAAGlf,EAAE,EAAEA,EAAEkf,EAAElf,IAAIO,EAAEP,GAAGnC,UAAUmC,EAAE,GAAGH,EAAEqE,SAAS3D,EAAE,GAAGf,GAAGA,EAAEy5E,aAAa,IAAIt5E,KAAKuf,EAAE1f,EAAEy5E,kBAAe,IAASp5E,EAAEF,KAAKE,EAAEF,GAAGuf,EAAEvf,IAAI,MAAM,CAACu5E,SAASn5E,EAAE3I,KAAKoI,EAAEtK,IAAIkgB,EAAE7T,IAAId,EAAE9D,MAAMkD,EAAEs5E,OAAO75D,EAAEqmB,SACxU,SAASjY,EAAEluB,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE05E,WAAWn5E,EAAqG,IAAI4mC,EAAE,OAAO,SAASmtB,EAAEt0D,EAAEU,GAAG,MAAM,kBAAkBV,GAAG,OAAOA,GAAG,MAAMA,EAAEtK,IAA7K,SAAgBsK,GAAG,IAAIU,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAIV,EAAEqS,QAAQ,SAAQ,SAASrS,GAAG,OAAOU,EAAEV,MAAmF45E,CAAO,GAAG55E,EAAEtK,KAAKgL,EAAEyH,SAAS,IAC5W,SAAS8+B,EAAEjnC,EAAEU,EAAEf,EAAEQ,EAAEE,GAAG,IAAIuV,SAAS5V,EAAK,cAAc4V,GAAG,YAAYA,IAAE5V,EAAE,MAAK,IAAIiB,GAAE,EAAG,GAAG,OAAOjB,EAAEiB,GAAE,OAAQ,OAAO2U,GAAG,IAAK,SAAS,IAAK,SAAS3U,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOjB,EAAE05E,UAAU,KAAKn5E,EAAE,KAAKL,EAAEe,GAAE,GAAI,GAAGA,EAAE,OAAWZ,EAAEA,EAANY,EAAEjB,GAASA,EAAE,KAAKG,EAAE,IAAIm0D,EAAErzD,EAAE,GAAGd,EAAEe,EAAEb,IAAIV,EAAE,GAAG,MAAMK,IAAIL,EAAEK,EAAEqS,QAAQ80B,EAAE,OAAO,KAAKF,EAAE5mC,EAAEK,EAAEf,EAAE,IAAG,SAASK,GAAG,OAAOA,MAAK,MAAMK,IAAI6tB,EAAE7tB,KAAKA,EADnW,SAAWL,EAAEU,GAAG,MAAM,CAACg5E,SAASn5E,EAAE3I,KAAKoI,EAAEpI,KAAKlC,IAAIgL,EAAEqB,IAAI/B,EAAE+B,IAAI5E,MAAM6C,EAAE7C,MAAMw8E,OAAO35E,EAAE25E,QACgR1rD,CAAE5tB,EAAEV,IAAIU,EAAE3K,KAAKuL,GAAGA,EAAEvL,MAAM2K,EAAE3K,IAAI,IAAI,GAAG2K,EAAE3K,KAAK2c,QAAQ80B,EAAE,OAAO,KAAKnnC,IAAIU,EAAErG,KAAKgG,IAAI,EAAyB,GAAvBY,EAAE,EAAEd,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOe,EAAElB,GAAG,IAAI,IAAI0f,EAAE,EAAEA,EAAE1f,EAAEpF,OAAO8kB,IAAI,CAC/e,IAAI3e,EAAEZ,EAAEm0D,EADwe1+C,EACrf5V,EAAE0f,GAAeA,GAAGze,GAAGgmC,EAAErxB,EAAElV,EAAEf,EAAEoB,EAAEV,QAAQ,GAAGU,EAPsU,SAAWf,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAEoY,GAAGpY,EAAEoY,IAAIpY,EAAE,eAA0CA,EAAE,KAOxboa,CAAEpa,GAAG,oBAAoBe,EAAE,IAAIf,EAAEe,EAAEhJ,KAAKiI,GAAG0f,EAAE,IAAI9J,EAAE5V,EAAErG,QAAQ9B,MAA6BoJ,GAAGgmC,EAA1BrxB,EAAEA,EAAEjgB,MAA0B+K,EAAEf,EAAtBoB,EAAEZ,EAAEm0D,EAAE1+C,EAAE8J,KAAkBrf,QAAQ,GAAG,WAAWuV,EAAE,MAAMlV,EAAEiJ,OAAO3J,GAAGhJ,MAAM,mDAAmD,oBAAoB0J,EAAE,qBAAqB9L,OAAO+G,KAAKqE,GAAG8N,KAAK,MAAM,IAAIpN,GAAG,6EAA6E,OAAOO,EACxZ,SAAS6b,EAAE9c,EAAEU,EAAEf,GAAG,GAAG,MAAMK,EAAE,OAAOA,EAAE,IAAIG,EAAE,GAAGE,EAAE,EAAmD,OAAjD4mC,EAAEjnC,EAAEG,EAAE,GAAG,IAAG,SAASH,GAAG,OAAOU,EAAE3I,KAAK4H,EAAEK,EAAEK,QAAcF,EAAE,SAASS,EAAEZ,GAAG,IAAI,IAAIA,EAAE65E,QAAQ,CAAC,IAAIn5E,EAAEV,EAAE85E,SAAQp5E,EAAEA,KAAMxH,MAAK,SAASwH,GAAM,IAAIV,EAAE65E,UAAU,IAAI75E,EAAE65E,UAAQ75E,EAAE65E,QAAQ,EAAE75E,EAAE85E,QAAQp5E,MAAG,SAASA,GAAM,IAAIV,EAAE65E,UAAU,IAAI75E,EAAE65E,UAAQ75E,EAAE65E,QAAQ,EAAE75E,EAAE85E,QAAQp5E,OAAK,IAAIV,EAAE65E,UAAU75E,EAAE65E,QAAQ,EAAE75E,EAAE85E,QAAQp5E,GAAG,GAAG,IAAIV,EAAE65E,QAAQ,OAAO75E,EAAE85E,QAAQl6E,QAAQ,MAAMI,EAAE85E,QACpZ,IAAI5yC,EAAE,CAACf,QAAQ,MAAMkB,EAAE,CAAC0yC,WAAW,MAAMtuC,EAAE,CAACuuC,uBAAuB9yC,EAAE+yC,wBAAwB5yC,EAAE6yC,kBAAkBp6D,GAAGprB,EAAQylF,SAAS,CAACxsD,IAAI7Q,EAAEpkB,QAAQ,SAASsH,EAAEU,EAAEf,GAAGmd,EAAE9c,GAAE,WAAWU,EAAEpC,MAAMnG,KAAKkG,aAAYsB,IAAI2wB,MAAM,SAAStwB,GAAG,IAAIU,EAAE,EAAuB,OAArBoc,EAAE9c,GAAE,WAAWU,OAAaA,GAAG40B,QAAQ,SAASt1B,GAAG,OAAO8c,EAAE9c,GAAE,SAASA,GAAG,OAAOA,MAAK,IAAIo6E,KAAK,SAASp6E,GAAG,IAAIkuB,EAAEluB,GAAG,MAAMhJ,MAAM,yEAAyE,OAAOgJ,IAAItL,EAAQ2lF,UAAUp4E,EAAEvN,EAAQ+9B,SAASnyB,EACne5L,EAAQ4lF,SAASx6E,EAAEpL,EAAQ6lF,cAAcjzC,EAAE5yC,EAAQ8lF,WAAW75E,EAAEjM,EAAQ+lF,SAASjlD,EAAE9gC,EAAQgmF,mDAAmDjvC,EAC9I/2C,EAAQimF,aAAa,SAAS36E,EAAEU,EAAEf,GAAG,GAAG,OAAOK,QAAG,IAASA,EAAE,MAAMhJ,MAAM,iFAAiFgJ,EAAE,KAAK,IAAIG,EAAEa,EAAE,GAAGhB,EAAE7C,OAAOkD,EAAEL,EAAEtK,IAAIkgB,EAAE5V,EAAE+B,IAAId,EAAEjB,EAAE25E,OAAO,GAAG,MAAMj5E,EAAE,CAAoE,QAAnE,IAASA,EAAEqB,MAAM6T,EAAElV,EAAEqB,IAAId,EAAE6e,EAAEqmB,cAAS,IAASzlC,EAAEhL,MAAM2K,EAAE,GAAGK,EAAEhL,KAAQsK,EAAEpI,MAAMoI,EAAEpI,KAAK6hF,aAAa,IAAI/5D,EAAE1f,EAAEpI,KAAK6hF,aAAa,IAAI14E,KAAKL,EAAE2zD,EAAEt8D,KAAK2I,EAAEK,KAAKqiB,EAAEruB,eAAegM,KAAKZ,EAAEY,QAAG,IAASL,EAAEK,SAAI,IAAS2e,EAAEA,EAAE3e,GAAGL,EAAEK,IAAI,IAAIA,EAAE1C,UAAUzD,OAAO,EAAE,GAAG,IAAImG,EAAEZ,EAAEuE,SAAS/E,OAAO,GAAG,EAAEoB,EAAE,CAAC2e,EAAEha,MAAM3E,GACrf,IAAI,IAAIP,EAAE,EAAEA,EAAEO,EAAEP,IAAIkf,EAAElf,GAAGnC,UAAUmC,EAAE,GAAGL,EAAEuE,SAASgb,EAAE,MAAM,CAACg6D,SAASn5E,EAAE3I,KAAKoI,EAAEpI,KAAKlC,IAAI2K,EAAE0B,IAAI6T,EAAEzY,MAAMgD,EAAEw5E,OAAO14E,IAAIvM,EAAQkmF,cAAc,SAAS56E,GAAqK,OAAlKA,EAAE,CAAC05E,SAASt5E,EAAEy6E,cAAc76E,EAAE86E,eAAe96E,EAAE+6E,aAAa,EAAEC,SAAS,KAAKC,SAAS,KAAKC,cAAc,KAAKC,YAAY,OAAQH,SAAS,CAACtB,SAAS75E,EAAEu7E,SAASp7E,GAAUA,EAAEi7E,SAASj7E,GAAGtL,EAAQoN,cAAcwY,EAAE5lB,EAAQ2mF,cAAc,SAASr7E,GAAG,IAAIU,EAAE4Z,EAAEuQ,KAAK,KAAK7qB,GAAY,OAATU,EAAE9I,KAAKoI,EAASU,GAAGhM,EAAQ4mF,UAAU,WAAW,MAAM,CAACn1C,QAAQ,OACzdzxC,EAAQ4M,WAAW,SAAStB,GAAG,MAAM,CAAC05E,SAAS54E,EAAEs2E,OAAOp3E,IAAItL,EAAQ6mF,eAAertD,EAAEx5B,EAAQ8mF,KAAK,SAASx7E,GAAG,MAAM,CAAC05E,SAASr4E,EAAEo6E,SAAS,CAAC5B,SAAS,EAAEC,QAAQ95E,GAAG00B,MAAM9zB,IAAIlM,EAAQgnF,KAAK,SAAS17E,EAAEU,GAAG,MAAM,CAACg5E,SAASj5E,EAAE7I,KAAKoI,EAAEmN,aAAQ,IAASzM,EAAE,KAAKA,IAAIhM,EAAQinF,gBAAgB,SAAS37E,GAAG,IAAIU,EAAE2mC,EAAE0yC,WAAW1yC,EAAE0yC,WAAW,GAAG,IAAI/5E,IAAJ,QAAgBqnC,EAAE0yC,WAAWr5E,IAAIhM,EAAQknF,aAAa,WAAW,MAAM5kF,MAAM,6DAC9YtC,EAAQs3E,YAAY,SAAShsE,EAAEU,GAAG,OAAOwmC,EAAEf,QAAQ6lC,YAAYhsE,EAAEU,IAAIhM,EAAQmnF,WAAW,SAAS77E,GAAG,OAAOknC,EAAEf,QAAQ01C,WAAW77E,IAAItL,EAAQonF,cAAc,aAAapnF,EAAQqnF,iBAAiB,SAAS/7E,GAAG,OAAOknC,EAAEf,QAAQ41C,iBAAiB/7E,IAAItL,EAAQ8yC,UAAU,SAASxnC,EAAEU,GAAG,OAAOwmC,EAAEf,QAAQqB,UAAUxnC,EAAEU,IAAIhM,EAAQsnF,MAAM,WAAW,OAAO90C,EAAEf,QAAQ61C,SAAStnF,EAAQunF,oBAAoB,SAASj8E,EAAEU,EAAEf,GAAG,OAAOunC,EAAEf,QAAQ81C,oBAAoBj8E,EAAEU,EAAEf,IAC3bjL,EAAQwnF,mBAAmB,SAASl8E,EAAEU,GAAG,OAAOwmC,EAAEf,QAAQ+1C,mBAAmBl8E,EAAEU,IAAIhM,EAAQ0+D,gBAAgB,SAASpzD,EAAEU,GAAG,OAAOwmC,EAAEf,QAAQitB,gBAAgBpzD,EAAEU,IAAIhM,EAAQynF,QAAQ,SAASn8E,EAAEU,GAAG,OAAOwmC,EAAEf,QAAQg2C,QAAQn8E,EAAEU,IAAIhM,EAAQ0nF,WAAW,SAASp8E,EAAEU,EAAEf,GAAG,OAAOunC,EAAEf,QAAQi2C,WAAWp8E,EAAEU,EAAEf,IAAIjL,EAAQy9D,OAAO,SAASnyD,GAAG,OAAOknC,EAAEf,QAAQgsB,OAAOnyD,IAAItL,EAAQmQ,SAAS,SAAS7E,GAAG,OAAOknC,EAAEf,QAAQthC,SAAS7E,IAAItL,EAAQ2nF,qBAAqB,SAASr8E,EAAEU,EAAEf,GAAG,OAAOunC,EAAEf,QAAQk2C,qBAAqBr8E,EAAEU,EAAEf,IAC7ejL,EAAQ4nF,cAAc,WAAW,OAAOp1C,EAAEf,QAAQm2C,iBAAiB5nF,EAAQk1B,QAAQ,U,6BCbtE,IAAI2yD,EAAGz9E,EAAQ,IAAS09E,EAAG19E,EAAQ,KAAa,SAASwB,EAAEN,GAAG,IAAI,IAAIU,EAAE,yDAAyDV,EAAEK,EAAE,EAAEA,EAAEhC,UAAUzD,OAAOyF,IAAIK,GAAG,WAAW8oC,mBAAmBnrC,UAAUgC,IAAI,MAAM,yBAAyBL,EAAE,WAAWU,EAAE,iHAAiH,IAAI+7E,EAAG,IAAIC,IAAIC,EAAG,GAAG,SAASC,EAAG58E,EAAEU,GAAGm8E,EAAG78E,EAAEU,GAAGm8E,EAAG78E,EAAE,UAAUU,GACtb,SAASm8E,EAAG78E,EAAEU,GAAW,IAARi8E,EAAG38E,GAAGU,EAAMV,EAAE,EAAEA,EAAEU,EAAE9F,OAAOoF,IAAIy8E,EAAGj6D,IAAI9hB,EAAEV,IACzD,IAAI88E,IAAK,qBAAqB50D,QAAQ,qBAAqBA,OAAOmuC,UAAU,qBAAqBnuC,OAAOmuC,SAASv0D,eAAei7E,EAAGnoF,OAAOC,UAAUE,eAAeioF,EAAG,8VAA8VC,EACpgB,GAAGC,EAAG,GACkN,SAASp8E,EAAEd,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,GAAGvnB,KAAKglF,gBAAgB,IAAIz8E,GAAG,IAAIA,GAAG,IAAIA,EAAEvI,KAAKilF,cAAcj9E,EAAEhI,KAAKklF,mBAAmB19E,EAAExH,KAAKmlF,gBAAgBj9E,EAAElI,KAAKolF,aAAav9E,EAAE7H,KAAKP,KAAK8I,EAAEvI,KAAKqlF,YAAYz8E,EAAE5I,KAAKslF,kBAAkB/9D,EAAE,IAAItH,EAAE,GACnb,uIAAuI2U,MAAM,KAAKr0B,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAetH,SAAQ,SAASsH,GAAG,IAAIU,EAAEV,EAAE,GAAGoY,EAAE1X,GAAG,IAAII,EAAEJ,EAAE,GAAE,EAAGV,EAAE,GAAG,MAAK,GAAG,MAAM,CAAC,kBAAkB,YAAY,aAAa,SAAStH,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAEwI,cAAc,MAAK,GAAG,MACve,CAAC,cAAc,4BAA4B,YAAY,iBAAiB9P,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,8OAA8O+sB,MAAM,KAAKr0B,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAEwI,cAAc,MAAK,GAAG,MACrb,CAAC,UAAU,WAAW,QAAQ,YAAY9P,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,YAAYtH,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,OAAO,OAAO,OAAO,QAAQtH,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,SAAStH,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAEwI,cAAc,MAAK,GAAG,MAAM,IAAIk1E,EAAG,gBAAgB,SAASC,EAAG39E,GAAG,OAAOA,EAAE,GAAGiwC,cAI3Y,SAAS2tC,EAAG59E,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEyY,EAAErjB,eAAe2L,GAAG0X,EAAE1X,GAAG,MAAQ,OAAOf,EAAE,IAAIA,EAAE/H,KAAKuI,KAAK,EAAEO,EAAE9F,SAAS,MAAM8F,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,MAP9I,SAAYV,EAAEU,EAAEL,EAAEF,GAAG,GAAG,OAAOO,GAAG,qBAAqBA,GADqE,SAAYV,EAAEU,EAAEL,EAAEF,GAAG,GAAG,OAAOE,GAAG,IAAIA,EAAEzI,KAAK,OAAM,EAAG,cAAc8I,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGP,IAAc,OAAOE,GAASA,EAAE88E,gBAAmD,WAAnCn9E,EAAEA,EAAEwI,cAActM,MAAM,EAAE,KAAsB,UAAU8D,GAAE,QAAQ,OAAM,GAC5T69E,CAAG79E,EAAEU,EAAEL,EAAEF,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOE,EAAE,OAAOA,EAAEzI,MAAM,KAAK,EAAE,OAAO8I,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAO/F,MAAM+F,GAAG,KAAK,EAAE,OAAO/F,MAAM+F,IAAI,EAAEA,EAAE,OAAM,EAOpEo9E,CAAGp9E,EAAEL,EAAEV,EAAEQ,KAAKE,EAAE,MAAMF,GAAG,OAAOR,EARxK,SAAYK,GAAG,QAAG+8E,EAAGhlF,KAAKmlF,EAAGl9E,KAAe+8E,EAAGhlF,KAAKklF,EAAGj9E,KAAeg9E,EAAG73E,KAAKnF,GAAUk9E,EAAGl9E,IAAG,GAAGi9E,EAAGj9E,IAAG,GAAS,IAQ0D+9E,CAAGr9E,KAAK,OAAOL,EAAEL,EAAEwpE,gBAAgB9oE,GAAGV,EAAEk4D,aAAax3D,EAAE,GAAGL,IAAIV,EAAE29E,gBAAgBt9E,EAAEL,EAAE49E,cAAc,OAAOl9E,EAAE,IAAIV,EAAE/H,MAAQ,GAAGyI,GAAGK,EAAEf,EAAEy9E,cAAcj9E,EAAER,EAAE09E,mBAAmB,OAAOh9E,EAAEL,EAAEwpE,gBAAgB9oE,IAAaL,EAAE,KAAXV,EAAEA,EAAE/H,OAAc,IAAI+H,IAAG,IAAKU,EAAE,GAAG,GAAGA,EAAEF,EAAEH,EAAEg+E,eAAe79E,EAAEO,EAAEL,GAAGL,EAAEk4D,aAAax3D,EAAEL,MAH7c,0jCAA0jC0sB,MAAM,KAAKr0B,SAAQ,SAASsH,GAAG,IAAIU,EAAEV,EAAEqS,QAAQqrE,EACzmCC,GAAIvlE,EAAE1X,GAAG,IAAII,EAAEJ,EAAE,GAAE,EAAGV,EAAE,MAAK,GAAG,MAAM,2EAA2E+sB,MAAM,KAAKr0B,SAAQ,SAASsH,GAAG,IAAIU,EAAEV,EAAEqS,QAAQqrE,EAAGC,GAAIvlE,EAAE1X,GAAG,IAAII,EAAEJ,EAAE,GAAE,EAAGV,EAAE,gCAA+B,GAAG,MAAM,CAAC,WAAW,WAAW,aAAatH,SAAQ,SAASsH,GAAG,IAAIU,EAAEV,EAAEqS,QAAQqrE,EAAGC,GAAIvlE,EAAE1X,GAAG,IAAII,EAAEJ,EAAE,GAAE,EAAGV,EAAE,wCAAuC,GAAG,MAAM,CAAC,WAAW,eAAetH,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAEwI,cAAc,MAAK,GAAG,MAC/c4P,EAAE6lE,UAAU,IAAIn9E,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAcpI,SAAQ,SAASsH,GAAGoY,EAAEpY,GAAG,IAAIc,EAAEd,EAAE,GAAE,EAAGA,EAAEwI,cAAc,MAAK,GAAG,MAEzL,IAAIkoE,EAAG6L,EAAG7B,mDAAmDwD,EAAGjpF,OAAO2jF,IAAI,iBAAiBuF,EAAGlpF,OAAO2jF,IAAI,gBAAgBwF,EAAGnpF,OAAO2jF,IAAI,kBAAkByF,EAAGppF,OAAO2jF,IAAI,qBAAqB0F,EAAGrpF,OAAO2jF,IAAI,kBAAkB2F,EAAGtpF,OAAO2jF,IAAI,kBAAkB4F,EAAGvpF,OAAO2jF,IAAI,iBAAiB6F,EAAGxpF,OAAO2jF,IAAI,qBAAqB8F,EAAGzpF,OAAO2jF,IAAI,kBAAkB+F,EAAG1pF,OAAO2jF,IAAI,uBAAuBgG,EAAG3pF,OAAO2jF,IAAI,cAAciG,EAAG5pF,OAAO2jF,IAAI,cAAc3jF,OAAO2jF,IAAI,eAAe3jF,OAAO2jF,IAAI,0BACje,IAAIkG,EAAG7pF,OAAO2jF,IAAI,mBAAmB3jF,OAAO2jF,IAAI,uBAAuB3jF,OAAO2jF,IAAI,eAAe3jF,OAAO2jF,IAAI,wBAAwB,IAAImG,EAAG9pF,OAAOE,SAAS,SAAS6pF,EAAGh/E,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAE++E,GAAI/+E,EAAE++E,IAAK/+E,EAAE,eAA0CA,EAAE,KAAK,IAAoBi/E,EAAhB7kE,EAAExlB,OAAOof,OAAU,SAASkrE,EAAGl/E,GAAG,QAAG,IAASi/E,EAAG,IAAI,MAAMjoF,QAAS,MAAMqJ,GAAG,IAAIK,EAAEL,EAAE8wC,MAAM/+B,OAAOvE,MAAM,gBAAgBoxE,EAAGv+E,GAAGA,EAAE,IAAI,GAAG,MAAM,KAAKu+E,EAAGj/E,EAAE,IAAIm/E,GAAG,EACzb,SAASC,EAAGp/E,EAAEU,GAAG,IAAIV,GAAGm/E,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAI9+E,EAAErJ,MAAMqoF,kBAAkBroF,MAAMqoF,uBAAkB,EAAO,IAAI,GAAG3+E,EAAE,GAAGA,EAAE,WAAW,MAAM1J,SAAUpC,OAAOgB,eAAe8K,EAAE7L,UAAU,QAAQ,CAACkd,IAAI,WAAW,MAAM/a,WAAY,kBAAkBmH,SAASA,QAAQC,UAAU,CAAC,IAAID,QAAQC,UAAUsC,EAAE,IAAI,MAAMH,GAAG,IAAIJ,EAAEI,EAAEpC,QAAQC,UAAU4B,EAAE,GAAGU,OAAO,CAAC,IAAIA,EAAE3I,OAAO,MAAMwI,GAAGJ,EAAEI,EAAEP,EAAEjI,KAAK2I,EAAE7L,eAAe,CAAC,IAAI,MAAMmC,QAAS,MAAMuJ,GAAGJ,EAAEI,EAAEP,KAAK,MAAMO,GAAG,GAAGA,GAAGJ,GAAG,kBAAkBI,EAAE4wC,MAAM,CAAC,IAAI,IAAIxxC,EAAEY,EAAE4wC,MAAMpkB,MAAM,MACnfhsB,EAAEZ,EAAEgxC,MAAMpkB,MAAM,MAAMrN,EAAE/f,EAAE/E,OAAO,EAAEqG,EAAEF,EAAEnG,OAAO,EAAE,GAAG8kB,GAAG,GAAGze,GAAGtB,EAAE+f,KAAK3e,EAAEE,IAAIA,IAAI,KAAK,GAAGye,GAAG,GAAGze,EAAEye,IAAIze,IAAI,GAAGtB,EAAE+f,KAAK3e,EAAEE,GAAG,CAAC,GAAG,IAAIye,GAAG,IAAIze,EAAG,GAAG,GAAGye,IAAQ,IAAJze,GAAStB,EAAE+f,KAAK3e,EAAEE,GAAG,CAAC,IAAI2U,EAAE,KAAKjW,EAAE+f,GAAGrN,QAAQ,WAAW,QAA6F,OAArFrS,EAAElF,aAAa8a,EAAEzH,SAAS,iBAAiByH,EAAEA,EAAEvD,QAAQ,cAAcrS,EAAElF,cAAqB8a,SAAQ,GAAG8J,GAAG,GAAGze,GAAG,QAD1N,QAC0Ok+E,GAAG,EAAGnoF,MAAMqoF,kBAAkBh/E,EAAE,OAAOL,EAAEA,EAAEA,EAAElF,aAAakF,EAAE7E,KAAK,IAAI+jF,EAAGl/E,GAAG,GAC5Z,SAASs/E,EAAGt/E,GAAG,OAAOA,EAAEu/E,KAAK,KAAK,EAAE,OAAOL,EAAGl/E,EAAEpI,MAAM,KAAK,GAAG,OAAOsnF,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOl/E,EAAEo/E,EAAGp/E,EAAEpI,MAAK,GAAM,KAAK,GAAG,OAAOoI,EAAEo/E,EAAGp/E,EAAEpI,KAAKw/E,QAAO,GAAM,KAAK,EAAE,OAAOp3E,EAAEo/E,EAAGp/E,EAAEpI,MAAK,GAAM,QAAQ,MAAM,IACrR,SAAS4nF,EAAGx/E,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAElF,aAAakF,EAAE7E,MAAM,KAAK,GAAG,kBAAkB6E,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKo+E,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKG,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKK,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkB3+E,EAAE,OAAOA,EAAE05E,UAAU,KAAK8E,EAAG,OAAOx+E,EAAElF,aAAa,WAAW,YAAY,KAAKyjF,EAAG,OAAOv+E,EAAEo7E,SAAStgF,aAAa,WAAW,YAAY,KAAK2jF,EAAG,IAAI/9E,EAAEV,EAAEo3E,OAC7Z,OADoap3E,EAAEA,EAAElF,eACndkF,EAAE,MADieA,EAAEU,EAAE5F,aAClf4F,EAAEvF,MAAM,IAAY,cAAc6E,EAAE,IAAI,cAAqBA,EAAE,KAAK4+E,EAAG,OAA6B,QAAtBl+E,EAAEV,EAAElF,aAAa,MAAc4F,EAAE8+E,EAAGx/E,EAAEpI,OAAO,OAAO,KAAKinF,EAAGn+E,EAAEV,EAAEy7E,SAASz7E,EAAEA,EAAE00B,MAAM,IAAI,OAAO8qD,EAAGx/E,EAAEU,IAAI,MAAML,KAAK,OAAO,KACvM,SAASo/E,EAAGz/E,GAAG,IAAIU,EAAEV,EAAEpI,KAAK,OAAOoI,EAAEu/E,KAAK,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAE,OAAO7+E,EAAE5F,aAAa,WAAW,YAAY,KAAK,GAAG,OAAO4F,EAAE06E,SAAStgF,aAAa,WAAW,YAAY,KAAK,GAAG,MAAM,qBAAqB,KAAK,GAAG,OAAkBkF,GAAXA,EAAEU,EAAE02E,QAAWt8E,aAAakF,EAAE7E,MAAM,GAAGuF,EAAE5F,cAAc,KAAKkF,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAK,EAAE,MAAM,WAAW,KAAK,EAAE,OAAOU,EAAE,KAAK,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,MAAM,OAAO,KAAK,GAAG,OAAO8+E,EAAG9+E,GAAG,KAAK,EAAE,OAAOA,IAAI29E,EAAG,aAAa,OAAO,KAAK,GAAG,MAAM,YACtf,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,eAAe,KAAK,GAAG,MAAM,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,oBAAoB39E,EAAE,OAAOA,EAAE5F,aAAa4F,EAAEvF,MAAM,KAAK,GAAG,kBAAkBuF,EAAE,OAAOA,EAAE,OAAO,KAAK,SAASg/E,EAAG1/E,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,YAAqB,IAAK,SAAS,OAAOA,EAAE,QAAQ,MAAM,IACla,SAAS2/E,EAAG3/E,GAAG,IAAIU,EAAEV,EAAEpI,KAAK,OAAOoI,EAAEA,EAAE8oE,WAAW,UAAU9oE,EAAEwI,gBAAgB,aAAa9H,GAAG,UAAUA,GAEpF,SAASk/E,EAAG5/E,GAAGA,EAAE6/E,gBAAgB7/E,EAAE6/E,cADvD,SAAY7/E,GAAG,IAAIU,EAAEi/E,EAAG3/E,GAAG,UAAU,QAAQK,EAAEzL,OAAOyK,yBAAyBW,EAAE9E,YAAYrG,UAAU6L,GAAGP,EAAE,GAAGH,EAAEU,GAAG,IAAIV,EAAEjL,eAAe2L,IAAI,qBAAqBL,GAAG,oBAAoBA,EAAEwtB,KAAK,oBAAoBxtB,EAAE0R,IAAI,CAAC,IAAIpS,EAAEU,EAAEwtB,IAAI9sB,EAAEV,EAAE0R,IAAiL,OAA7Knd,OAAOgB,eAAeoK,EAAEU,EAAE,CAAC5K,cAAa,EAAG+3B,IAAI,WAAW,OAAOluB,EAAE5H,KAAKI,OAAO4Z,IAAI,SAAS/R,GAAGG,EAAE,GAAGH,EAAEe,EAAEhJ,KAAKI,KAAK6H,MAAMpL,OAAOgB,eAAeoK,EAAEU,EAAE,CAAC7K,WAAWwK,EAAExK,aAAmB,CAACiqF,SAAS,WAAW,OAAO3/E,GAAG4/E,SAAS,SAAS//E,GAAGG,EAAE,GAAGH,GAAGggF,aAAa,WAAWhgF,EAAE6/E,cACxf,YAAY7/E,EAAEU,MAAuDu/E,CAAGjgF,IAAI,SAASkgF,EAAGlgF,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIU,EAAEV,EAAE6/E,cAAc,IAAIn/E,EAAE,OAAM,EAAG,IAAIL,EAAEK,EAAEo/E,WAAe3/E,EAAE,GAAqD,OAAlDH,IAAIG,EAAEw/E,EAAG3/E,GAAGA,EAAE4H,QAAQ,OAAO,QAAQ5H,EAAErK,QAAOqK,EAAEG,KAAaE,IAAGK,EAAEq/E,SAAS//E,IAAG,GAAO,SAASmgF,EAAGngF,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBq2D,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOr2D,EAAEogF,eAAepgF,EAAEqtC,KAAK,MAAM3sC,GAAG,OAAOV,EAAEqtC,MAC/Z,SAASgzC,EAAGrgF,EAAEU,GAAG,IAAIL,EAAEK,EAAEkH,QAAQ,OAAOwS,EAAE,GAAG1Z,EAAE,CAAC4/E,oBAAe,EAAOC,kBAAa,EAAO5qF,WAAM,EAAOiS,QAAQ,MAAMvH,EAAEA,EAAEL,EAAEwgF,cAAcC,iBAAiB,SAASC,EAAG1gF,EAAEU,GAAG,IAAIL,EAAE,MAAMK,EAAE6/E,aAAa,GAAG7/E,EAAE6/E,aAAapgF,EAAE,MAAMO,EAAEkH,QAAQlH,EAAEkH,QAAQlH,EAAE4/E,eAAejgF,EAAEq/E,EAAG,MAAMh/E,EAAE/K,MAAM+K,EAAE/K,MAAM0K,GAAGL,EAAEwgF,cAAc,CAACC,eAAetgF,EAAE8xD,aAAa5xD,EAAEsgF,WAAW,aAAajgF,EAAE9I,MAAM,UAAU8I,EAAE9I,KAAK,MAAM8I,EAAEkH,QAAQ,MAAMlH,EAAE/K,OAAO,SAASirF,EAAG5gF,EAAEU,GAAe,OAAZA,EAAEA,EAAEkH,UAAiBg2E,EAAG59E,EAAE,UAAUU,GAAE,GAC3d,SAASmgF,EAAG7gF,EAAEU,GAAGkgF,EAAG5gF,EAAEU,GAAG,IAAIL,EAAEq/E,EAAGh/E,EAAE/K,OAAOwK,EAAEO,EAAE9I,KAAK,GAAG,MAAMyI,EAAK,WAAWF,GAAM,IAAIE,GAAG,KAAKL,EAAErK,OAAOqK,EAAErK,OAAO0K,KAAEL,EAAErK,MAAM,GAAG0K,GAAOL,EAAErK,QAAQ,GAAG0K,IAAIL,EAAErK,MAAM,GAAG0K,QAAQ,GAAG,WAAWF,GAAG,UAAUA,EAA8B,YAA3BH,EAAEwpE,gBAAgB,SAAgB9oE,EAAE3L,eAAe,SAAS+rF,GAAG9gF,EAAEU,EAAE9I,KAAKyI,GAAGK,EAAE3L,eAAe,iBAAiB+rF,GAAG9gF,EAAEU,EAAE9I,KAAK8nF,EAAGh/E,EAAE6/E,eAAe,MAAM7/E,EAAEkH,SAAS,MAAMlH,EAAE4/E,iBAAiBtgF,EAAEsgF,iBAAiB5/E,EAAE4/E,gBACnZ,SAASS,EAAG/gF,EAAEU,EAAEL,GAAG,GAAGK,EAAE3L,eAAe,UAAU2L,EAAE3L,eAAe,gBAAgB,CAAC,IAAIoL,EAAEO,EAAE9I,KAAK,KAAK,WAAWuI,GAAG,UAAUA,QAAG,IAASO,EAAE/K,OAAO,OAAO+K,EAAE/K,OAAO,OAAO+K,EAAE,GAAGV,EAAEwgF,cAAcvuB,aAAa5xD,GAAGK,IAAIV,EAAErK,QAAQqK,EAAErK,MAAM+K,GAAGV,EAAEugF,aAAa7/E,EAAW,MAATL,EAAEL,EAAE7E,QAAc6E,EAAE7E,KAAK,IAAI6E,EAAEsgF,iBAAiBtgF,EAAEwgF,cAAcC,eAAe,KAAKpgF,IAAIL,EAAE7E,KAAKkF,GACvV,SAASygF,GAAG9gF,EAAEU,EAAEL,GAAM,WAAWK,GAAGy/E,EAAGngF,EAAEghF,iBAAiBhhF,IAAE,MAAMK,EAAEL,EAAEugF,aAAa,GAAGvgF,EAAEwgF,cAAcvuB,aAAajyD,EAAEugF,eAAe,GAAGlgF,IAAIL,EAAEugF,aAAa,GAAGlgF,IAAG,IAAI4gF,GAAGv7E,MAAMC,QAC7K,SAASu7E,GAAGlhF,EAAEU,EAAEL,EAAEF,GAAe,GAAZH,EAAEA,EAAEyoC,QAAW/nC,EAAE,CAACA,EAAE,GAAG,IAAI,IAAIf,EAAE,EAAEA,EAAEU,EAAEzF,OAAO+E,IAAIe,EAAE,IAAIL,EAAEV,KAAI,EAAG,IAAIU,EAAE,EAAEA,EAAEL,EAAEpF,OAAOyF,IAAIV,EAAEe,EAAE3L,eAAe,IAAIiL,EAAEK,GAAG1K,OAAOqK,EAAEK,GAAG8gF,WAAWxhF,IAAIK,EAAEK,GAAG8gF,SAASxhF,GAAGA,GAAGQ,IAAIH,EAAEK,GAAG+gF,iBAAgB,OAAQ,CAAmB,IAAlB/gF,EAAE,GAAGq/E,EAAGr/E,GAAGK,EAAE,KAASf,EAAE,EAAEA,EAAEK,EAAEpF,OAAO+E,IAAI,CAAC,GAAGK,EAAEL,GAAGhK,QAAQ0K,EAAiD,OAA9CL,EAAEL,GAAGwhF,UAAS,OAAGhhF,IAAIH,EAAEL,GAAGyhF,iBAAgB,IAAW,OAAO1gF,GAAGV,EAAEL,GAAG4zB,WAAW7yB,EAAEV,EAAEL,IAAI,OAAOe,IAAIA,EAAEygF,UAAS,IACpY,SAASE,GAAGrhF,EAAEU,GAAG,GAAG,MAAMA,EAAE4gF,wBAAwB,MAAMtqF,MAAMsJ,EAAE,KAAK,OAAO8Z,EAAE,GAAG1Z,EAAE,CAAC/K,WAAM,EAAO4qF,kBAAa,EAAO77E,SAAS,GAAG1E,EAAEwgF,cAAcvuB,eAAe,SAASsvB,GAAGvhF,EAAEU,GAAG,IAAIL,EAAEK,EAAE/K,MAAM,GAAG,MAAM0K,EAAE,CAA+B,GAA9BA,EAAEK,EAAEgE,SAAShE,EAAEA,EAAE6/E,aAAgB,MAAMlgF,EAAE,CAAC,GAAG,MAAMK,EAAE,MAAM1J,MAAMsJ,EAAE,KAAK,GAAG2gF,GAAG5gF,GAAG,CAAC,GAAG,EAAEA,EAAEzF,OAAO,MAAM5D,MAAMsJ,EAAE,KAAKD,EAAEA,EAAE,GAAGK,EAAEL,EAAE,MAAMK,IAAIA,EAAE,IAAIL,EAAEK,EAAEV,EAAEwgF,cAAc,CAACvuB,aAAaytB,EAAGr/E,IAChY,SAASmhF,GAAGxhF,EAAEU,GAAG,IAAIL,EAAEq/E,EAAGh/E,EAAE/K,OAAOwK,EAAEu/E,EAAGh/E,EAAE6/E,cAAc,MAAMlgF,KAAIA,EAAE,GAAGA,KAAML,EAAErK,QAAQqK,EAAErK,MAAM0K,GAAG,MAAMK,EAAE6/E,cAAcvgF,EAAEugF,eAAelgF,IAAIL,EAAEugF,aAAalgF,IAAI,MAAMF,IAAIH,EAAEugF,aAAa,GAAGpgF,GAAG,SAASshF,GAAGzhF,GAAG,IAAIU,EAAEV,EAAEq3E,YAAY32E,IAAIV,EAAEwgF,cAAcvuB,cAAc,KAAKvxD,GAAG,OAAOA,IAAIV,EAAErK,MAAM+K,GAAG,SAASghF,GAAG1hF,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,gCAC9a,SAAS2hF,GAAG3hF,EAAEU,GAAG,OAAO,MAAMV,GAAG,iCAAiCA,EAAE0hF,GAAGhhF,GAAG,+BAA+BV,GAAG,kBAAkBU,EAAE,+BAA+BV,EAC/J,IAAI4hF,GAAe5hF,GAAZ6hF,IAAY7hF,GAAsJ,SAASA,EAAEU,GAAG,GAAG,+BAA+BV,EAAE8hF,cAAc,cAAc9hF,EAAEA,EAAEo4D,UAAU13D,MAAM,CAA2F,KAA1FkhF,GAAGA,IAAIvrB,SAASv0D,cAAc,QAAUs2D,UAAU,QAAQ13D,EAAEwrC,UAAU/jC,WAAW,SAAazH,EAAEkhF,GAAGnL,WAAWz2E,EAAEy2E,YAAYz2E,EAAE+hF,YAAY/hF,EAAEy2E,YAAY,KAAK/1E,EAAE+1E,YAAYz2E,EAAEm4D,YAAYz3D,EAAE+1E,cAA3a,qBAAqBuL,OAAOA,MAAMC,wBAAwB,SAASvhF,EAAEL,EAAEF,EAAER,GAAGqiF,MAAMC,yBAAwB,WAAW,OAAOjiF,GAAEU,EAAEL,OAAUL,IACtK,SAASkiF,GAAGliF,EAAEU,GAAG,GAAGA,EAAE,CAAC,IAAIL,EAAEL,EAAEy2E,WAAW,GAAGp2E,GAAGA,IAAIL,EAAEmiF,WAAW,IAAI9hF,EAAE+hF,SAAwB,YAAd/hF,EAAEgiF,UAAU3hF,GAAUV,EAAEq3E,YAAY32E,EACrH,IAAI4hF,GAAG,CAACC,yBAAwB,EAAGC,aAAY,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGC,YAAW,EAAGC,WAAU,EAAGC,YAAW,EAAGC,SAAQ,EAAGC,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAClfC,MAAK,EAAGC,aAAY,EAAGC,cAAa,EAAG51D,aAAY,EAAG61D,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIC,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASvoD,GAAG18B,EAAEU,EAAEL,GAAG,OAAO,MAAMK,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGL,GAAG,kBAAkBK,GAAG,IAAIA,GAAG4hF,GAAGvtF,eAAeiL,IAAIsiF,GAAGtiF,IAAI,GAAGU,GAAG0R,OAAO1R,EAAE,KACrb,SAASwkF,GAAGllF,EAAEU,GAAa,IAAI,IAAIL,KAAlBL,EAAEA,EAAEksB,MAAmBxrB,EAAE,GAAGA,EAAE3L,eAAesL,GAAG,CAAC,IAAIF,EAAE,IAAIE,EAAEiJ,QAAQ,MAAM3J,EAAE+8B,GAAGr8B,EAAEK,EAAEL,GAAGF,GAAG,UAAUE,IAAIA,EAAE,YAAYF,EAAEH,EAAEssE,YAAYjsE,EAAEV,GAAGK,EAAEK,GAAGV,GADc/K,OAAO+G,KAAK2mF,IAAI5pF,SAAQ,SAASsH,GAAGilF,GAAGvsF,SAAQ,SAASgI,GAAGA,EAAEA,EAAEV,EAAE/D,OAAO,GAAGg0C,cAAcjwC,EAAEsgE,UAAU,GAAGgiB,GAAG5hF,GAAG4hF,GAAGtiF,SAC5H,IAAImlF,GAAG/qE,EAAE,CAACgrE,UAAS,GAAI,CAACC,MAAK,EAAGj/D,MAAK,EAAGk/D,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAG70D,OAAM,EAAG80D,QAAO,EAAGC,MAAK,EAAGC,MAAK,EAAGxiC,OAAM,EAAG9jD,QAAO,EAAGumF,OAAM,EAAGC,KAAI,IAClT,SAASC,GAAGhmF,EAAEU,GAAG,GAAGA,EAAE,CAAC,GAAGykF,GAAGnlF,KAAK,MAAMU,EAAEgE,UAAU,MAAMhE,EAAE4gF,yBAAyB,MAAMtqF,MAAMsJ,EAAE,IAAIN,IAAI,GAAG,MAAMU,EAAE4gF,wBAAwB,CAAC,GAAG,MAAM5gF,EAAEgE,SAAS,MAAM1N,MAAMsJ,EAAE,KAAK,GAAG,kBAAkBI,EAAE4gF,2BAA2B,WAAW5gF,EAAE4gF,yBAAyB,MAAMtqF,MAAMsJ,EAAE,KAAM,GAAG,MAAMI,EAAEwrB,OAAO,kBAAkBxrB,EAAEwrB,MAAM,MAAMl1B,MAAMsJ,EAAE,MAC5V,SAAS2lF,GAAGjmF,EAAEU,GAAG,IAAI,IAAIV,EAAEsJ,QAAQ,KAAK,MAAM,kBAAkB5I,EAAE6rB,GAAG,OAAOvsB,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,GAAI,IAAIkmF,GAAG,KAAK,SAASC,GAAGnmF,GAA6F,OAA1FA,EAAEA,EAAE9C,QAAQ8C,EAAEomF,YAAYl+D,QAASm+D,0BAA0BrmF,EAAEA,EAAEqmF,yBAAgC,IAAIrmF,EAAEoiF,SAASpiF,EAAEmpE,WAAWnpE,EAAE,IAAIsmF,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACpc,SAASC,GAAGzmF,GAAG,GAAGA,EAAE0mF,GAAG1mF,GAAG,CAAC,GAAG,oBAAoBsmF,GAAG,MAAMtvF,MAAMsJ,EAAE,MAAM,IAAII,EAAEV,EAAE2mF,UAAUjmF,IAAIA,EAAEkmF,GAAGlmF,GAAG4lF,GAAGtmF,EAAE2mF,UAAU3mF,EAAEpI,KAAK8I,KAAK,SAASmmF,GAAG7mF,GAAGumF,GAAGC,GAAGA,GAAGnsF,KAAK2F,GAAGwmF,GAAG,CAACxmF,GAAGumF,GAAGvmF,EAAE,SAAS8mF,KAAK,GAAGP,GAAG,CAAC,IAAIvmF,EAAEumF,GAAG7lF,EAAE8lF,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAGzmF,GAAMU,EAAE,IAAIV,EAAE,EAAEA,EAAEU,EAAE9F,OAAOoF,IAAIymF,GAAG/lF,EAAEV,KAAK,SAAS+mF,GAAG/mF,EAAEU,GAAG,OAAOV,EAAEU,GAAG,SAASsmF,MAAM,IAAIC,IAAG,EAAG,SAASC,GAAGlnF,EAAEU,EAAEL,GAAG,GAAG4mF,GAAG,OAAOjnF,EAAEU,EAAEL,GAAG4mF,IAAG,EAAG,IAAI,OAAOF,GAAG/mF,EAAEU,EAAEL,GAAlB,QAAgC4mF,IAAG,GAAG,OAAOV,IAAI,OAAOC,MAAGQ,KAAKF,OAC3a,SAASK,GAAGnnF,EAAEU,GAAG,IAAIL,EAAEL,EAAE2mF,UAAU,GAAG,OAAOtmF,EAAE,OAAO,KAAK,IAAIF,EAAEymF,GAAGvmF,GAAG,GAAG,OAAOF,EAAE,OAAO,KAAKE,EAAEF,EAAEO,GAAGV,EAAE,OAAOU,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBP,GAAGA,EAAEozB,YAAqBpzB,IAAI,YAAbH,EAAEA,EAAEpI,OAAuB,UAAUoI,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGG,EAAE,MAAMH,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGK,GAAG,oBACleA,EAAE,MAAMrJ,MAAMsJ,EAAE,IAAII,SAASL,IAAI,OAAOA,EAAE,IAAI+mF,IAAG,EAAG,GAAGtK,EAAG,IAAI,IAAIuK,GAAG,GAAGzyF,OAAOgB,eAAeyxF,GAAG,UAAU,CAACx5D,IAAI,WAAWu5D,IAAG,KAAMl/D,OAAOgqB,iBAAiB,OAAOm1C,GAAGA,IAAIn/D,OAAOmqB,oBAAoB,OAAOg1C,GAAGA,IAAI,MAAMrnF,IAAGonF,IAAG,EAAG,SAASE,GAAGtnF,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,EAAEze,EAAE2U,GAAG,IAAIrV,EAAEmF,MAAM7Q,UAAUqH,MAAMnE,KAAKsG,UAAU,GAAG,IAAIqC,EAAEpC,MAAM+B,EAAEE,GAAG,MAAMC,GAAGrI,KAAKovF,QAAQ/mF,IAAI,IAAIgnF,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAASvnF,GAAGwnF,IAAG,EAAGC,GAAGznF,IAAI,SAAS6nF,GAAG7nF,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,EAAEze,EAAE2U,GAAG4xE,IAAG,EAAGC,GAAG,KAAKH,GAAGhpF,MAAMspF,GAAGvpF,WACvV,SAASypF,GAAG9nF,GAAG,IAAIU,EAAEV,EAAEK,EAAEL,EAAE,GAAGA,EAAE+nF,UAAU,KAAKrnF,EAAEoT,QAAQpT,EAAEA,EAAEoT,WAAW,CAAC9T,EAAEU,EAAE,GAAO,KAAa,MAAjBA,EAAEV,GAASgoF,SAAc3nF,EAAEK,EAAEoT,QAAQ9T,EAAEU,EAAEoT,aAAa9T,GAAG,OAAO,IAAIU,EAAE6+E,IAAIl/E,EAAE,KAAK,SAAS4nF,GAAGjoF,GAAG,GAAG,KAAKA,EAAEu/E,IAAI,CAAC,IAAI7+E,EAAEV,EAAEkoF,cAAsE,GAAxD,OAAOxnF,IAAkB,QAAdV,EAAEA,EAAE+nF,aAAqBrnF,EAAEV,EAAEkoF,gBAAmB,OAAOxnF,EAAE,OAAOA,EAAEynF,WAAW,OAAO,KAAK,SAASC,GAAGpoF,GAAG,GAAG8nF,GAAG9nF,KAAKA,EAAE,MAAMhJ,MAAMsJ,EAAE,MAEpS,SAAS+nF,GAAGroF,GAAW,OAAO,QAAfA,EADtN,SAAYA,GAAG,IAAIU,EAAEV,EAAE+nF,UAAU,IAAIrnF,EAAE,CAAS,GAAG,QAAXA,EAAEonF,GAAG9nF,IAAe,MAAMhJ,MAAMsJ,EAAE,MAAM,OAAOI,IAAIV,EAAE,KAAKA,EAAE,IAAI,IAAIK,EAAEL,EAAEG,EAAEO,IAAI,CAAC,IAAIf,EAAEU,EAAEyT,OAAO,GAAG,OAAOnU,EAAE,MAAM,IAAIoB,EAAEpB,EAAEooF,UAAU,GAAG,OAAOhnF,EAAE,CAAY,GAAG,QAAdZ,EAAER,EAAEmU,QAAmB,CAACzT,EAAEF,EAAE,SAAS,MAAM,GAAGR,EAAE2oF,QAAQvnF,EAAEunF,MAAM,CAAC,IAAIvnF,EAAEpB,EAAE2oF,MAAMvnF,GAAG,CAAC,GAAGA,IAAIV,EAAE,OAAO+nF,GAAGzoF,GAAGK,EAAE,GAAGe,IAAIZ,EAAE,OAAOioF,GAAGzoF,GAAGe,EAAEK,EAAEA,EAAEwnF,QAAQ,MAAMvxF,MAAMsJ,EAAE,MAAO,GAAGD,EAAEyT,SAAS3T,EAAE2T,OAAOzT,EAAEV,EAAEQ,EAAEY,MAAM,CAAC,IAAI,IAAI2e,GAAE,EAAGze,EAAEtB,EAAE2oF,MAAMrnF,GAAG,CAAC,GAAGA,IAAIZ,EAAE,CAACqf,GAAE,EAAGrf,EAAEV,EAAEQ,EAAEY,EAAE,MAAM,GAAGE,IAAId,EAAE,CAACuf,GAAE,EAAGvf,EAAER,EAAEU,EAAEU,EAAE,MAAME,EAAEA,EAAEsnF,QAAQ,IAAI7oE,EAAE,CAAC,IAAIze,EAAEF,EAAEunF,MAAMrnF,GAAG,CAAC,GAAGA,IAC5fZ,EAAE,CAACqf,GAAE,EAAGrf,EAAEU,EAAEZ,EAAER,EAAE,MAAM,GAAGsB,IAAId,EAAE,CAACuf,GAAE,EAAGvf,EAAEY,EAAEV,EAAEV,EAAE,MAAMsB,EAAEA,EAAEsnF,QAAQ,IAAI7oE,EAAE,MAAM1oB,MAAMsJ,EAAE,OAAQ,GAAGD,EAAE0nF,YAAY5nF,EAAE,MAAMnJ,MAAMsJ,EAAE,MAAO,GAAG,IAAID,EAAEk/E,IAAI,MAAMvoF,MAAMsJ,EAAE,MAAM,OAAOD,EAAEsmF,UAAUxgD,UAAU9lC,EAAEL,EAAEU,EAAmB8nF,CAAGxoF,IAAmByoF,GAAGzoF,GAAG,KAAK,SAASyoF,GAAGzoF,GAAG,GAAG,IAAIA,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,IAAI,OAAOv/E,EAAE,IAAIA,EAAEA,EAAEsoF,MAAM,OAAOtoF,GAAG,CAAC,IAAIU,EAAE+nF,GAAGzoF,GAAG,GAAG,OAAOU,EAAE,OAAOA,EAAEV,EAAEA,EAAEuoF,QAAQ,OAAO,KACtX,IAAIG,GAAGlM,EAAGmM,0BAA0BC,GAAGpM,EAAGqM,wBAAwBC,GAAGtM,EAAGuM,qBAAqBC,GAAGxM,EAAGyM,sBAAsB3nD,GAAEk7C,EAAG0M,aAAaC,GAAG3M,EAAG4M,iCAAiCC,GAAG7M,EAAG8M,2BAA2BC,GAAG/M,EAAGgN,8BAA8BC,GAAGjN,EAAGkN,wBAAwBC,GAAGnN,EAAGoN,qBAAqBC,GAAGrN,EAAGsN,sBAAsBC,GAAG,KAAKC,GAAG,KACvV,IAAIC,GAAGz+E,KAAKgsB,MAAMhsB,KAAKgsB,MAAiC,SAAYx3B,GAAU,OAAO,KAAdA,KAAK,GAAe,GAAG,IAAIkqF,GAAGlqF,GAAGujE,GAAG,GAAG,GAA9E2mB,GAAG1+E,KAAKkuD,IAAI6J,GAAG/3D,KAAK2+E,IAA4D,IAAIC,GAAG,GAAGC,GAAG,QAC7H,SAASC,GAAGtqF,GAAG,OAAOA,GAAGA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAS,QAAFA,EAAU,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,OAAS,UAAFA,EAAY,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,WAAW,OAAO,WACzgB,QAAQ,OAAOA,GAAG,SAASy3C,GAAGz3C,EAAEU,GAAG,IAAIL,EAAEL,EAAEuqF,aAAa,GAAG,IAAIlqF,EAAE,OAAO,EAAE,IAAIF,EAAE,EAAER,EAAEK,EAAEwqF,eAAezpF,EAAEf,EAAEyqF,YAAY/qE,EAAI,UAAFrf,EAAY,GAAG,IAAIqf,EAAE,CAAC,IAAIze,EAAEye,GAAG/f,EAAE,IAAIsB,EAAEd,EAAEmqF,GAAGrpF,GAAS,KAALF,GAAG2e,KAAUvf,EAAEmqF,GAAGvpF,SAAiB,KAAP2e,EAAErf,GAAGV,GAAQQ,EAAEmqF,GAAG5qE,GAAG,IAAI3e,IAAIZ,EAAEmqF,GAAGvpF,IAAI,GAAG,IAAIZ,EAAE,OAAO,EAAE,GAAG,IAAIO,GAAGA,IAAIP,GAAG,KAAKO,EAAEf,MAAKA,EAAEQ,GAAGA,KAAEY,EAAEL,GAAGA,IAAQ,KAAKf,GAAG,KAAO,QAAFoB,IAAY,OAAOL,EAA0C,GAAxC,KAAO,EAAFP,KAAOA,GAAK,GAAFE,GAA4B,KAAtBK,EAAEV,EAAE0qF,gBAAwB,IAAI1qF,EAAEA,EAAE2qF,cAAcjqF,GAAGP,EAAE,EAAEO,GAAcf,EAAE,IAAbU,EAAE,GAAG4pF,GAAGvpF,IAAUP,GAAGH,EAAEK,GAAGK,IAAIf,EAAE,OAAOQ,EACtc,SAASyqF,GAAG5qF,EAAEU,GAAG,OAAOV,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAOU,EAAE,IAAI,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAOA,EAAE,IAAuJ,QAAQ,OAAO,GACnN,SAAS29D,GAAGr+D,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEuqF,cAAsCvqF,EAAI,WAAFA,EAAa,WAAW,EAAE,SAASs+D,KAAK,IAAIt+D,EAAEoqF,GAAoC,OAA1B,KAAQ,SAAfA,KAAK,MAAqBA,GAAG,IAAWpqF,EAAE,SAASmmE,GAAGnmE,GAAG,IAAI,IAAIU,EAAE,GAAGL,EAAE,EAAE,GAAGA,EAAEA,IAAIK,EAAErG,KAAK2F,GAAG,OAAOU,EAC1a,SAASmqF,GAAG7qF,EAAEU,EAAEL,GAAGL,EAAEuqF,cAAc7pF,EAAE,YAAYA,IAAIV,EAAEwqF,eAAe,EAAExqF,EAAEyqF,YAAY,IAAGzqF,EAAEA,EAAE8qF,YAAWpqF,EAAE,GAAGupF,GAAGvpF,IAAQL,EACxH,SAAS0qF,GAAG/qF,EAAEU,GAAG,IAAIL,EAAEL,EAAE0qF,gBAAgBhqF,EAAE,IAAIV,EAAEA,EAAE2qF,cAActqF,GAAG,CAAC,IAAIF,EAAE,GAAG8pF,GAAG5pF,GAAGV,EAAE,GAAGQ,EAAER,EAAEe,EAAEV,EAAEG,GAAGO,IAAIV,EAAEG,IAAIO,GAAGL,IAAIV,GAAG,IAAIqB,GAAE,EAAE,SAASgqF,GAAGhrF,GAAS,OAAO,GAAbA,IAAIA,GAAa,EAAEA,EAAE,KAAO,UAAFA,GAAa,GAAG,UAAU,EAAE,EAAE,IAAIirF,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAI/9D,IAAIg+D,GAAG,IAAIh+D,IAAIi+D,GAAG,GAAGC,GAAG,6PAA6P/+D,MAAM,KAChiB,SAASg/D,GAAG/rF,EAAEU,GAAG,OAAOV,GAAG,IAAK,UAAU,IAAK,WAAWwrF,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAGK,OAAOtrF,EAAEurF,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBL,GAAGI,OAAOtrF,EAAEurF,YACxS,SAASC,GAAGlsF,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,GAAG,OAAG,OAAOf,GAAGA,EAAEmsF,cAAcprF,GAASf,EAAE,CAACosF,UAAU1rF,EAAE2rF,aAAahsF,EAAEisF,iBAAiBnsF,EAAEgsF,YAAYprF,EAAEwrF,iBAAiB,CAAC5sF,IAAI,OAAOe,IAAY,QAARA,EAAEgmF,GAAGhmF,KAAawqF,GAAGxqF,IAAIV,IAAEA,EAAEssF,kBAAkBnsF,EAAEO,EAAEV,EAAEusF,iBAAiB,OAAO5sF,IAAI,IAAIe,EAAE4I,QAAQ3J,IAAIe,EAAErG,KAAKsF,GAAUK,GAEnR,SAASwsF,GAAGxsF,GAAG,IAAIU,EAAE+rF,GAAGzsF,EAAE9C,QAAQ,GAAG,OAAOwD,EAAE,CAAC,IAAIL,EAAEynF,GAAGpnF,GAAG,GAAG,OAAOL,EAAE,GAAW,MAARK,EAAEL,EAAEk/E,MAAY,GAAW,QAAR7+E,EAAEunF,GAAG5nF,IAA4D,OAA/CL,EAAEosF,UAAU1rF,OAAE2qF,GAAGrrF,EAAE0sF,UAAS,WAAWvB,GAAG9qF,WAAkB,GAAG,IAAIK,GAAGL,EAAEsmF,UAAUxgD,QAAQ+hD,cAAcyE,aAAmE,YAArD3sF,EAAEosF,UAAU,IAAI/rF,EAAEk/E,IAAIl/E,EAAEsmF,UAAUiG,cAAc,MAAa5sF,EAAEosF,UAAU,KAC9S,SAASS,GAAG7sF,GAAG,GAAG,OAAOA,EAAEosF,UAAU,OAAM,EAAG,IAAI,IAAI1rF,EAAEV,EAAEusF,iBAAiB,EAAE7rF,EAAE9F,QAAQ,CAAC,IAAIyF,EAAEysF,GAAG9sF,EAAEqsF,aAAarsF,EAAEssF,iBAAiB5rF,EAAE,GAAGV,EAAEmsF,aAAa,GAAG,OAAO9rF,EAAiG,OAAe,QAARK,EAAEgmF,GAAGrmF,KAAa6qF,GAAGxqF,GAAGV,EAAEosF,UAAU/rF,GAAE,EAA3H,IAAIF,EAAE,IAAtBE,EAAEL,EAAEmsF,aAAwBjxF,YAAYmF,EAAEzI,KAAKyI,GAAG6lF,GAAG/lF,EAAEE,EAAEnD,OAAO6vF,cAAc5sF,GAAG+lF,GAAG,KAA0DxlF,EAAE4/B,QAAQ,OAAM,EAAG,SAAS0sD,GAAGhtF,EAAEU,EAAEL,GAAGwsF,GAAG7sF,IAAIK,EAAE2rF,OAAOtrF,GAAG,SAASusF,KAAK3B,IAAG,EAAG,OAAOE,IAAIqB,GAAGrB,MAAMA,GAAG,MAAM,OAAOC,IAAIoB,GAAGpB,MAAMA,GAAG,MAAM,OAAOC,IAAImB,GAAGnB,MAAMA,GAAG,MAAMC,GAAGjzF,QAAQs0F,IAAIpB,GAAGlzF,QAAQs0F,IAChf,SAASE,GAAGltF,EAAEU,GAAGV,EAAEosF,YAAY1rF,IAAIV,EAAEosF,UAAU,KAAKd,KAAKA,IAAG,EAAG9O,EAAGmM,0BAA0BnM,EAAGkN,wBAAwBuD,MACvH,SAASE,GAAGntF,GAAG,SAASU,EAAEA,GAAG,OAAOwsF,GAAGxsF,EAAEV,GAAG,GAAG,EAAEurF,GAAG3wF,OAAO,CAACsyF,GAAG3B,GAAG,GAAGvrF,GAAG,IAAI,IAAIK,EAAE,EAAEA,EAAEkrF,GAAG3wF,OAAOyF,IAAI,CAAC,IAAIF,EAAEorF,GAAGlrF,GAAGF,EAAEisF,YAAYpsF,IAAIG,EAAEisF,UAAU,OAA+F,IAAxF,OAAOZ,IAAI0B,GAAG1B,GAAGxrF,GAAG,OAAOyrF,IAAIyB,GAAGzB,GAAGzrF,GAAG,OAAO0rF,IAAIwB,GAAGxB,GAAG1rF,GAAG2rF,GAAGjzF,QAAQgI,GAAGkrF,GAAGlzF,QAAQgI,GAAOL,EAAE,EAAEA,EAAEwrF,GAAGjxF,OAAOyF,KAAIF,EAAE0rF,GAAGxrF,IAAK+rF,YAAYpsF,IAAIG,EAAEisF,UAAU,MAAM,KAAK,EAAEP,GAAGjxF,QAAiB,QAARyF,EAAEwrF,GAAG,IAAYO,WAAYI,GAAGnsF,GAAG,OAAOA,EAAE+rF,WAAWP,GAAGvrD,QAAQ,IAAI8sD,GAAG1c,EAAGuJ,wBAAwBoT,IAAG,EAC5a,SAASC,GAAGttF,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEqB,GAAED,EAAEqsF,GAAGrT,WAAWqT,GAAGrT,WAAW,KAAK,IAAI/4E,GAAE,EAAEusF,GAAGvtF,EAAEU,EAAEL,EAAEF,GAAjB,QAA4Ba,GAAErB,EAAEytF,GAAGrT,WAAWh5E,GAAG,SAASysF,GAAGxtF,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEqB,GAAED,EAAEqsF,GAAGrT,WAAWqT,GAAGrT,WAAW,KAAK,IAAI/4E,GAAE,EAAEusF,GAAGvtF,EAAEU,EAAEL,EAAEF,GAAjB,QAA4Ba,GAAErB,EAAEytF,GAAGrT,WAAWh5E,GAC/N,SAASwsF,GAAGvtF,EAAEU,EAAEL,EAAEF,GAAG,GAAGktF,GAAG,CAAC,IAAI1tF,EAAEmtF,GAAG9sF,EAAEU,EAAEL,EAAEF,GAAG,GAAG,OAAOR,EAAE8tF,GAAGztF,EAAEU,EAAEP,EAAEoB,GAAGlB,GAAG0rF,GAAG/rF,EAAEG,QAAQ,GANtF,SAAYH,EAAEU,EAAEL,EAAEF,EAAER,GAAG,OAAOe,GAAG,IAAK,UAAU,OAAO8qF,GAAGU,GAAGV,GAAGxrF,EAAEU,EAAEL,EAAEF,EAAER,IAAG,EAAG,IAAK,YAAY,OAAO8rF,GAAGS,GAAGT,GAAGzrF,EAAEU,EAAEL,EAAEF,EAAER,IAAG,EAAG,IAAK,YAAY,OAAO+rF,GAAGQ,GAAGR,GAAG1rF,EAAEU,EAAEL,EAAEF,EAAER,IAAG,EAAG,IAAK,cAAc,IAAIoB,EAAEpB,EAAEssF,UAAkD,OAAxCN,GAAG55E,IAAIhR,EAAEmrF,GAAGP,GAAG99D,IAAI9sB,IAAI,KAAKf,EAAEU,EAAEL,EAAEF,EAAER,KAAU,EAAG,IAAK,oBAAoB,OAAOoB,EAAEpB,EAAEssF,UAAUL,GAAG75E,IAAIhR,EAAEmrF,GAAGN,GAAG/9D,IAAI9sB,IAAI,KAAKf,EAAEU,EAAEL,EAAEF,EAAER,KAAI,EAAG,OAAM,EAMxQ+tF,CAAG/tF,EAAEK,EAAEU,EAAEL,EAAEF,GAAGA,EAAEmzB,uBAAuB,GAAGy4D,GAAG/rF,EAAEG,GAAK,EAAFO,IAAM,EAAEorF,GAAGxiF,QAAQtJ,GAAG,CAAC,KAAK,OAAOL,GAAG,CAAC,IAAIoB,EAAE2lF,GAAG/mF,GAA0D,GAAvD,OAAOoB,GAAGkqF,GAAGlqF,GAAiB,QAAdA,EAAE+rF,GAAG9sF,EAAEU,EAAEL,EAAEF,KAAastF,GAAGztF,EAAEU,EAAEP,EAAEoB,GAAGlB,GAAMU,IAAIpB,EAAE,MAAMA,EAAEoB,EAAE,OAAOpB,GAAGQ,EAAEmzB,uBAAuBm6D,GAAGztF,EAAEU,EAAEP,EAAE,KAAKE,IAAI,IAAIkB,GAAG,KACpU,SAASurF,GAAG9sF,EAAEU,EAAEL,EAAEF,GAA2B,GAAxBoB,GAAG,KAAwB,QAAXvB,EAAEysF,GAAVzsF,EAAEmmF,GAAGhmF,KAAuB,GAAW,QAARO,EAAEonF,GAAG9nF,IAAYA,EAAE,UAAU,GAAW,MAARK,EAAEK,EAAE6+E,KAAW,CAAS,GAAG,QAAXv/E,EAAEioF,GAAGvnF,IAAe,OAAOV,EAAEA,EAAE,UAAU,GAAG,IAAIK,EAAE,CAAC,GAAGK,EAAEimF,UAAUxgD,QAAQ+hD,cAAcyE,aAAa,OAAO,IAAIjsF,EAAE6+E,IAAI7+E,EAAEimF,UAAUiG,cAAc,KAAK5sF,EAAE,UAAUU,IAAIV,IAAIA,EAAE,MAAW,OAALuB,GAAGvB,EAAS,KACzS,SAAS2tF,GAAG3tF,GAAG,OAAOA,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,QAAQ,IAAK,cAAc,IAAK,OAAO,IAAK,MAAM,IAAK,WAAW,IAAK,WAAW,IAAK,UAAU,IAAK,YAAY,IAAK,OAAO,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,UAAU,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,YAAY,IAAK,UAAU,IAAK,QAAQ,IAAK,QAAQ,IAAK,OAAO,IAAK,gBAAgB,IAAK,cAAc,IAAK,YAAY,IAAK,aAAa,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,cAAc,IAAK,WAAW,IAAK,aAAa,IAAK,eAAe,IAAK,SAAS,IAAK,kBAAkB,IAAK,YAAY,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,oBAAoB,IAAK,aAAa,IAAK,YAAY,IAAK,cAAc,IAAK,OAAO,IAAK,mBAAmB,IAAK,QAAQ,IAAK,aAAa,IAAK,WAAW,IAAK,SAAS,IAAK,cAAc,OAAO,EAAE,IAAK,OAAO,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,IAAK,QAAQ,IAAK,aAAa,IAAK,aAAa,IAAK,eAAe,IAAK,eAAe,OAAO,EACpqC,IAAK,UAAU,OAAOmpF,MAAM,KAAKE,GAAG,OAAO,EAAE,KAAKE,GAAG,OAAO,EAAE,KAAKE,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,UAAU,QAAQ,OAAO,GAAG,QAAQ,OAAO,IAAI,IAAI+D,GAAG,KAAKC,GAAG,KAAK3mB,GAAG,KAAK,SAAS4mB,KAAK,GAAG5mB,GAAG,OAAOA,GAAG,IAAIlnE,EAAkBG,EAAhBO,EAAEmtF,GAAGxtF,EAAEK,EAAE9F,OAAS+E,EAAE,UAAUiuF,GAAGA,GAAGj4F,MAAMi4F,GAAGvW,YAAYt2E,EAAEpB,EAAE/E,OAAO,IAAIoF,EAAE,EAAEA,EAAEK,GAAGK,EAAEV,KAAKL,EAAEK,GAAGA,KAAK,IAAI0f,EAAErf,EAAEL,EAAE,IAAIG,EAAE,EAAEA,GAAGuf,GAAGhf,EAAEL,EAAEF,KAAKR,EAAEoB,EAAEZ,GAAGA,KAAK,OAAO+mE,GAAGvnE,EAAEzD,MAAM8D,EAAE,EAAEG,EAAE,EAAEA,OAAE,GACjY,SAAS4tF,GAAG/tF,GAAG,IAAIU,EAAEV,EAAEguF,QAA+E,MAAvE,aAAahuF,EAAgB,KAAbA,EAAEA,EAAEiuF,WAAgB,KAAKvtF,IAAIV,EAAE,IAAKA,EAAEU,EAAE,KAAKV,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,EAAE,SAASkuF,KAAK,OAAM,EAAG,SAASC,KAAK,OAAM,EAC1K,SAASttB,GAAG7gE,GAAG,SAASU,EAAEA,EAAEP,EAAER,EAAEoB,EAAE2e,GAA6G,IAAI,IAAIrf,KAAlHlI,KAAKi2F,WAAW1tF,EAAEvI,KAAKk2F,YAAY1uF,EAAExH,KAAKP,KAAKuI,EAAEhI,KAAKg0F,YAAYprF,EAAE5I,KAAK+E,OAAOwiB,EAAEvnB,KAAKsvC,cAAc,KAAkBznC,EAAEA,EAAEjL,eAAesL,KAAKK,EAAEV,EAAEK,GAAGlI,KAAKkI,GAAGK,EAAEA,EAAEK,GAAGA,EAAEV,IAAgI,OAA5HlI,KAAKm2F,oBAAoB,MAAMvtF,EAAEwtF,iBAAiBxtF,EAAEwtF,kBAAiB,IAAKxtF,EAAEytF,aAAaN,GAAGC,GAAGh2F,KAAKs2F,qBAAqBN,GAAUh2F,KAC1E,OAD+EiiB,EAAE1Z,EAAE7L,UAAU,CAACw+B,eAAe,WAAWl7B,KAAKo2F,kBAAiB,EAAG,IAAIvuF,EAAE7H,KAAKg0F,YAAYnsF,IAAIA,EAAEqzB,eAAerzB,EAAEqzB,iBAAiB,mBAAmBrzB,EAAEwuF,cAC7exuF,EAAEwuF,aAAY,GAAIr2F,KAAKm2F,mBAAmBJ,KAAK56D,gBAAgB,WAAW,IAAItzB,EAAE7H,KAAKg0F,YAAYnsF,IAAIA,EAAEszB,gBAAgBtzB,EAAEszB,kBAAkB,mBAAmBtzB,EAAE0uF,eAAe1uF,EAAE0uF,cAAa,GAAIv2F,KAAKs2F,qBAAqBP,KAAKS,QAAQ,aAAaC,aAAaV,KAAYxtF,EAChR,IAAoLmuF,GAAGC,GAAGC,GAAtLpuB,GAAG,CAACquB,WAAW,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,SAASnvF,GAAG,OAAOA,EAAEmvF,WAAWrmD,KAAKC,OAAOwlD,iBAAiB,EAAEa,UAAU,GAAGC,GAAGxuB,GAAGF,IAAI2uB,GAAGl1E,EAAE,GAAGumD,GAAG,CAAC1yB,KAAK,EAAEwsB,OAAO,IAAI80B,GAAG1uB,GAAGyuB,IAAaE,GAAGp1E,EAAE,GAAGk1E,GAAG,CAACG,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,iBAAiBC,GAAGC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,SAASvwF,GAAG,YAAO,IAASA,EAAEuwF,cAAcvwF,EAAEwwF,cAAcxwF,EAAEomF,WAAWpmF,EAAEywF,UAAUzwF,EAAEwwF,YAAYxwF,EAAEuwF,eAAeG,UAAU,SAAS1wF,GAAG,MAAG,cAC3eA,EAASA,EAAE0wF,WAAU1wF,IAAI+uF,KAAKA,IAAI,cAAc/uF,EAAEpI,MAAMi3F,GAAG7uF,EAAEyvF,QAAQV,GAAGU,QAAQX,GAAG9uF,EAAE0vF,QAAQX,GAAGW,SAASZ,GAAGD,GAAG,EAAEE,GAAG/uF,GAAU6uF,KAAI8B,UAAU,SAAS3wF,GAAG,MAAM,cAAcA,EAAEA,EAAE2wF,UAAU7B,MAAM8B,GAAG/vB,GAAG2uB,IAAiCqB,GAAGhwB,GAA7BzmD,EAAE,GAAGo1E,GAAG,CAACsB,aAAa,KAA4CC,GAAGlwB,GAA9BzmD,EAAE,GAAGk1E,GAAG,CAACiB,cAAc,KAA0ES,GAAGnwB,GAA5DzmD,EAAE,GAAGumD,GAAG,CAACswB,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAcC,GAAGh3E,EAAE,GAAGumD,GAAG,CAAC0wB,cAAc,SAASrxF,GAAG,MAAM,kBAAkBA,EAAEA,EAAEqxF,cAAcnpE,OAAOmpE,iBAAiBC,GAAGzwB,GAAGuwB,IAAyBG,GAAG1wB,GAArBzmD,EAAE,GAAGumD,GAAG,CAAC54D,KAAK,KAAcypF,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAcC,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAG3yF,GAAG,IAAIU,EAAEvI,KAAKg0F,YAAY,OAAOzrF,EAAEyvF,iBAAiBzvF,EAAEyvF,iBAAiBnwF,MAAIA,EAAEsyF,GAAGtyF,OAAMU,EAAEV,GAAM,SAASowF,KAAK,OAAOuC,GAC9R,IAAIC,GAAGx4E,EAAE,GAAGk1E,GAAG,CAAC55F,IAAI,SAASsK,GAAG,GAAGA,EAAEtK,IAAI,CAAC,IAAIgL,EAAE8wF,GAAGxxF,EAAEtK,MAAMsK,EAAEtK,IAAI,GAAG,iBAAiBgL,EAAE,OAAOA,EAAE,MAAM,aAAaV,EAAEpI,KAAc,MAARoI,EAAE+tF,GAAG/tF,IAAU,QAAQ2J,OAAOyC,aAAapM,GAAI,YAAYA,EAAEpI,MAAM,UAAUoI,EAAEpI,KAAKy6F,GAAGryF,EAAEguF,UAAU,eAAe,IAAI1oF,KAAK,EAAE4rC,SAAS,EAAE6+C,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAE2C,OAAO,EAAE5mE,OAAO,EAAEkkE,iBAAiBC,GAAGnC,SAAS,SAASjuF,GAAG,MAAM,aAAaA,EAAEpI,KAAKm2F,GAAG/tF,GAAG,GAAGguF,QAAQ,SAAShuF,GAAG,MAAM,YAAYA,EAAEpI,MAAM,UAAUoI,EAAEpI,KAAKoI,EAAEguF,QAAQ,GAAG8E,MAAM,SAAS9yF,GAAG,MAAM,aAC7eA,EAAEpI,KAAKm2F,GAAG/tF,GAAG,YAAYA,EAAEpI,MAAM,UAAUoI,EAAEpI,KAAKoI,EAAEguF,QAAQ,KAAK+E,GAAGlyB,GAAG+xB,IAAiII,GAAGnyB,GAA7HzmD,EAAE,GAAGo1E,GAAG,CAACvD,UAAU,EAAE59D,MAAM,EAAEC,OAAO,EAAE2kE,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEC,UAAU,KAAmIC,GAAG3yB,GAArHzmD,EAAE,GAAGk1E,GAAG,CAACmE,QAAQ,EAAEC,cAAc,EAAEC,eAAe,EAAE1D,OAAO,EAAEC,QAAQ,EAAEH,QAAQ,EAAEC,SAAS,EAAEG,iBAAiBC,MAA0EwD,GAAG/yB,GAA3DzmD,EAAE,GAAGumD,GAAG,CAAC4c,aAAa,EAAE2T,YAAY,EAAEC,cAAc,KAAc0C,GAAGz5E,EAAE,GAAGo1E,GAAG,CAACsE,OAAO,SAAS9zF,GAAG,MAAM,WAAWA,EAAEA,EAAE8zF,OAAO,gBAAgB9zF,GAAGA,EAAE+zF,YAAY,GAClfC,OAAO,SAASh0F,GAAG,MAAM,WAAWA,EAAEA,EAAEg0F,OAAO,gBAAgBh0F,GAAGA,EAAEi0F,YAAY,eAAej0F,GAAGA,EAAEk0F,WAAW,GAAGC,OAAO,EAAEC,UAAU,IAAIC,GAAGxzB,GAAGgzB,IAAIS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIz/B,GAAGioB,GAAI,qBAAqB50D,OAAOytC,GAAG,KAAKmnB,GAAI,iBAAiBzmB,WAAWV,GAAGU,SAASk+B,cAAc,IAAIv/B,GAAG8nB,GAAI,cAAc50D,SAASytC,GAAGb,GAAGgoB,KAAMjoB,IAAIc,IAAI,EAAEA,IAAI,IAAIA,IAAInB,GAAG7qD,OAAOyC,aAAa,IAAIgpD,IAAG,EAC1W,SAASU,GAAG91D,EAAEU,GAAG,OAAOV,GAAG,IAAK,QAAQ,OAAO,IAAIs0F,GAAGhrF,QAAQ5I,EAAEstF,SAAS,IAAK,UAAU,OAAO,MAAMttF,EAAEstF,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,GAAI,SAAS14B,GAAGt1D,GAAc,MAAM,kBAAjBA,EAAEA,EAAEy6D,SAAkC,SAASz6D,EAAEA,EAAE+H,KAAK,KAAK,IAAI21B,IAAG,EAE9Q,IAAIq3B,GAAG,CAAC3mC,OAAM,EAAG84B,MAAK,EAAGstC,UAAS,EAAG,kBAAiB,EAAGC,OAAM,EAAGC,OAAM,EAAGtgE,QAAO,EAAGugE,UAAS,EAAGC,OAAM,EAAG95C,QAAO,EAAG+5C,KAAI,EAAG9lD,MAAK,EAAG+lD,MAAK,EAAGjlD,KAAI,EAAGklD,MAAK,GAAI,SAAS5/B,GAAGn1D,GAAG,IAAIU,EAAEV,GAAGA,EAAE8oE,UAAU9oE,EAAE8oE,SAAStgE,cAAc,MAAM,UAAU9H,IAAIq0D,GAAG/0D,EAAEpI,MAAM,aAAa8I,EAAQ,SAASg0D,GAAG10D,EAAEU,EAAEL,EAAEF,GAAG0mF,GAAG1mF,GAAsB,GAAnBO,EAAEi0D,GAAGj0D,EAAE,aAAgB9F,SAASyF,EAAE,IAAIgvF,GAAG,WAAW,SAAS,KAAKhvF,EAAEF,GAAGH,EAAE3F,KAAK,CAAC+/D,MAAM/5D,EAAEkqB,UAAU7pB,KAAK,IAAIw0D,GAAG,KAAK8/B,GAAG,KAAK,SAASv3D,GAAGz9B,GAAG40D,GAAG50D,EAAE,GAAG,SAASy0D,GAAGz0D,GAAe,GAAGkgF,EAATjrB,GAAGj1D,IAAY,OAAOA,EACne,SAASw1D,GAAGx1D,EAAEU,GAAG,GAAG,WAAWV,EAAE,OAAOU,EAAE,IAAI60D,IAAG,EAAG,GAAGunB,EAAG,CAAC,IAAIlX,GAAG,GAAGkX,EAAG,CAAC,IAAI3mB,GAAG,YAAYE,SAAS,IAAIF,GAAG,CAAC,IAAI8+B,GAAG5+B,SAASv0D,cAAc,OAAOmzF,GAAG/8B,aAAa,UAAU,WAAW/B,GAAG,oBAAoB8+B,GAAGC,QAAQtvB,GAAGzP,QAAQyP,IAAG,EAAGrQ,GAAGqQ,MAAMvP,SAASk+B,cAAc,EAAEl+B,SAASk+B,cAAc,SAASY,KAAKjgC,KAAKA,GAAGkgC,YAAY,mBAAmBC,IAAIL,GAAG9/B,GAAG,MAAM,SAASmgC,GAAGr1F,GAAG,GAAG,UAAUA,EAAEu9E,cAAc9oB,GAAGugC,IAAI,CAAC,IAAIt0F,EAAE,GAAGg0D,GAAGh0D,EAAEs0F,GAAGh1F,EAAEmmF,GAAGnmF,IAAIknF,GAAGzpD,GAAG/8B,IAC5b,SAASs1D,GAAGh2D,EAAEU,EAAEL,GAAG,YAAYL,GAAGm1F,KAAUH,GAAG30F,GAAR60D,GAAGx0D,GAAU40F,YAAY,mBAAmBD,KAAK,aAAar1F,GAAGm1F,KAAK,SAASt/B,GAAG71D,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOy0D,GAAGugC,IAAI,SAAS3/B,GAAGr1D,EAAEU,GAAG,GAAG,UAAUV,EAAE,OAAOy0D,GAAG/zD,GAAG,SAAS60F,GAAGv1F,EAAEU,GAAG,GAAG,UAAUV,GAAG,WAAWA,EAAE,OAAOy0D,GAAG/zD,GAAmE,IAAI80F,GAAG,oBAAoB5gG,OAAO23B,GAAG33B,OAAO23B,GAA5G,SAAYvsB,EAAEU,GAAG,OAAOV,IAAIU,IAAI,IAAIV,GAAG,EAAEA,IAAI,EAAEU,IAAIV,IAAIA,GAAGU,IAAIA,GACrW,SAAS+0F,GAAGz1F,EAAEU,GAAG,GAAG80F,GAAGx1F,EAAEU,GAAG,OAAM,EAAG,GAAG,kBAAkBV,GAAG,OAAOA,GAAG,kBAAkBU,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIL,EAAEzL,OAAO+G,KAAKqE,GAAGG,EAAEvL,OAAO+G,KAAK+E,GAAG,GAAGL,EAAEzF,SAASuF,EAAEvF,OAAO,OAAM,EAAG,IAAIuF,EAAE,EAAEA,EAAEE,EAAEzF,OAAOuF,IAAI,CAAC,IAAIR,EAAEU,EAAEF,GAAG,IAAI48E,EAAGhlF,KAAK2I,EAAEf,KAAK61F,GAAGx1F,EAAEL,GAAGe,EAAEf,IAAI,OAAM,EAAG,OAAM,EAAG,SAAS+1F,GAAG11F,GAAG,KAAKA,GAAGA,EAAEy2E,YAAYz2E,EAAEA,EAAEy2E,WAAW,OAAOz2E,EACrU,SAAS21F,GAAG31F,EAAEU,GAAG,IAAwBP,EAApBE,EAAEq1F,GAAG11F,GAAO,IAAJA,EAAE,EAAYK,GAAG,CAAC,GAAG,IAAIA,EAAE+hF,SAAS,CAA0B,GAAzBjiF,EAAEH,EAAEK,EAAEg3E,YAAYz8E,OAAUoF,GAAGU,GAAGP,GAAGO,EAAE,MAAM,CAACyuB,KAAK9uB,EAAE6J,OAAOxJ,EAAEV,GAAGA,EAAEG,EAAEH,EAAE,CAAC,KAAKK,GAAG,CAAC,GAAGA,EAAEu1F,YAAY,CAACv1F,EAAEA,EAAEu1F,YAAY,MAAM51F,EAAEK,EAAEA,EAAE8oE,WAAW9oE,OAAE,EAAOA,EAAEq1F,GAAGr1F,IAAI,SAASw1F,GAAG71F,EAAEU,GAAG,SAAOV,IAAGU,KAAEV,IAAIU,KAAKV,GAAG,IAAIA,EAAEoiF,YAAY1hF,GAAG,IAAIA,EAAE0hF,SAASyT,GAAG71F,EAAEU,EAAEyoE,YAAY,aAAanpE,EAAEA,EAAEo2D,SAAS11D,KAAGV,EAAE81F,4BAAwD,GAA7B91F,EAAE81F,wBAAwBp1F,MAClZ,SAASw1D,KAAK,IAAI,IAAIl2D,EAAEkoB,OAAOxnB,EAAEy/E,IAAKz/E,aAAaV,EAAE+1F,mBAAmB,CAAC,IAAI,IAAI11F,EAAE,kBAAkBK,EAAEs1F,cAAc9kD,SAAS63B,KAAK,MAAM5oE,GAAGE,GAAE,EAAG,IAAGA,EAAyB,MAAMK,EAAEy/E,GAA/BngF,EAAEU,EAAEs1F,eAAgC3/B,UAAU,OAAO31D,EAAE,SAASg2D,GAAG12D,GAAG,IAAIU,EAAEV,GAAGA,EAAE8oE,UAAU9oE,EAAE8oE,SAAStgE,cAAc,OAAO9H,IAAI,UAAUA,IAAI,SAASV,EAAEpI,MAAM,WAAWoI,EAAEpI,MAAM,QAAQoI,EAAEpI,MAAM,QAAQoI,EAAEpI,MAAM,aAAaoI,EAAEpI,OAAO,aAAa8I,GAAG,SAASV,EAAEi2F,iBACxZ,SAASrgC,GAAG51D,GAAG,IAAIU,EAAEw1D,KAAK71D,EAAEL,EAAEk2F,YAAY/1F,EAAEH,EAAEm2F,eAAe,GAAGz1F,IAAIL,GAAGA,GAAGA,EAAE2gF,eAAe6U,GAAGx1F,EAAE2gF,cAAc1qB,gBAAgBj2D,GAAG,CAAC,GAAG,OAAOF,GAAGu2D,GAAGr2D,GAAG,GAAGK,EAAEP,EAAEuI,WAAc,KAAR1I,EAAEG,EAAEwI,OAAiB3I,EAAEU,GAAG,mBAAmBL,EAAEA,EAAEqnC,eAAehnC,EAAEL,EAAEunC,aAAap8B,KAAKC,IAAIzL,EAAEK,EAAE1K,MAAMiF,aAAa,IAAGoF,GAAGU,EAAEL,EAAE2gF,eAAe3qB,WAAW31D,EAAE01F,aAAaluE,QAASmuE,aAAa,CAACr2F,EAAEA,EAAEq2F,eAAe,IAAI12F,EAAEU,EAAEg3E,YAAYz8E,OAAOmG,EAAEyK,KAAKC,IAAItL,EAAEuI,MAAM/I,GAAGQ,OAAE,IAASA,EAAEwI,IAAI5H,EAAEyK,KAAKC,IAAItL,EAAEwI,IAAIhJ,IAAIK,EAAEs2F,QAAQv1F,EAAEZ,IAAIR,EAAEQ,EAAEA,EAAEY,EAAEA,EAAEpB,GAAGA,EAAEg2F,GAAGt1F,EAAEU,GAAG,IAAI2e,EAAEi2E,GAAGt1F,EACvfF,GAAGR,GAAG+f,IAAI,IAAI1f,EAAEu2F,YAAYv2F,EAAEw2F,aAAa72F,EAAEwvB,MAAMnvB,EAAEy2F,eAAe92F,EAAEuK,QAAQlK,EAAE02F,YAAYh3E,EAAEyP,MAAMnvB,EAAE22F,cAAcj3E,EAAExV,WAAUxJ,EAAEA,EAAEk2F,eAAgBC,SAASl3F,EAAEwvB,KAAKxvB,EAAEuK,QAAQlK,EAAE82F,kBAAkB/1F,EAAEZ,GAAGH,EAAE+2F,SAASr2F,GAAGV,EAAEs2F,OAAO52E,EAAEyP,KAAKzP,EAAExV,UAAUxJ,EAAEs2F,OAAOt3E,EAAEyP,KAAKzP,EAAExV,QAAQlK,EAAE+2F,SAASr2F,KAAU,IAALA,EAAE,GAAOV,EAAEK,EAAEL,EAAEA,EAAEmpE,YAAY,IAAInpE,EAAEoiF,UAAU1hF,EAAErG,KAAK,CAACqtE,QAAQ1nE,EAAE80B,KAAK90B,EAAEi3F,WAAW7qB,IAAIpsE,EAAEqzD,YAAmD,IAAvC,oBAAoBhzD,EAAE61C,OAAO71C,EAAE61C,QAAY71C,EAAE,EAAEA,EAAEK,EAAE9F,OAAOyF,KAAIL,EAAEU,EAAEL,IAAKqnE,QAAQuvB,WAAWj3F,EAAE80B,KAAK90B,EAAE0nE,QAAQrU,UAAUrzD,EAAEosE,KACrf,IAAI8qB,GAAGpa,GAAI,iBAAiBzmB,UAAU,IAAIA,SAASk+B,aAAa4C,GAAG,KAAKlhC,GAAG,KAAKF,GAAG,KAAKqhC,IAAG,EAC3F,SAASC,GAAGr3F,EAAEU,EAAEL,GAAG,IAAIF,EAAEE,EAAE6nB,SAAS7nB,EAAEA,EAAEg2D,SAAS,IAAIh2D,EAAE+hF,SAAS/hF,EAAEA,EAAE2gF,cAAcoW,IAAI,MAAMD,IAAIA,KAAKhX,EAAGhgF,KAAU,mBAALA,EAAEg3F,KAAyBzgC,GAAGv2D,GAAGA,EAAE,CAACuI,MAAMvI,EAAEunC,eAAe/+B,IAAIxI,EAAEynC,cAAuFznC,EAAE,CAACq2F,YAA3Er2F,GAAGA,EAAE6gF,eAAe7gF,EAAE6gF,cAAcoV,aAAaluE,QAAQmuE,gBAA+BG,WAAWC,aAAat2F,EAAEs2F,aAAaC,UAAUv2F,EAAEu2F,UAAUC,YAAYx2F,EAAEw2F,aAAc5gC,IAAI0/B,GAAG1/B,GAAG51D,KAAK41D,GAAG51D,EAAsB,GAApBA,EAAEw0D,GAAGsB,GAAG,aAAgBr7D,SAAS8F,EAAE,IAAI2uF,GAAG,WAAW,SAAS,KAAK3uF,EAAEL,GAAGL,EAAE3F,KAAK,CAAC+/D,MAAM15D,EAAE6pB,UAAUpqB,IAAIO,EAAExD,OAAOi6F,MACjf,SAASG,GAAGt3F,EAAEU,GAAG,IAAIL,EAAE,GAAkF,OAA/EA,EAAEL,EAAEwI,eAAe9H,EAAE8H,cAAcnI,EAAE,SAASL,GAAG,SAASU,EAAEL,EAAE,MAAML,GAAG,MAAMU,EAASL,EAAE,IAAIk3F,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,GAAGC,GAAG,GACnF,SAASC,GAAG93F,GAAG,GAAG43F,GAAG53F,GAAG,OAAO43F,GAAG53F,GAAG,IAAIu3F,GAAGv3F,GAAG,OAAOA,EAAE,IAAYK,EAARK,EAAE62F,GAAGv3F,GAAK,IAAIK,KAAKK,EAAE,GAAGA,EAAE3L,eAAesL,IAAIA,KAAKw3F,GAAG,OAAOD,GAAG53F,GAAGU,EAAEL,GAAG,OAAOL,EAA9X88E,IAAK+a,GAAGxhC,SAASv0D,cAAc,OAAOoqB,MAAM,mBAAmBhE,gBAAgBqvE,GAAGC,aAAaO,iBAAiBR,GAAGE,mBAAmBM,iBAAiBR,GAAGG,eAAeK,WAAW,oBAAoB7vE,eAAeqvE,GAAGI,cAAc5d,YAAwJ,IAAIie,GAAGF,GAAG,gBAAgBG,GAAGH,GAAG,sBAAsBI,GAAGJ,GAAG,kBAAkBK,GAAGL,GAAG,iBAAiBM,GAAG,IAAIxqE,IAAIyqE,GAAG,smBAAsmBtrE,MAAM,KAC/lC,SAASurE,GAAGt4F,EAAEU,GAAG03F,GAAGrmF,IAAI/R,EAAEU,GAAGk8E,EAAGl8E,EAAE,CAACV,IAAI,IAAI,IAAIwU,GAAG,EAAEA,GAAG6jF,GAAGz9F,OAAO4Z,KAAK,CAAC,IAAI+jF,GAAGF,GAAG7jF,IAA2D8jF,GAApDC,GAAG/vF,cAAuD,MAAtC+vF,GAAG,GAAGtoD,cAAcsoD,GAAGr8F,MAAM,KAAkBo8F,GAAGN,GAAG,kBAAkBM,GAAGL,GAAG,wBAAwBK,GAAGJ,GAAG,oBAAoBI,GAAG,WAAW,iBAAiBA,GAAG,UAAU,WAAWA,GAAG,WAAW,UAAUA,GAAGH,GAAG,mBAAmBtb,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAC7cA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBD,EAAG,WAAW,oEAAoE7vD,MAAM,MAAM6vD,EAAG,WAAW,uFAAuF7vD,MAAM,MAAM6vD,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2D7vD,MAAM,MAAM6vD,EAAG,qBAAqB,6DAA6D7vD,MAAM,MAC/f6vD,EAAG,sBAAsB,8DAA8D7vD,MAAM,MAAM,IAAIyrE,GAAG,6NAA6NzrE,MAAM,KAAK0rE,GAAG,IAAI/b,IAAI,0CAA0C3vD,MAAM,KAAK3f,OAAOorF,KACzZ,SAASE,GAAG14F,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAEpI,MAAM,gBAAgBoI,EAAEynC,cAAcpnC,EAlDjE,SAAYL,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,EAAEze,EAAE2U,GAA4B,GAAzBiyE,GAAGvpF,MAAMnG,KAAKkG,WAAcmpF,GAAG,CAAC,IAAGA,GAAgC,MAAMxwF,MAAMsJ,EAAE,MAA1C,IAAIC,EAAEknF,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAGpnF,IAkDjEo4F,CAAGx4F,EAAEO,OAAE,EAAOV,GAAGA,EAAEynC,cAAc,KACpG,SAASmtB,GAAG50D,EAAEU,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAIL,EAAE,EAAEA,EAAEL,EAAEpF,OAAOyF,IAAI,CAAC,IAAIF,EAAEH,EAAEK,GAAGV,EAAEQ,EAAEi6D,MAAMj6D,EAAEA,EAAEoqB,UAAUvqB,EAAE,CAAC,IAAIe,OAAE,EAAO,GAAGL,EAAE,IAAI,IAAIgf,EAAEvf,EAAEvF,OAAO,EAAE,GAAG8kB,EAAEA,IAAI,CAAC,IAAIze,EAAEd,EAAEuf,GAAG9J,EAAE3U,EAAEvD,SAAS6C,EAAEU,EAAEwmC,cAA2B,GAAbxmC,EAAEA,EAAE41D,SAAYjhD,IAAI7U,GAAGpB,EAAE8uF,uBAAuB,MAAMzuF,EAAE04F,GAAG/4F,EAAEsB,EAAEV,GAAGQ,EAAE6U,OAAO,IAAI8J,EAAE,EAAEA,EAAEvf,EAAEvF,OAAO8kB,IAAI,CAAoD,GAA5C9J,GAAP3U,EAAEd,EAAEuf,IAAOhiB,SAAS6C,EAAEU,EAAEwmC,cAAcxmC,EAAEA,EAAE41D,SAAYjhD,IAAI7U,GAAGpB,EAAE8uF,uBAAuB,MAAMzuF,EAAE04F,GAAG/4F,EAAEsB,EAAEV,GAAGQ,EAAE6U,IAAI,GAAG8xE,GAAG,MAAM1nF,EAAE2nF,GAAGD,IAAG,EAAGC,GAAG,KAAK3nF,EAC1a,SAASoB,GAAEpB,EAAEU,GAAG,IAAIL,EAAEK,EAAEk4F,SAAI,IAASv4F,IAAIA,EAAEK,EAAEk4F,IAAI,IAAIlc,KAAK,IAAIv8E,EAAEH,EAAE,WAAWK,EAAEmxB,IAAIrxB,KAAK04F,GAAGn4F,EAAEV,EAAE,GAAE,GAAIK,EAAEmiB,IAAIriB,IAAI,SAAS24F,GAAG94F,EAAEU,EAAEL,GAAG,IAAIF,EAAE,EAAEO,IAAIP,GAAG,GAAG04F,GAAGx4F,EAAEL,EAAEG,EAAEO,GAAG,IAAIq4F,GAAG,kBAAkBvtF,KAAKo9B,SAASzgC,SAAS,IAAIjM,MAAM,GAAG,SAAS88F,GAAGh5F,GAAG,IAAIA,EAAE+4F,IAAI,CAAC/4F,EAAE+4F,KAAI,EAAGtc,EAAG/jF,SAAQ,SAASgI,GAAG,oBAAoBA,IAAI+3F,GAAGjnE,IAAI9wB,IAAIo4F,GAAGp4F,GAAE,EAAGV,GAAG84F,GAAGp4F,GAAE,EAAGV,OAAM,IAAIU,EAAE,IAAIV,EAAEoiF,SAASpiF,EAAEA,EAAEghF,cAAc,OAAOtgF,GAAGA,EAAEq4F,MAAMr4F,EAAEq4F,KAAI,EAAGD,GAAG,mBAAkB,EAAGp4F,KAC7a,SAASm4F,GAAG74F,EAAEU,EAAEL,EAAEF,GAAG,OAAOwtF,GAAGjtF,IAAI,KAAK,EAAE,IAAIf,EAAE2tF,GAAG,MAAM,KAAK,EAAE3tF,EAAE6tF,GAAG,MAAM,QAAQ7tF,EAAE4tF,GAAGltF,EAAEV,EAAEkrB,KAAK,KAAKnqB,EAAEL,EAAEL,GAAGL,OAAE,GAAQynF,IAAI,eAAe1mF,GAAG,cAAcA,GAAG,UAAUA,IAAIf,GAAE,GAAIQ,OAAE,IAASR,EAAEK,EAAEkyC,iBAAiBxxC,EAAEL,EAAE,CAAC44F,SAAQ,EAAGC,QAAQv5F,IAAIK,EAAEkyC,iBAAiBxxC,EAAEL,GAAE,QAAI,IAASV,EAAEK,EAAEkyC,iBAAiBxxC,EAAEL,EAAE,CAAC64F,QAAQv5F,IAAIK,EAAEkyC,iBAAiBxxC,EAAEL,GAAE,GAC/U,SAASotF,GAAGztF,EAAEU,EAAEL,EAAEF,EAAER,GAAG,IAAIoB,EAAEZ,EAAE,GAAG,KAAO,EAAFO,IAAM,KAAO,EAAFA,IAAM,OAAOP,EAAEH,EAAE,OAAO,CAAC,GAAG,OAAOG,EAAE,OAAO,IAAIuf,EAAEvf,EAAEo/E,IAAI,GAAG,IAAI7/D,GAAG,IAAIA,EAAE,CAAC,IAAIze,EAAEd,EAAEwmF,UAAUiG,cAAc,GAAG3rF,IAAItB,GAAG,IAAIsB,EAAEmhF,UAAUnhF,EAAEkoE,aAAaxpE,EAAE,MAAM,GAAG,IAAI+f,EAAE,IAAIA,EAAEvf,EAAE2T,OAAO,OAAO4L,GAAG,CAAC,IAAI9J,EAAE8J,EAAE6/D,IAAI,IAAG,IAAI3pE,GAAG,IAAIA,MAAKA,EAAE8J,EAAEinE,UAAUiG,iBAAkBjtF,GAAG,IAAIiW,EAAEwsE,UAAUxsE,EAAEuzD,aAAaxpE,GAAE,OAAO+f,EAAEA,EAAE5L,OAAO,KAAK,OAAO7S,GAAG,CAAS,GAAG,QAAXye,EAAE+sE,GAAGxrF,IAAe,OAAe,GAAG,KAAX2U,EAAE8J,EAAE6/D,MAAc,IAAI3pE,EAAE,CAACzV,EAAEY,EAAE2e,EAAE,SAAS1f,EAAEiB,EAAEA,EAAEkoE,YAAYhpE,EAAEA,EAAE2T,OAAOozE,IAAG,WAAW,IAAI/mF,EAAEY,EAAEpB,EAAEwmF,GAAG9lF,GAAGqf,EAAE,GACpf1f,EAAE,CAAC,IAAIiB,EAAEm3F,GAAGvqE,IAAI7tB,GAAG,QAAG,IAASiB,EAAE,CAAC,IAAI2U,EAAEy5E,GAAGnvF,EAAEF,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAI+tF,GAAG1tF,GAAG,MAAML,EAAE,IAAK,UAAU,IAAK,QAAQ4V,EAAEm9E,GAAG,MAAM,IAAK,UAAU7yF,EAAE,QAAQ0V,EAAEm7E,GAAG,MAAM,IAAK,WAAW7wF,EAAE,OAAO0V,EAAEm7E,GAAG,MAAM,IAAK,aAAa,IAAK,YAAYn7E,EAAEm7E,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAI1wF,EAAEgwF,OAAO,MAAMrwF,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc4V,EAAEg7E,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAOh7E,EAC1iBi7E,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAaj7E,EAAE49E,GAAG,MAAM,KAAKwE,GAAG,KAAKC,GAAG,KAAKC,GAAGtiF,EAAEo7E,GAAG,MAAM,KAAKmH,GAAGviF,EAAEg+E,GAAG,MAAM,IAAK,SAASh+E,EAAE25E,GAAG,MAAM,IAAK,QAAQ35E,EAAEy+E,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQz+E,EAAE07E,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAY17E,EAAEo9E,GAAG,IAAInzF,EAAE,KAAO,EAAFa,GAAK2zD,GAAGx0D,GAAG,WAAWG,EAAES,EAAEZ,EAAE,OAAOoB,EAAEA,EAAE,UAAU,KAAKA,EAAEpB,EAAE,GAAG,IAAI,IAAQO,EAAJo1B,EAAEr1B,EAAI,OAC/eq1B,GAAG,CAAK,IAAI3iB,GAARzS,EAAEo1B,GAAUmxD,UAAsF,GAA5E,IAAIvmF,EAAEm/E,KAAK,OAAO1sE,IAAIzS,EAAEyS,EAAE,OAAOpS,IAAc,OAAVoS,EAAEs0E,GAAG3xD,EAAE/0B,KAAYZ,EAAExF,KAAK8+F,GAAG3jE,EAAE3iB,EAAEzS,MAASi0D,EAAE,MAAM7+B,EAAEA,EAAE1hB,OAAO,EAAEjU,EAAEjF,SAASqG,EAAE,IAAI2U,EAAE3U,EAAEf,EAAE,KAAKG,EAAEV,GAAG+f,EAAErlB,KAAK,CAAC+/D,MAAMn5D,EAAEspB,UAAU1qB,MAAM,GAAG,KAAO,EAAFa,GAAK,CAA4E,GAAnCkV,EAAE,aAAa5V,GAAG,eAAeA,KAAtEiB,EAAE,cAAcjB,GAAG,gBAAgBA,IAA2CK,IAAI6lF,MAAKhmF,EAAEG,EAAEkwF,eAAelwF,EAAEmwF,eAAe/D,GAAGvsF,KAAIA,EAAEk5F,OAAgBxjF,GAAG3U,KAAGA,EAAEtB,EAAEuoB,SAASvoB,EAAEA,GAAGsB,EAAEtB,EAAEqhF,eAAe//E,EAAEm1F,aAAan1F,EAAEo4F,aAAanxE,OAAUtS,GAAqCA,EAAEzV,EAAiB,QAAfD,GAAnCA,EAAEG,EAAEkwF,eAAelwF,EAAEowF,WAAkBhE,GAAGvsF,GAAG,QAC9dA,KAARm0D,EAAEyzB,GAAG5nF,KAAU,IAAIA,EAAEq/E,KAAK,IAAIr/E,EAAEq/E,OAAKr/E,EAAE,QAAU0V,EAAE,KAAK1V,EAAEC,GAAKyV,IAAI1V,GAAE,CAAgU,GAA/TL,EAAE+wF,GAAG/9E,EAAE,eAAepS,EAAE,eAAe+0B,EAAE,QAAW,eAAex1B,GAAG,gBAAgBA,IAAEH,EAAEmzF,GAAGngF,EAAE,iBAAiBpS,EAAE,iBAAiB+0B,EAAE,WAAU6+B,EAAE,MAAMz+C,EAAE3U,EAAEg0D,GAAGr/C,GAAGxV,EAAE,MAAMF,EAAEe,EAAEg0D,GAAG/0D,IAAGe,EAAE,IAAIpB,EAAEgT,EAAE2iB,EAAE,QAAQ5f,EAAEvV,EAAEV,IAAKzC,OAAOm3D,EAAEpzD,EAAEsvF,cAAcnwF,EAAEyS,EAAE,KAAK45E,GAAG9sF,KAAKQ,KAAIN,EAAE,IAAIA,EAAEY,EAAE+0B,EAAE,QAAQt1B,EAAEG,EAAEV,IAAKzC,OAAOkD,EAAEP,EAAE0wF,cAAcl8B,EAAExhD,EAAEhT,GAAGw0D,EAAExhD,EAAK+C,GAAG1V,EAAEQ,EAAE,CAAa,IAARD,EAAEP,EAAEs1B,EAAE,EAAMp1B,EAAhBP,EAAE+V,EAAkBxV,EAAEA,EAAEk5F,GAAGl5F,GAAGo1B,IAAQ,IAAJp1B,EAAE,EAAMyS,EAAEpS,EAAEoS,EAAEA,EAAEymF,GAAGzmF,GAAGzS,IAAI,KAAK,EAAEo1B,EAAEp1B,GAAGP,EAAEy5F,GAAGz5F,GAAG21B,IAAI,KAAK,EAAEp1B,EAAEo1B,GAAG/0B,EACpf64F,GAAG74F,GAAGL,IAAI,KAAKo1B,KAAK,CAAC,GAAG31B,IAAIY,GAAG,OAAOA,GAAGZ,IAAIY,EAAEsnF,UAAU,MAAMrnF,EAAEb,EAAEy5F,GAAGz5F,GAAGY,EAAE64F,GAAG74F,GAAGZ,EAAE,UAAUA,EAAE,KAAK,OAAO+V,GAAG2jF,GAAG75E,EAAEze,EAAE2U,EAAE/V,GAAE,GAAI,OAAOK,GAAG,OAAOm0D,GAAGklC,GAAG75E,EAAE20C,EAAEn0D,EAAEL,GAAE,GAAiE,GAAG,YAA1C+V,GAAjB3U,EAAEd,EAAE80D,GAAG90D,GAAG+nB,QAAW4gD,UAAU7nE,EAAE6nE,SAAStgE,gBAA+B,UAAUoN,GAAG,SAAS3U,EAAErJ,KAAK,IAAI4hG,EAAGhkC,QAAQ,GAAGL,GAAGl0D,GAAG,GAAGs0D,GAAGikC,EAAGjE,OAAO,CAACiE,EAAG3jC,GAAG,IAAI4jC,EAAGzjC,QAAQpgD,EAAE3U,EAAE6nE,WAAW,UAAUlzD,EAAEpN,gBAAgB,aAAavH,EAAErJ,MAAM,UAAUqJ,EAAErJ,QAAQ4hG,EAAGnkC,IACrV,OAD4VmkC,IAAKA,EAAGA,EAAGx5F,EAAEG,IAAKu0D,GAAGh1C,EAAE85E,EAAGn5F,EAAEV,IAAW85F,GAAIA,EAAGz5F,EAAEiB,EAAEd,GAAG,aAAaH,IAAIy5F,EAAGx4F,EAAEu/E,gBAClfiZ,EAAG9Y,YAAY,WAAW1/E,EAAErJ,MAAMkpF,GAAG7/E,EAAE,SAASA,EAAEtL,QAAO8jG,EAAGt5F,EAAE80D,GAAG90D,GAAG+nB,OAAcloB,GAAG,IAAK,WAAam1D,GAAGskC,IAAK,SAASA,EAAGxD,mBAAgBkB,GAAGsC,EAAGxjC,GAAG91D,EAAE41D,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGE,GAAGkhC,GAAG,KAAK,MAAM,IAAK,YAAYC,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAG33E,EAAErf,EAAEV,GAAG,MAAM,IAAK,kBAAkB,GAAGu3F,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQG,GAAG33E,EAAErf,EAAEV,GAAG,IAAI+5F,EAAG,GAAG7kC,GAAGn0D,EAAE,CAAC,OAAOV,GAAG,IAAK,mBAAmB,IAAI25F,EAAG,qBAAqB,MAAMj5F,EAAE,IAAK,iBAAiBi5F,EAAG,mBACpe,MAAMj5F,EAAE,IAAK,oBAAoBi5F,EAAG,sBAAsB,MAAMj5F,EAAEi5F,OAAG,OAAYj8D,GAAGo4B,GAAG91D,EAAEK,KAAKs5F,EAAG,oBAAoB,YAAY35F,GAAG,MAAMK,EAAE2tF,UAAU2L,EAAG,sBAAsBA,IAAK7kC,IAAI,OAAOz0D,EAAE4rB,SAASyR,IAAI,uBAAuBi8D,EAAG,qBAAqBA,GAAIj8D,KAAKg8D,EAAG5L,OAAYD,GAAG,UAARD,GAAGjuF,GAAkBiuF,GAAGj4F,MAAMi4F,GAAGvW,YAAY35C,IAAG,IAAiB,GAAZ+7D,EAAG9kC,GAAGx0D,EAAEw5F,IAAS/+F,SAAS++F,EAAG,IAAIpI,GAAGoI,EAAG35F,EAAE,KAAKK,EAAEV,GAAG+f,EAAErlB,KAAK,CAAC+/D,MAAMu/B,EAAGpvE,UAAUkvE,IAAKC,EAAGC,EAAG5xF,KAAK2xF,EAAa,QAATA,EAAGpkC,GAAGj1D,MAAes5F,EAAG5xF,KAAK2xF,MAAUA,EAAG1kC,GA5BhM,SAAYh1D,EAAEU,GAAG,OAAOV,GAAG,IAAK,iBAAiB,OAAOs1D,GAAG50D,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEoyF,MAAa,MAAK19B,IAAG,EAAUZ,IAAG,IAAK,YAAY,OAAOx0D,EAAEU,EAAEqH,QAASysD,IAAIY,GAAG,KAAKp1D,EAAE,QAAQ,OAAO,MA4BO45F,CAAG55F,EAAEK,GA3Bzd,SAAYL,EAAEU,GAAG,GAAGg9B,GAAG,MAAM,mBAAmB19B,IAAI60D,IAAIiB,GAAG91D,EAAEU,IAAIV,EAAE8tF,KAAK5mB,GAAG2mB,GAAGD,GAAG,KAAKlwD,IAAG,EAAG19B,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAKU,EAAEqvF,SAASrvF,EAAEuvF,QAAQvvF,EAAEwvF,UAAUxvF,EAAEqvF,SAASrvF,EAAEuvF,OAAO,CAAC,GAAGvvF,EAAE4uE,MAAM,EAAE5uE,EAAE4uE,KAAK10E,OAAO,OAAO8F,EAAE4uE,KAAK,GAAG5uE,EAAEoyF,MAAM,OAAOnpF,OAAOyC,aAAa1L,EAAEoyF,OAAO,OAAO,KAAK,IAAK,iBAAiB,OAAOh+B,IAAI,OAAOp0D,EAAEurB,OAAO,KAAKvrB,EAAEqH,MA2B8G8xF,CAAG75F,EAAEK,MACje,GADoeF,EAAEw0D,GAAGx0D,EAAE,kBACvevF,SAAS+E,EAAE,IAAI4xF,GAAG,gBAAgB,cAAc,KAAKlxF,EAAEV,GAAG+f,EAAErlB,KAAK,CAAC+/D,MAAMz6D,EAAE4qB,UAAUpqB,IAAIR,EAAEoI,KAAK2xF,IAAI9kC,GAAGl1C,EAAEhf,MAAK,SAASy4F,GAAGn5F,EAAEU,EAAEL,GAAG,MAAM,CAAC3C,SAASsC,EAAE62D,SAASn2D,EAAE+mC,cAAcpnC,GAAG,SAASs0D,GAAG30D,EAAEU,GAAG,IAAI,IAAIL,EAAEK,EAAE,UAAUP,EAAE,GAAG,OAAOH,GAAG,CAAC,IAAIL,EAAEK,EAAEe,EAAEpB,EAAEgnF,UAAU,IAAIhnF,EAAE4/E,KAAK,OAAOx+E,IAAIpB,EAAEoB,EAAY,OAAVA,EAAEomF,GAAGnnF,EAAEK,KAAYF,EAAE0+C,QAAQs6C,GAAGn5F,EAAEe,EAAEpB,IAAc,OAAVoB,EAAEomF,GAAGnnF,EAAEU,KAAYP,EAAE9F,KAAK8+F,GAAGn5F,EAAEe,EAAEpB,KAAKK,EAAEA,EAAE8T,OAAO,OAAO3T,EAAE,SAASm5F,GAAGt5F,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAE8T,aAAa9T,GAAG,IAAIA,EAAEu/E,KAAK,OAAOv/E,GAAI,KAC/c,SAASu5F,GAAGv5F,EAAEU,EAAEL,EAAEF,EAAER,GAAG,IAAI,IAAIoB,EAAEL,EAAE0tF,WAAW1uE,EAAE,GAAG,OAAOrf,GAAGA,IAAIF,GAAG,CAAC,IAAIc,EAAEZ,EAAEuV,EAAE3U,EAAE8mF,UAAUxnF,EAAEU,EAAE0lF,UAAU,GAAG,OAAO/wE,GAAGA,IAAIzV,EAAE,MAAM,IAAIc,EAAEs+E,KAAK,OAAOh/E,IAAIU,EAAEV,EAAEZ,EAAa,OAAViW,EAAEuxE,GAAG9mF,EAAEU,KAAY2e,EAAEm/B,QAAQs6C,GAAG94F,EAAEuV,EAAE3U,IAAKtB,GAAc,OAAViW,EAAEuxE,GAAG9mF,EAAEU,KAAY2e,EAAErlB,KAAK8+F,GAAG94F,EAAEuV,EAAE3U,KAAMZ,EAAEA,EAAEyT,OAAO,IAAI4L,EAAE9kB,QAAQoF,EAAE3F,KAAK,CAAC+/D,MAAM15D,EAAE6pB,UAAU7K,IAAI,IAAIo6E,GAAG,SAASC,GAAG,iBAAiB,SAASC,GAAGh6F,GAAG,OAAO,kBAAkBA,EAAEA,EAAE,GAAGA,GAAGqS,QAAQynF,GAAG,MAAMznF,QAAQ0nF,GAAG,IAAI,SAASE,GAAGj6F,EAAEU,EAAEL,GAAW,GAARK,EAAEs5F,GAAGt5F,GAAMs5F,GAAGh6F,KAAKU,GAAGL,EAAE,MAAMrJ,MAAMsJ,EAAE,MAAO,SAAS45F,MACze,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGr6F,EAAEU,GAAG,MAAM,aAAaV,GAAG,aAAaA,GAAG,kBAAkBU,EAAEgE,UAAU,kBAAkBhE,EAAEgE,UAAU,kBAAkBhE,EAAE4gF,yBAAyB,OAAO5gF,EAAE4gF,yBAAyB,MAAM5gF,EAAE4gF,wBAAwBgZ,OACtP,IAAIC,GAAG,oBAAoB7xE,WAAWA,gBAAW,EAAO8xE,GAAG,oBAAoB7xE,aAAaA,kBAAa,EAAO8xE,GAAG,oBAAoBh/F,QAAQA,aAAQ,EAAOi/F,GAAG,oBAAoBC,eAAeA,eAAe,qBAAqBF,GAAG,SAASz6F,GAAG,OAAOy6F,GAAG3hG,QAAQ,MAAMI,KAAK8G,GAAG46F,MAAMC,KAAKN,GAAG,SAASM,GAAG76F,GAAG0oB,YAAW,WAAW,MAAM1oB,KAChV,SAAS86F,GAAG96F,EAAEU,GAAG,IAAIL,EAAEK,EAAEP,EAAE,EAAE,EAAE,CAAC,IAAIR,EAAEU,EAAEu1F,YAA6B,GAAjB51F,EAAE+hF,YAAY1hF,GAAMV,GAAG,IAAIA,EAAEyiF,SAAS,GAAY,QAAT/hF,EAAEV,EAAEoI,MAAc,CAAC,GAAG,IAAI5H,EAA0B,OAAvBH,EAAE+hF,YAAYpiF,QAAGwtF,GAAGzsF,GAAUP,QAAQ,MAAME,GAAG,OAAOA,GAAG,OAAOA,GAAGF,IAAIE,EAAEV,QAAQU,GAAG8sF,GAAGzsF,GAAG,SAASq6F,GAAG/6F,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAE41F,YAAY,CAAC,IAAIl1F,EAAEV,EAAEoiF,SAAS,GAAG,IAAI1hF,GAAG,IAAIA,EAAE,MAAM,GAAG,IAAIA,EAAE,CAAU,GAAG,OAAZA,EAAEV,EAAE+H,OAAiB,OAAOrH,GAAG,OAAOA,EAAE,MAAM,GAAG,OAAOA,EAAE,OAAO,MAAM,OAAOV,EAChY,SAASg7F,GAAGh7F,GAAGA,EAAEA,EAAEi7F,gBAAgB,IAAI,IAAIv6F,EAAE,EAAEV,GAAG,CAAC,GAAG,IAAIA,EAAEoiF,SAAS,CAAC,IAAI/hF,EAAEL,EAAE+H,KAAK,GAAG,MAAM1H,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAIK,EAAE,OAAOV,EAAEU,QAAQ,OAAOL,GAAGK,IAAIV,EAAEA,EAAEi7F,gBAAgB,OAAO,KAAK,IAAIC,GAAG1vF,KAAKo9B,SAASzgC,SAAS,IAAIjM,MAAM,GAAGi/F,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAG9B,GAAG,oBAAoB8B,GAAGtC,GAAG,iBAAiBsC,GAAGG,GAAG,oBAAoBH,GAAGI,GAAG,kBAAkBJ,GAClX,SAASzO,GAAGzsF,GAAG,IAAIU,EAAEV,EAAEm7F,IAAI,GAAGz6F,EAAE,OAAOA,EAAE,IAAI,IAAIL,EAAEL,EAAEmpE,WAAW9oE,GAAG,CAAC,GAAGK,EAAEL,EAAE+4F,KAAK/4F,EAAE86F,IAAI,CAAe,GAAd96F,EAAEK,EAAEqnF,UAAa,OAAOrnF,EAAE4nF,OAAO,OAAOjoF,GAAG,OAAOA,EAAEioF,MAAM,IAAItoF,EAAEg7F,GAAGh7F,GAAG,OAAOA,GAAG,CAAC,GAAGK,EAAEL,EAAEm7F,IAAI,OAAO96F,EAAEL,EAAEg7F,GAAGh7F,GAAG,OAAOU,EAAML,GAAJL,EAAEK,GAAM8oE,WAAW,OAAO,KAAK,SAASud,GAAG1mF,GAAkB,QAAfA,EAAEA,EAAEm7F,KAAKn7F,EAAEo5F,MAAc,IAAIp5F,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,KAAK,KAAKv/E,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,IAAI,KAAKv/E,EAAE,SAASi1D,GAAGj1D,GAAG,GAAG,IAAIA,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,IAAI,OAAOv/E,EAAE2mF,UAAU,MAAM3vF,MAAMsJ,EAAE,KAAM,SAASsmF,GAAG5mF,GAAG,OAAOA,EAAEo7F,KAAK,KAAK,IAAIG,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAGz7F,GAAG,MAAM,CAACmmC,QAAQnmC,GACre,SAASiC,GAAEjC,GAAG,EAAEw7F,KAAKx7F,EAAEmmC,QAAQo1D,GAAGC,IAAID,GAAGC,IAAI,KAAKA,MAAM,SAASl0D,GAAEtnC,EAAEU,GAAG86F,KAAKD,GAAGC,IAAIx7F,EAAEmmC,QAAQnmC,EAAEmmC,QAAQzlC,EAAE,IAAIg7F,GAAG,GAAGnwD,GAAEkwD,GAAGC,IAAIC,GAAGF,IAAG,GAAIG,GAAGF,GAAG,SAASG,GAAG77F,EAAEU,GAAG,IAAIL,EAAEL,EAAEpI,KAAKkkG,aAAa,IAAIz7F,EAAE,OAAOq7F,GAAG,IAAIv7F,EAAEH,EAAE2mF,UAAU,GAAGxmF,GAAGA,EAAE47F,8CAA8Cr7F,EAAE,OAAOP,EAAE67F,0CAA0C,IAASj7F,EAALpB,EAAE,GAAK,IAAIoB,KAAKV,EAAEV,EAAEoB,GAAGL,EAAEK,GAAoH,OAAjHZ,KAAIH,EAAEA,EAAE2mF,WAAYoV,4CAA4Cr7F,EAAEV,EAAEg8F,0CAA0Cr8F,GAAUA,EAC7d,SAASs8F,GAAGj8F,GAAyB,OAAO,QAA7BA,EAAEA,EAAEk8F,yBAAmC,IAASl8F,EAAE,SAASm8F,KAAKl6F,GAAE05F,IAAI15F,GAAEspC,IAAG,SAAS6wD,GAAGp8F,EAAEU,EAAEL,GAAG,GAAGkrC,GAAEpF,UAAUu1D,GAAG,MAAM1kG,MAAMsJ,EAAE,MAAMgnC,GAAEiE,GAAE7qC,GAAG4mC,GAAEq0D,GAAGt7F,GAAG,SAASg8F,GAAGr8F,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAE2mF,UAAgC,GAAtBjmF,EAAEA,EAAEw7F,kBAAqB,oBAAoB/7F,EAAEm8F,gBAAgB,OAAOj8F,EAAwB,IAAI,IAAIV,KAA9BQ,EAAEA,EAAEm8F,kBAAiC,KAAK38F,KAAKe,GAAG,MAAM1J,MAAMsJ,EAAE,IAAIm/E,EAAGz/E,IAAI,UAAUL,IAAI,OAAOya,EAAE,GAAG/Z,EAAEF,GACtX,SAASo8F,GAAGv8F,GAA2G,OAAxGA,GAAGA,EAAEA,EAAE2mF,YAAY3mF,EAAEw8F,2CAA2Cd,GAAGE,GAAGrwD,GAAEpF,QAAQmB,GAAEiE,GAAEvrC,GAAGsnC,GAAEq0D,GAAGA,GAAGx1D,UAAe,EAAG,SAASs2D,GAAGz8F,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAE2mF,UAAU,IAAIxmF,EAAE,MAAMnJ,MAAMsJ,EAAE,MAAMD,GAAGL,EAAEq8F,GAAGr8F,EAAEU,EAAEk7F,IAAIz7F,EAAEq8F,0CAA0Cx8F,EAAEiC,GAAE05F,IAAI15F,GAAEspC,IAAGjE,GAAEiE,GAAEvrC,IAAIiC,GAAE05F,IAAIr0D,GAAEq0D,GAAGt7F,GAAG,IAAIq8F,GAAG,KAAKC,IAAG,EAAGC,IAAG,EAAG,SAASC,GAAG78F,GAAG,OAAO08F,GAAGA,GAAG,CAAC18F,GAAG08F,GAAGriG,KAAK2F,GAC9V,SAAS88F,KAAK,IAAIF,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAI58F,EAAE,EAAEU,EAAEM,GAAE,IAAI,IAAIX,EAAEq8F,GAAG,IAAI17F,GAAE,EAAEhB,EAAEK,EAAEzF,OAAOoF,IAAI,CAAC,IAAIG,EAAEE,EAAEL,GAAG,GAAGG,EAAEA,GAAE,SAAU,OAAOA,GAAGu8F,GAAG,KAAKC,IAAG,EAAG,MAAMh9F,GAAG,MAAM,OAAO+8F,KAAKA,GAAGA,GAAGxgG,MAAM8D,EAAE,IAAI0oF,GAAGW,GAAGyT,IAAIn9F,EAAhJ,QAA2JqB,GAAEN,EAAEk8F,IAAG,GAAI,OAAO,KAAK,IAAIG,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,GAAG,GAAG,SAASC,GAAGx9F,EAAEU,GAAGq8F,GAAGC,MAAME,GAAGH,GAAGC,MAAMC,GAAGA,GAAGj9F,EAAEk9F,GAAGx8F,EAChV,SAAS+8F,GAAGz9F,EAAEU,EAAEL,GAAG88F,GAAGC,MAAME,GAAGH,GAAGC,MAAMG,GAAGJ,GAAGC,MAAMC,GAAGA,GAAGr9F,EAAE,IAAIG,EAAEm9F,GAAGt9F,EAAEu9F,GAAG,IAAI59F,EAAE,GAAGsqF,GAAG9pF,GAAG,EAAEA,KAAK,GAAGR,GAAGU,GAAG,EAAE,IAAIU,EAAE,GAAGkpF,GAAGvpF,GAAGf,EAAE,GAAG,GAAGoB,EAAE,CAAC,IAAI2e,EAAE/f,EAAEA,EAAE,EAAEoB,GAAGZ,GAAG,GAAGuf,GAAG,GAAGvX,SAAS,IAAIhI,IAAIuf,EAAE/f,GAAG+f,EAAE49E,GAAG,GAAG,GAAGrT,GAAGvpF,GAAGf,EAAEU,GAAGV,EAAEQ,EAAEo9F,GAAGx8F,EAAEf,OAAOs9F,GAAG,GAAGv8F,EAAEV,GAAGV,EAAEQ,EAAEo9F,GAAGv9F,EAAE,SAAS09F,GAAG19F,GAAG,OAAOA,EAAE8T,SAAS0pF,GAAGx9F,EAAE,GAAGy9F,GAAGz9F,EAAE,EAAE,IAAI,SAAS29F,GAAG39F,GAAG,KAAKA,IAAIi9F,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAKE,GAAGH,KAAKC,IAAID,GAAGC,IAAI,KAAK,KAAKh9F,IAAIq9F,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAKG,GAAGJ,KAAKC,IAAID,GAAGC,IAAI,KAAKE,GAAGH,KAAKC,IAAID,GAAGC,IAAI,KAAK,IAAIQ,GAAG,KAAKC,GAAG,KAAK38F,IAAE,EAAG48F,GAAG,KACje,SAASC,GAAG/9F,EAAEU,GAAG,IAAIL,EAAE29F,GAAG,EAAE,KAAK,KAAK,GAAG39F,EAAE49F,YAAY,UAAU59F,EAAEsmF,UAAUjmF,EAAEL,EAAEyT,OAAO9T,EAAgB,QAAdU,EAAEV,EAAEk+F,YAAoBl+F,EAAEk+F,UAAU,CAAC79F,GAAGL,EAAEgoF,OAAO,IAAItnF,EAAErG,KAAKgG,GACtJ,SAAS89F,GAAGn+F,EAAEU,GAAG,OAAOV,EAAEu/E,KAAK,KAAK,EAAE,IAAIl/E,EAAEL,EAAEpI,KAAyE,OAAO,QAA3E8I,EAAE,IAAIA,EAAE0hF,UAAU/hF,EAAEmI,gBAAgB9H,EAAEooE,SAAStgE,cAAc,KAAK9H,KAAmBV,EAAE2mF,UAAUjmF,EAAEk9F,GAAG59F,EAAE69F,GAAG9C,GAAGr6F,EAAE+1E,aAAY,GAAO,KAAK,EAAE,OAAoD,QAA7C/1E,EAAE,KAAKV,EAAEo+F,cAAc,IAAI19F,EAAE0hF,SAAS,KAAK1hF,KAAYV,EAAE2mF,UAAUjmF,EAAEk9F,GAAG59F,EAAE69F,GAAG,MAAK,GAAO,KAAK,GAAG,OAA+B,QAAxBn9F,EAAE,IAAIA,EAAE0hF,SAAS,KAAK1hF,KAAYL,EAAE,OAAOg9F,GAAG,CAAC97F,GAAG+7F,GAAGnxB,SAASoxB,IAAI,KAAKv9F,EAAEkoF,cAAc,CAACC,WAAWznF,EAAE29F,YAAYh+F,EAAEi+F,UAAU,aAAYj+F,EAAE29F,GAAG,GAAG,KAAK,KAAK,IAAKrX,UAAUjmF,EAAEL,EAAEyT,OAAO9T,EAAEA,EAAEsoF,MAAMjoF,EAAEu9F,GAAG59F,EAAE69F,GAClf,MAAK,GAAO,QAAQ,OAAM,GAAI,SAASU,GAAGv+F,GAAG,OAAO,KAAY,EAAPA,EAAEwgC,OAAS,KAAa,IAARxgC,EAAEgoF,OAAW,SAASwW,GAAGx+F,GAAG,GAAGkB,GAAE,CAAC,IAAIR,EAAEm9F,GAAG,GAAGn9F,EAAE,CAAC,IAAIL,EAAEK,EAAE,IAAIy9F,GAAGn+F,EAAEU,GAAG,CAAC,GAAG69F,GAAGv+F,GAAG,MAAMhJ,MAAMsJ,EAAE,MAAMI,EAAEq6F,GAAG16F,EAAEu1F,aAAa,IAAIz1F,EAAEy9F,GAAGl9F,GAAGy9F,GAAGn+F,EAAEU,GAAGq9F,GAAG59F,EAAEE,IAAIL,EAAEgoF,OAAe,KAAThoF,EAAEgoF,MAAY,EAAE9mF,IAAE,EAAG08F,GAAG59F,QAAQ,CAAC,GAAGu+F,GAAGv+F,GAAG,MAAMhJ,MAAMsJ,EAAE,MAAMN,EAAEgoF,OAAe,KAAThoF,EAAEgoF,MAAY,EAAE9mF,IAAE,EAAG08F,GAAG59F,IAAI,SAASy+F,GAAGz+F,GAAG,IAAIA,EAAEA,EAAE8T,OAAO,OAAO9T,GAAG,IAAIA,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,KAAK,KAAKv/E,EAAEu/E,KAAKv/E,EAAEA,EAAE8T,OAAO8pF,GAAG59F,EAC/Z,SAAS0+F,GAAG1+F,GAAG,GAAGA,IAAI49F,GAAG,OAAM,EAAG,IAAI18F,GAAE,OAAOu9F,GAAGz+F,GAAGkB,IAAE,GAAG,EAAG,IAAIR,EAAkG,IAA/FA,EAAE,IAAIV,EAAEu/E,QAAQ7+E,EAAE,IAAIV,EAAEu/E,OAAgB7+E,EAAE,UAAXA,EAAEV,EAAEpI,OAAmB,SAAS8I,IAAI25F,GAAGr6F,EAAEpI,KAAKoI,EAAE2+F,gBAAmBj+F,IAAIA,EAAEm9F,IAAI,CAAC,GAAGU,GAAGv+F,GAAG,MAAM4+F,KAAK5nG,MAAMsJ,EAAE,MAAM,KAAKI,GAAGq9F,GAAG/9F,EAAEU,GAAGA,EAAEq6F,GAAGr6F,EAAEk1F,aAAmB,GAAN6I,GAAGz+F,GAAM,KAAKA,EAAEu/E,IAAI,CAAgD,KAA7Bv/E,EAAE,QAApBA,EAAEA,EAAEkoF,eAAyBloF,EAAEmoF,WAAW,MAAW,MAAMnxF,MAAMsJ,EAAE,MAAMN,EAAE,CAAiB,IAAhBA,EAAEA,EAAE41F,YAAgBl1F,EAAE,EAAEV,GAAG,CAAC,GAAG,IAAIA,EAAEoiF,SAAS,CAAC,IAAI/hF,EAAEL,EAAE+H,KAAK,GAAG,OAAO1H,EAAE,CAAC,GAAG,IAAIK,EAAE,CAACm9F,GAAG9C,GAAG/6F,EAAE41F,aAAa,MAAM51F,EAAEU,QAAQ,MAAML,GAAG,OAAOA,GAAG,OAAOA,GAAGK,IAAIV,EAAEA,EAAE41F,YAAYiI,GACjgB,WAAWA,GAAGD,GAAG7C,GAAG/6F,EAAE2mF,UAAUiP,aAAa,KAAK,OAAM,EAAG,SAASgJ,KAAK,IAAI,IAAI5+F,EAAE69F,GAAG79F,GAAGA,EAAE+6F,GAAG/6F,EAAE41F,aAAa,SAASiJ,KAAKhB,GAAGD,GAAG,KAAK18F,IAAE,EAAG,SAAS49F,GAAG9+F,GAAG,OAAO89F,GAAGA,GAAG,CAAC99F,GAAG89F,GAAGzjG,KAAK2F,GAAG,IAAI++F,GAAGruB,EAAGuJ,wBAAwB,SAAS+kB,GAAGh/F,EAAEU,GAAG,GAAGV,GAAGA,EAAEy5E,aAAa,CAA4B,IAAI,IAAIp5E,KAAnCK,EAAE0Z,EAAE,GAAG1Z,GAAGV,EAAEA,EAAEy5E,kBAA4B,IAAS/4E,EAAEL,KAAKK,EAAEL,GAAGL,EAAEK,IAAI,OAAOK,EAAE,OAAOA,EAAE,IAAIu+F,GAAGxD,GAAG,MAAMyD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,KAAK,SAASI,GAAGt/F,GAAG,IAAIU,EAAEu+F,GAAG94D,QAAQlkC,GAAEg9F,IAAIj/F,EAAE66E,cAAcn6E,EAChd,SAAS6+F,GAAGv/F,EAAEU,EAAEL,GAAG,KAAK,OAAOL,GAAG,CAAC,IAAIG,EAAEH,EAAE+nF,UAA+H,IAApH/nF,EAAEw/F,WAAW9+F,KAAKA,GAAGV,EAAEw/F,YAAY9+F,EAAE,OAAOP,IAAIA,EAAEq/F,YAAY9+F,IAAI,OAAOP,IAAIA,EAAEq/F,WAAW9+F,KAAKA,IAAIP,EAAEq/F,YAAY9+F,GAAMV,IAAIK,EAAE,MAAML,EAAEA,EAAE8T,QAAQ,SAAS2rF,GAAGz/F,EAAEU,GAAGw+F,GAAGl/F,EAAEo/F,GAAGD,GAAG,KAAsB,QAAjBn/F,EAAEA,EAAE0/F,eAAuB,OAAO1/F,EAAE2/F,eAAe,KAAK3/F,EAAE4/F,MAAMl/F,KAAKm/F,IAAG,GAAI7/F,EAAE2/F,aAAa,MACjU,SAASG,GAAG9/F,GAAG,IAAIU,EAAEV,EAAE66E,cAAc,GAAGukB,KAAKp/F,EAAE,GAAGA,EAAE,CAACtJ,QAAQsJ,EAAE+/F,cAAcr/F,EAAE/G,KAAK,MAAM,OAAOwlG,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAMloG,MAAMsJ,EAAE,MAAM6+F,GAAGn/F,EAAEk/F,GAAGQ,aAAa,CAACE,MAAM,EAAED,aAAa3/F,QAAQm/F,GAAGA,GAAGxlG,KAAKqG,EAAE,OAAOU,EAAE,IAAIs/F,GAAG,KAAK,SAASC,GAAGjgG,GAAG,OAAOggG,GAAGA,GAAG,CAAChgG,GAAGggG,GAAG3lG,KAAK2F,GAAG,SAASkgG,GAAGlgG,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEe,EAAEy/F,YAA+E,OAAnE,OAAOxgG,GAAGU,EAAE1G,KAAK0G,EAAE4/F,GAAGv/F,KAAKL,EAAE1G,KAAKgG,EAAEhG,KAAKgG,EAAEhG,KAAK0G,GAAGK,EAAEy/F,YAAY9/F,EAAS+/F,GAAGpgG,EAAEG,GAC9X,SAASigG,GAAGpgG,EAAEU,GAAGV,EAAE4/F,OAAOl/F,EAAE,IAAIL,EAAEL,EAAE+nF,UAAqC,IAA3B,OAAO1nF,IAAIA,EAAEu/F,OAAOl/F,GAAGL,EAAEL,EAAMA,EAAEA,EAAE8T,OAAO,OAAO9T,GAAGA,EAAEw/F,YAAY9+F,EAAgB,QAAdL,EAAEL,EAAE+nF,aAAqB1nF,EAAEm/F,YAAY9+F,GAAGL,EAAEL,EAAEA,EAAEA,EAAE8T,OAAO,OAAO,IAAIzT,EAAEk/E,IAAIl/E,EAAEsmF,UAAU,KAAK,IAAI0Z,IAAG,EAAG,SAAS7rB,GAAGx0E,GAAGA,EAAEsgG,YAAY,CAACC,UAAUvgG,EAAEkoF,cAAcsY,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACC,QAAQ,KAAKR,YAAY,KAAKP,MAAM,GAAGgB,QAAQ,MAC/W,SAASlsB,GAAG10E,EAAEU,GAAGV,EAAEA,EAAEsgG,YAAY5/F,EAAE4/F,cAActgG,IAAIU,EAAE4/F,YAAY,CAACC,UAAUvgG,EAAEugG,UAAUC,gBAAgBxgG,EAAEwgG,gBAAgBC,eAAezgG,EAAEygG,eAAeC,OAAO1gG,EAAE0gG,OAAOE,QAAQ5gG,EAAE4gG,UAAU,SAAShsB,GAAG50E,EAAEU,GAAG,MAAM,CAACmgG,UAAU7gG,EAAE8gG,KAAKpgG,EAAE6+E,IAAI,EAAEwhB,QAAQ,KAAKvxD,SAAS,KAAK71C,KAAK,MACjR,SAASm7E,GAAG90E,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAEsgG,YAAY,GAAG,OAAOngG,EAAE,OAAO,KAAgB,GAAXA,EAAEA,EAAEugG,OAAU,KAAO,EAAF5gF,IAAK,CAAC,IAAIngB,EAAEQ,EAAEwgG,QAA+D,OAAvD,OAAOhhG,EAAEe,EAAE/G,KAAK+G,GAAGA,EAAE/G,KAAKgG,EAAEhG,KAAKgG,EAAEhG,KAAK+G,GAAGP,EAAEwgG,QAAQjgG,EAAS0/F,GAAGpgG,EAAEK,GAAsF,OAAnE,QAAhBV,EAAEQ,EAAEggG,cAAsBz/F,EAAE/G,KAAK+G,EAAEu/F,GAAG9/F,KAAKO,EAAE/G,KAAKgG,EAAEhG,KAAKgG,EAAEhG,KAAK+G,GAAGP,EAAEggG,YAAYz/F,EAAS0/F,GAAGpgG,EAAEK,GAAG,SAAS20E,GAAGh1E,EAAEU,EAAEL,GAAmB,GAAG,QAAnBK,EAAEA,EAAE4/F,eAA0B5/F,EAAEA,EAAEggG,OAAO,KAAO,QAAFrgG,IAAY,CAAC,IAAIF,EAAEO,EAAEk/F,MAAwBv/F,GAAlBF,GAAGH,EAAEuqF,aAAkB7pF,EAAEk/F,MAAMv/F,EAAE0qF,GAAG/qF,EAAEK,IAClZ,SAAS40E,GAAGj1E,EAAEU,GAAG,IAAIL,EAAEL,EAAEsgG,YAAYngG,EAAEH,EAAE+nF,UAAU,GAAG,OAAO5nF,GAAoBE,KAAhBF,EAAEA,EAAEmgG,aAAmB,CAAC,IAAI3gG,EAAE,KAAKoB,EAAE,KAAyB,GAAG,QAAvBV,EAAEA,EAAEmgG,iBAA4B,CAAC,EAAE,CAAC,IAAI9gF,EAAE,CAACmhF,UAAUxgG,EAAEwgG,UAAUC,KAAKzgG,EAAEygG,KAAKvhB,IAAIl/E,EAAEk/E,IAAIwhB,QAAQ1gG,EAAE0gG,QAAQvxD,SAASnvC,EAAEmvC,SAAS71C,KAAK,MAAM,OAAOoH,EAAEpB,EAAEoB,EAAE2e,EAAE3e,EAAEA,EAAEpH,KAAK+lB,EAAErf,EAAEA,EAAE1G,WAAW,OAAO0G,GAAG,OAAOU,EAAEpB,EAAEoB,EAAEL,EAAEK,EAAEA,EAAEpH,KAAK+G,OAAOf,EAAEoB,EAAEL,EAAiH,OAA/GL,EAAE,CAACkgG,UAAUpgG,EAAEogG,UAAUC,gBAAgB7gG,EAAE8gG,eAAe1/F,EAAE2/F,OAAOvgG,EAAEugG,OAAOE,QAAQzgG,EAAEygG,cAAS5gG,EAAEsgG,YAAYjgG,GAA4B,QAAnBL,EAAEK,EAAEogG,gBAAwBpgG,EAAEmgG,gBAAgB9/F,EAAEV,EAAErG,KACnf+G,EAAEL,EAAEogG,eAAe//F,EACnB,SAASy0E,GAAGn1E,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEK,EAAEsgG,YAAYD,IAAG,EAAG,IAAIt/F,EAAEpB,EAAE6gG,gBAAgB9gF,EAAE/f,EAAE8gG,eAAex/F,EAAEtB,EAAE+gG,OAAOC,QAAQ,GAAG,OAAO1/F,EAAE,CAACtB,EAAE+gG,OAAOC,QAAQ,KAAK,IAAI/qF,EAAE3U,EAAEV,EAAEqV,EAAEjc,KAAKic,EAAEjc,KAAK,KAAK,OAAO+lB,EAAE3e,EAAER,EAAEmf,EAAE/lB,KAAK4G,EAAEmf,EAAE9J,EAAE,IAAIpV,EAAER,EAAE+nF,UAAU,OAAOvnF,KAAoBS,GAAhBT,EAAEA,EAAE8/F,aAAgBG,kBAAmB/gF,IAAI,OAAOze,EAAET,EAAEggG,gBAAgBjgG,EAAEU,EAAEtH,KAAK4G,EAAEC,EAAEigG,eAAe7qF,IAAI,GAAG,OAAO7U,EAAE,CAAC,IAAIJ,EAAEhB,EAAE4gG,UAA6B,IAAnB7gF,EAAE,EAAElf,EAAED,EAAEqV,EAAE,KAAK3U,EAAEF,IAAI,CAAC,IAAIjB,EAAEmB,EAAE6/F,KAAKz/F,EAAEJ,EAAE4/F,UAAU,IAAI1gG,EAAEL,KAAKA,EAAE,CAAC,OAAOU,IAAIA,EAAEA,EAAE7G,KAAK,CAACknG,UAAUx/F,EAAEy/F,KAAK,EAAEvhB,IAAIt+E,EAAEs+E,IAAIwhB,QAAQ9/F,EAAE8/F,QAAQvxD,SAASvuC,EAAEuuC,SACvf71C,KAAK,OAAOqG,EAAE,CAAC,IAAIE,EAAEF,EAAEH,EAAEoB,EAAU,OAARnB,EAAEY,EAAEW,EAAEhB,EAASR,EAAE0/E,KAAK,KAAK,EAAc,GAAG,oBAAfr/E,EAAEL,EAAEkhG,SAAiC,CAACpgG,EAAET,EAAEnI,KAAKsJ,EAAEV,EAAEb,GAAG,MAAME,EAAEW,EAAET,EAAE,MAAMF,EAAE,KAAK,EAAEE,EAAE8nF,OAAe,MAAT9nF,EAAE8nF,MAAa,IAAI,KAAK,EAAsD,GAAG,QAA3CloF,EAAE,oBAAdI,EAAEL,EAAEkhG,SAAgC7gG,EAAEnI,KAAKsJ,EAAEV,EAAEb,GAAGI,SAAe,IAASJ,EAAE,MAAME,EAAEW,EAAEyZ,EAAE,GAAGzZ,EAAEb,GAAG,MAAME,EAAE,KAAK,EAAEqgG,IAAG,GAAI,OAAOp/F,EAAEuuC,UAAU,IAAIvuC,EAAE6/F,OAAO9gG,EAAEgoF,OAAO,GAAe,QAAZloF,EAAEH,EAAEihG,SAAiBjhG,EAAEihG,QAAQ,CAAC3/F,GAAGnB,EAAEzF,KAAK4G,SAASI,EAAE,CAACw/F,UAAUx/F,EAAEy/F,KAAKhhG,EAAEy/E,IAAIt+E,EAAEs+E,IAAIwhB,QAAQ9/F,EAAE8/F,QAAQvxD,SAASvuC,EAAEuuC,SAAS71C,KAAK,MAAM,OAAO6G,GAAGD,EAAEC,EAAEa,EAAEuU,EAAEjV,GAAGH,EAAEA,EAAE7G,KAAK0H,EAAEqe,GAAG5f,EAC3e,GAAG,QAAZmB,EAAEA,EAAEtH,MAAiB,IAAsB,QAAnBsH,EAAEtB,EAAE+gG,OAAOC,SAAiB,MAAe1/F,GAAJnB,EAAEmB,GAAMtH,KAAKmG,EAAEnG,KAAK,KAAKgG,EAAE8gG,eAAe3gG,EAAEH,EAAE+gG,OAAOC,QAAQ,MAA0G,GAA5F,OAAOngG,IAAIoV,EAAEjV,GAAGhB,EAAE4gG,UAAU3qF,EAAEjW,EAAE6gG,gBAAgBjgG,EAAEZ,EAAE8gG,eAAejgG,EAA4B,QAA1BE,EAAEf,EAAE+gG,OAAOP,aAAwB,CAACxgG,EAAEe,EAAE,GAAGgf,GAAG/f,EAAEmhG,KAAKnhG,EAAEA,EAAEhG,WAAWgG,IAAIe,QAAQ,OAAOK,IAAIpB,EAAE+gG,OAAOd,MAAM,GAAG5/E,IAAIN,EAAE1f,EAAE4/F,MAAMlgF,EAAE1f,EAAEkoF,cAAcvnF,GAC5V,SAASqgG,GAAGhhG,EAAEU,EAAEL,GAA8B,GAA3BL,EAAEU,EAAEkgG,QAAQlgG,EAAEkgG,QAAQ,KAAQ,OAAO5gG,EAAE,IAAIU,EAAE,EAAEA,EAAEV,EAAEpF,OAAO8F,IAAI,CAAC,IAAIP,EAAEH,EAAEU,GAAGf,EAAEQ,EAAEqvC,SAAS,GAAG,OAAO7vC,EAAE,CAAqB,GAApBQ,EAAEqvC,SAAS,KAAKrvC,EAAEE,EAAK,oBAAoBV,EAAE,MAAM3I,MAAMsJ,EAAE,IAAIX,IAAIA,EAAE5H,KAAKoI,KAAK,IAAI8gG,IAAI,IAAI1kB,EAAGlC,WAAWpB,KAAK,SAASioB,GAAGlhG,EAAEU,EAAEL,EAAEF,GAA8BE,EAAE,QAAXA,EAAEA,EAAEF,EAAtBO,EAAEV,EAAEkoF,sBAAmC,IAAS7nF,EAAEK,EAAE0Z,EAAE,GAAG1Z,EAAEL,GAAGL,EAAEkoF,cAAc7nF,EAAE,IAAIL,EAAE4/F,QAAQ5/F,EAAEsgG,YAAYC,UAAUlgG,GAChX,IAAI8gG,GAAG,CAACtoB,UAAU,SAAS74E,GAAG,SAAOA,EAAEA,EAAEohG,kBAAiBtZ,GAAG9nF,KAAKA,GAAMg5E,gBAAgB,SAASh5E,EAAEU,EAAEL,GAAGL,EAAEA,EAAEohG,gBAAgB,IAAIjhG,EAAEijB,KAAIzjB,EAAE0hG,GAAGrhG,GAAGe,EAAE6zE,GAAGz0E,EAAER,GAAGoB,EAAEggG,QAAQrgG,OAAE,IAASL,GAAG,OAAOA,IAAIU,EAAEyuC,SAASnvC,GAAe,QAAZK,EAAEo0E,GAAG90E,EAAEe,EAAEpB,MAAc2hG,GAAG5gG,EAAEV,EAAEL,EAAEQ,GAAG60E,GAAGt0E,EAAEV,EAAEL,KAAKo5E,oBAAoB,SAAS/4E,EAAEU,EAAEL,GAAGL,EAAEA,EAAEohG,gBAAgB,IAAIjhG,EAAEijB,KAAIzjB,EAAE0hG,GAAGrhG,GAAGe,EAAE6zE,GAAGz0E,EAAER,GAAGoB,EAAEw+E,IAAI,EAAEx+E,EAAEggG,QAAQrgG,OAAE,IAASL,GAAG,OAAOA,IAAIU,EAAEyuC,SAASnvC,GAAe,QAAZK,EAAEo0E,GAAG90E,EAAEe,EAAEpB,MAAc2hG,GAAG5gG,EAAEV,EAAEL,EAAEQ,GAAG60E,GAAGt0E,EAAEV,EAAEL,KAAKm5E,mBAAmB,SAAS94E,EAAEU,GAAGV,EAAEA,EAAEohG,gBAAgB,IAAI/gG,EAAE+iB,KAAIjjB,EACnfkhG,GAAGrhG,GAAGL,EAAEi1E,GAAGv0E,EAAEF,GAAGR,EAAE4/E,IAAI,OAAE,IAAS7+E,GAAG,OAAOA,IAAIf,EAAE6vC,SAAS9uC,GAAe,QAAZA,EAAEo0E,GAAG90E,EAAEL,EAAEQ,MAAcmhG,GAAG5gG,EAAEV,EAAEG,EAAEE,GAAG20E,GAAGt0E,EAAEV,EAAEG,MAAM,SAASohG,GAAGvhG,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,GAAiB,MAAM,oBAApB1f,EAAEA,EAAE2mF,WAAsC6a,sBAAsBxhG,EAAEwhG,sBAAsBrhG,EAAEY,EAAE2e,IAAGhf,EAAE7L,YAAW6L,EAAE7L,UAAUykF,wBAAsBmc,GAAGp1F,EAAEF,KAAKs1F,GAAG91F,EAAEoB,IACrS,SAASu9B,GAAGt+B,EAAEU,EAAEL,GAAG,IAAIF,GAAE,EAAGR,EAAE+7F,GAAO36F,EAAEL,EAAE+gG,YAA2W,MAA/V,kBAAkB1gG,GAAG,OAAOA,EAAEA,EAAE++F,GAAG/+F,IAAIpB,EAAEs8F,GAAGv7F,GAAGk7F,GAAGrwD,GAAEpF,QAAyBplC,GAAGZ,EAAE,QAAtBA,EAAEO,EAAEo7F,oBAA4B,IAAS37F,GAAG07F,GAAG77F,EAAEL,GAAG+7F,IAAIh7F,EAAE,IAAIA,EAAEL,EAAEU,GAAGf,EAAEkoF,cAAc,OAAOxnF,EAAE7J,YAAO,IAAS6J,EAAE7J,MAAM6J,EAAE7J,MAAM,KAAK6J,EAAEw4E,QAAQioB,GAAGnhG,EAAE2mF,UAAUjmF,EAAEA,EAAE0gG,gBAAgBphG,EAAEG,KAAIH,EAAEA,EAAE2mF,WAAYoV,4CAA4Cp8F,EAAEK,EAAEg8F,0CAA0Cj7F,GAAUL,EAC3Z,SAASghG,GAAG1hG,EAAEU,EAAEL,EAAEF,GAAGH,EAAEU,EAAE7J,MAAM,oBAAoB6J,EAAEihG,2BAA2BjhG,EAAEihG,0BAA0BthG,EAAEF,GAAG,oBAAoBO,EAAEkhG,kCAAkClhG,EAAEkhG,iCAAiCvhG,EAAEF,GAAGO,EAAE7J,QAAQmJ,GAAGmhG,GAAGpoB,oBAAoBr4E,EAAEA,EAAE7J,MAAM,MAC/P,SAASgrG,GAAG7hG,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEK,EAAE2mF,UAAUhnF,EAAExC,MAAMkD,EAAEV,EAAE9I,MAAMmJ,EAAEkoF,cAAcvoF,EAAEs5E,KAAKgoB,GAAGzsB,GAAGx0E,GAAG,IAAIe,EAAEL,EAAE+gG,YAAY,kBAAkB1gG,GAAG,OAAOA,EAAEpB,EAAEjJ,QAAQopG,GAAG/+F,IAAIA,EAAEk7F,GAAGv7F,GAAGk7F,GAAGrwD,GAAEpF,QAAQxmC,EAAEjJ,QAAQmlG,GAAG77F,EAAEe,IAAIpB,EAAE9I,MAAMmJ,EAAEkoF,cAA2C,oBAA7BnnF,EAAEL,EAAEohG,4BAAiDZ,GAAGlhG,EAAEU,EAAEK,EAAEV,GAAGV,EAAE9I,MAAMmJ,EAAEkoF,eAAe,oBAAoBxnF,EAAEohG,0BAA0B,oBAAoBniG,EAAEoiG,yBAAyB,oBAAoBpiG,EAAEqiG,2BAA2B,oBAAoBriG,EAAEsiG,qBAAqBvhG,EAAEf,EAAE9I,MACrf,oBAAoB8I,EAAEsiG,oBAAoBtiG,EAAEsiG,qBAAqB,oBAAoBtiG,EAAEqiG,2BAA2BriG,EAAEqiG,4BAA4BthG,IAAIf,EAAE9I,OAAOsqG,GAAGpoB,oBAAoBp5E,EAAEA,EAAE9I,MAAM,MAAMs+E,GAAGn1E,EAAEK,EAAEV,EAAEQ,GAAGR,EAAE9I,MAAMmJ,EAAEkoF,eAAe,oBAAoBvoF,EAAEuiG,oBAAoBliG,EAAEgoF,OAAO,SAC5R,SAASma,GAAGniG,EAAEU,EAAEL,GAAW,GAAG,QAAXL,EAAEK,EAAE0B,MAAiB,oBAAoB/B,GAAG,kBAAkBA,EAAE,CAAC,GAAGK,EAAEs5E,OAAO,CAAY,GAAXt5E,EAAEA,EAAEs5E,OAAY,CAAC,GAAG,IAAIt5E,EAAEk/E,IAAI,MAAMvoF,MAAMsJ,EAAE,MAAM,IAAIH,EAAEE,EAAEsmF,UAAU,IAAIxmF,EAAE,MAAMnJ,MAAMsJ,EAAE,IAAIN,IAAI,IAAIL,EAAEQ,EAAEY,EAAE,GAAGf,EAAE,OAAG,OAAOU,GAAG,OAAOA,EAAEqB,KAAK,oBAAoBrB,EAAEqB,KAAKrB,EAAEqB,IAAIqgG,aAAarhG,EAASL,EAAEqB,KAAIrB,EAAE,SAASV,GAAG,IAAIU,EAAEf,EAAEs5E,KAAKv4E,IAAIugG,KAAKvgG,EAAEf,EAAEs5E,KAAK,IAAI,OAAOj5E,SAASU,EAAEK,GAAGL,EAAEK,GAAGf,GAAGU,EAAE0hG,WAAWrhG,EAASL,GAAE,GAAG,kBAAkBV,EAAE,MAAMhJ,MAAMsJ,EAAE,MAAM,IAAID,EAAEs5E,OAAO,MAAM3iF,MAAMsJ,EAAE,IAAIN,IAAK,OAAOA,EACpe,SAASkhB,GAAGlhB,EAAEU,GAAuC,MAApCV,EAAEpL,OAAOC,UAAUsT,SAASpQ,KAAK2I,GAAS1J,MAAMsJ,EAAE,GAAG,oBAAoBN,EAAE,qBAAqBpL,OAAO+G,KAAK+E,GAAGoN,KAAK,MAAM,IAAI9N,IAAK,SAASqiG,GAAGriG,GAAiB,OAAOU,EAAfV,EAAE00B,OAAe10B,EAAEy7E,UAC5L,SAAS6mB,GAAGtiG,GAAG,SAASU,EAAEA,EAAEL,GAAG,GAAGL,EAAE,CAAC,IAAIG,EAAEO,EAAEw9F,UAAU,OAAO/9F,GAAGO,EAAEw9F,UAAU,CAAC79F,GAAGK,EAAEsnF,OAAO,IAAI7nF,EAAE9F,KAAKgG,IAAI,SAASA,EAAEA,EAAEF,GAAG,IAAIH,EAAE,OAAO,KAAK,KAAK,OAAOG,GAAGO,EAAEL,EAAEF,GAAGA,EAAEA,EAAEooF,QAAQ,OAAO,KAAK,SAASpoF,EAAEH,EAAEU,GAAG,IAAIV,EAAE,IAAI4tB,IAAI,OAAOltB,GAAG,OAAOA,EAAEhL,IAAIsK,EAAE+R,IAAIrR,EAAEhL,IAAIgL,GAAGV,EAAE+R,IAAIrR,EAAE0B,MAAM1B,GAAGA,EAAEA,EAAE6nF,QAAQ,OAAOvoF,EAAE,SAASL,EAAEK,EAAEU,GAAsC,OAAnCV,EAAEohB,GAAGphB,EAAEU,IAAK0B,MAAM,EAAEpC,EAAEuoF,QAAQ,KAAYvoF,EAAE,SAASe,EAAEL,EAAEL,EAAEF,GAAa,OAAVO,EAAE0B,MAAMjC,EAAMH,EAA6C,QAAjBG,EAAEO,EAAEqnF,YAA6B5nF,EAAEA,EAAEiC,OAAQ/B,GAAGK,EAAEsnF,OAAO,EAAE3nF,GAAGF,GAAEO,EAAEsnF,OAAO,EAAS3nF,IAArGK,EAAEsnF,OAAO,QAAQ3nF,GAAsF,SAASqf,EAAEhf,GACzd,OAD4dV,GAC7f,OAAOU,EAAEqnF,YAAYrnF,EAAEsnF,OAAO,GAAUtnF,EAAE,SAASO,EAAEjB,EAAEU,EAAEL,EAAEF,GAAG,OAAG,OAAOO,GAAG,IAAIA,EAAE6+E,MAAW7+E,EAAE6hG,GAAGliG,EAAEL,EAAEwgC,KAAKrgC,IAAK2T,OAAO9T,EAAEU,KAAEA,EAAEf,EAAEe,EAAEL,IAAKyT,OAAO9T,EAASU,GAAE,SAASkV,EAAE5V,EAAEU,EAAEL,EAAEF,GAAG,IAAIY,EAAEV,EAAEzI,KAAK,OAAGmJ,IAAIq9E,EAAU59E,EAAER,EAAEU,EAAEL,EAAElD,MAAMuH,SAASvE,EAAEE,EAAE3K,KAAQ,OAAOgL,IAAIA,EAAEu9F,cAAcl9F,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE24E,WAAWmF,GAAIwjB,GAAGthG,KAAKL,EAAE9I,QAAauI,EAAER,EAAEe,EAAEL,EAAElD,QAAS4E,IAAIogG,GAAGniG,EAAEU,EAAEL,GAAGF,EAAE2T,OAAO9T,EAAEG,KAAEA,EAAEqiG,GAAGniG,EAAEzI,KAAKyI,EAAE3K,IAAI2K,EAAElD,MAAM,KAAK6C,EAAEwgC,KAAKrgC,IAAK4B,IAAIogG,GAAGniG,EAAEU,EAAEL,GAAGF,EAAE2T,OAAO9T,EAASG,GAAE,SAASI,EAAEP,EAAEU,EAAEL,EAAEF,GAAG,OAAG,OAAOO,GAAG,IAAIA,EAAE6+E,KACjf7+E,EAAEimF,UAAUiG,gBAAgBvsF,EAAEusF,eAAelsF,EAAEimF,UAAU8b,iBAAiBpiG,EAAEoiG,iBAAsB/hG,EAAEgiG,GAAGriG,EAAEL,EAAEwgC,KAAKrgC,IAAK2T,OAAO9T,EAAEU,KAAEA,EAAEf,EAAEe,EAAEL,EAAEqE,UAAU,KAAMoP,OAAO9T,EAASU,GAAE,SAASF,EAAER,EAAEU,EAAEL,EAAEF,EAAEY,GAAG,OAAG,OAAOL,GAAG,IAAIA,EAAE6+E,MAAW7+E,EAAEiiG,GAAGtiG,EAAEL,EAAEwgC,KAAKrgC,EAAEY,IAAK+S,OAAO9T,EAAEU,KAAEA,EAAEf,EAAEe,EAAEL,IAAKyT,OAAO9T,EAASU,GAAE,SAASC,EAAEX,EAAEU,EAAEL,GAAG,GAAG,kBAAkBK,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAOA,EAAE6hG,GAAG,GAAG7hG,EAAEV,EAAEwgC,KAAKngC,IAAKyT,OAAO9T,EAAEU,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEg5E,UAAU,KAAKwE,EAAG,OAAO79E,EAAEmiG,GAAG9hG,EAAE9I,KAAK8I,EAAEhL,IAAIgL,EAAEvD,MAAM,KAAK6C,EAAEwgC,KAAKngC,IACjf0B,IAAIogG,GAAGniG,EAAE,KAAKU,GAAGL,EAAEyT,OAAO9T,EAAEK,EAAE,KAAK89E,EAAG,OAAOz9E,EAAEgiG,GAAGhiG,EAAEV,EAAEwgC,KAAKngC,IAAKyT,OAAO9T,EAAEU,EAAE,KAAKm+E,EAAiB,OAAOl+E,EAAEX,GAAEG,EAAnBO,EAAEg0B,OAAmBh0B,EAAE+6E,UAAUp7E,GAAG,GAAG4gF,GAAGvgF,IAAIs+E,EAAGt+E,GAAG,OAAOA,EAAEiiG,GAAGjiG,EAAEV,EAAEwgC,KAAKngC,EAAE,OAAQyT,OAAO9T,EAAEU,EAAEwgB,GAAGlhB,EAAEU,GAAG,OAAO,KAAK,SAASZ,EAAEE,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAE,OAAOe,EAAEA,EAAEhL,IAAI,KAAK,GAAG,kBAAkB2K,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAO,OAAOV,EAAE,KAAKsB,EAAEjB,EAAEU,EAAE,GAAGL,EAAEF,GAAG,GAAG,kBAAkBE,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEq5E,UAAU,KAAKwE,EAAG,OAAO79E,EAAE3K,MAAMiK,EAAEiW,EAAE5V,EAAEU,EAAEL,EAAEF,GAAG,KAAK,KAAKg+E,EAAG,OAAO99E,EAAE3K,MAAMiK,EAAEY,EAAEP,EAAEU,EAAEL,EAAEF,GAAG,KAAK,KAAK0+E,EAAG,OAAiB/+E,EAAEE,EACpfU,GADwef,EAAEU,EAAEq0B,OACxer0B,EAAEo7E,UAAUt7E,GAAG,GAAG8gF,GAAG5gF,IAAI2+E,EAAG3+E,GAAG,OAAO,OAAOV,EAAE,KAAKa,EAAER,EAAEU,EAAEL,EAAEF,EAAE,MAAM+gB,GAAGlhB,EAAEK,GAAG,OAAO,KAAK,SAASgB,EAAErB,EAAEU,EAAEL,EAAEF,EAAER,GAAG,GAAG,kBAAkBQ,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAwBc,EAAEP,EAAnBV,EAAEA,EAAE6tB,IAAIxtB,IAAI,KAAW,GAAGF,EAAER,GAAG,GAAG,kBAAkBQ,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEu5E,UAAU,KAAKwE,EAAG,OAA2CtoE,EAAElV,EAAtCV,EAAEA,EAAE6tB,IAAI,OAAO1tB,EAAEzK,IAAI2K,EAAEF,EAAEzK,MAAM,KAAWyK,EAAER,GAAG,KAAKw+E,EAAG,OAA2C59E,EAAEG,EAAtCV,EAAEA,EAAE6tB,IAAI,OAAO1tB,EAAEzK,IAAI2K,EAAEF,EAAEzK,MAAM,KAAWyK,EAAER,GAAG,KAAKk/E,EAAiB,OAAOx9E,EAAErB,EAAEU,EAAEL,GAAEU,EAAvBZ,EAAEu0B,OAAuBv0B,EAAEs7E,UAAU97E,GAAG,GAAGshF,GAAG9gF,IAAI6+E,EAAG7+E,GAAG,OAAwBK,EAAEE,EAAnBV,EAAEA,EAAE6tB,IAAIxtB,IAAI,KAAWF,EAAER,EAAE,MAAMuhB,GAAGxgB,EAAEP,GAAG,OAAO,KAC1f,SAASD,EAAEP,EAAE+f,EAAEze,EAAE2U,GAAG,IAAI,IAAIrV,EAAE,KAAKC,EAAE,KAAKJ,EAAEsf,EAAE8V,EAAE9V,EAAE,EAAEjf,EAAE,KAAK,OAAOL,GAAGo1B,EAAEv0B,EAAErG,OAAO46B,IAAI,CAACp1B,EAAEgC,MAAMozB,GAAG/0B,EAAEL,EAAEA,EAAE,MAAMK,EAAEL,EAAEmoF,QAAQ,IAAIroF,EAAEJ,EAAEH,EAAES,EAAEa,EAAEu0B,GAAG5f,GAAG,GAAG,OAAO1V,EAAE,CAAC,OAAOE,IAAIA,EAAEK,GAAG,MAAMT,GAAGI,GAAG,OAAOF,EAAE6nF,WAAWrnF,EAAEf,EAAES,GAAGsf,EAAE3e,EAAEb,EAAEwf,EAAE8V,GAAG,OAAOh1B,EAAED,EAAEL,EAAEM,EAAE+nF,QAAQroF,EAAEM,EAAEN,EAAEE,EAAEK,EAAE,GAAG+0B,IAAIv0B,EAAErG,OAAO,OAAOyF,EAAEV,EAAES,GAAGc,IAAGs8F,GAAG79F,EAAE61B,GAAGj1B,EAAE,GAAG,OAAOH,EAAE,CAAC,KAAKo1B,EAAEv0B,EAAErG,OAAO46B,IAAkB,QAAdp1B,EAAEO,EAAEhB,EAAEsB,EAAEu0B,GAAG5f,MAAc8J,EAAE3e,EAAEX,EAAEsf,EAAE8V,GAAG,OAAOh1B,EAAED,EAAEH,EAAEI,EAAE+nF,QAAQnoF,EAAEI,EAAEJ,GAAc,OAAXc,IAAGs8F,GAAG79F,EAAE61B,GAAUj1B,EAAE,IAAIH,EAAED,EAAER,EAAES,GAAGo1B,EAAEv0B,EAAErG,OAAO46B,IAAsB,QAAlB/0B,EAAEY,EAAEjB,EAAET,EAAE61B,EAAEv0B,EAAEu0B,GAAG5f,MAAc5V,GAAG,OAAOS,EAAEsnF,WAAW3nF,EAAE4rF,OAAO,OACvfvrF,EAAE/K,IAAI8/B,EAAE/0B,EAAE/K,KAAKgqB,EAAE3e,EAAEN,EAAEif,EAAE8V,GAAG,OAAOh1B,EAAED,EAAEE,EAAED,EAAE+nF,QAAQ9nF,EAAED,EAAEC,GAAuD,OAApDT,GAAGI,EAAE1H,SAAQ,SAASsH,GAAG,OAAOU,EAAEf,EAAEK,MAAKkB,IAAGs8F,GAAG79F,EAAE61B,GAAUj1B,EAAE,SAASV,EAAEF,EAAE+f,EAAEze,EAAE2U,GAAG,IAAIrV,EAAEy+E,EAAG/9E,GAAG,GAAG,oBAAoBV,EAAE,MAAMvJ,MAAMsJ,EAAE,MAAkB,GAAG,OAAfW,EAAEV,EAAExI,KAAKkJ,IAAc,MAAMjK,MAAMsJ,EAAE,MAAM,IAAI,IAAIF,EAAEG,EAAE,KAAKC,EAAEkf,EAAE8V,EAAE9V,EAAE,EAAEjf,EAAE,KAAKP,EAAEe,EAAEtH,OAAO,OAAO6G,IAAIN,EAAErI,KAAK29B,IAAIt1B,EAAEe,EAAEtH,OAAO,CAAC6G,EAAE4B,MAAMozB,GAAG/0B,EAAED,EAAEA,EAAE,MAAMC,EAAED,EAAE+nF,QAAQ,IAAI1oF,EAAEC,EAAEH,EAAEa,EAAEN,EAAEvK,MAAMigB,GAAG,GAAG,OAAO/V,EAAE,CAAC,OAAOW,IAAIA,EAAEC,GAAG,MAAMT,GAAGQ,GAAG,OAAOX,EAAEkoF,WAAWrnF,EAAEf,EAAEa,GAAGkf,EAAE3e,EAAElB,EAAE6f,EAAE8V,GAAG,OAAOp1B,EAAEG,EAAEV,EAAEO,EAAEmoF,QAAQ1oF,EAAEO,EAAEP,EAAEW,EAAEC,EAAE,GAAGP,EAAErI,KAAK,OAAOwI,EAAEV,EACzfa,GAAGU,IAAGs8F,GAAG79F,EAAE61B,GAAGj1B,EAAE,GAAG,OAAOC,EAAE,CAAC,MAAMN,EAAErI,KAAK29B,IAAIt1B,EAAEe,EAAEtH,OAAwB,QAAjBuG,EAAES,EAAEhB,EAAEO,EAAEvK,MAAMigB,MAAc8J,EAAE3e,EAAEb,EAAEwf,EAAE8V,GAAG,OAAOp1B,EAAEG,EAAEL,EAAEE,EAAEmoF,QAAQroF,EAAEE,EAAEF,GAAc,OAAXgB,IAAGs8F,GAAG79F,EAAE61B,GAAUj1B,EAAE,IAAIC,EAAEL,EAAER,EAAEa,IAAIN,EAAErI,KAAK29B,IAAIt1B,EAAEe,EAAEtH,OAA4B,QAArBuG,EAAEmB,EAAEb,EAAEb,EAAE61B,EAAEt1B,EAAEvK,MAAMigB,MAAc5V,GAAG,OAAOE,EAAE6nF,WAAWvnF,EAAEwrF,OAAO,OAAO9rF,EAAExK,IAAI8/B,EAAEt1B,EAAExK,KAAKgqB,EAAE3e,EAAEb,EAAEwf,EAAE8V,GAAG,OAAOp1B,EAAEG,EAAEL,EAAEE,EAAEmoF,QAAQroF,EAAEE,EAAEF,GAAuD,OAApDF,GAAGQ,EAAE9H,SAAQ,SAASsH,GAAG,OAAOU,EAAEf,EAAEK,MAAKkB,IAAGs8F,GAAG79F,EAAE61B,GAAUj1B,EAG1T,OAH4T,SAAS8zD,EAAEr0D,EAAEG,EAAEY,EAAEE,GAAkF,GAA/E,kBAAkBF,GAAG,OAAOA,GAAGA,EAAEnJ,OAAOwmF,GAAI,OAAOr9E,EAAErL,MAAMqL,EAAEA,EAAE5D,MAAMuH,UAAa,kBAAkB3D,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAE24E,UAAU,KAAKwE,EAAGl+E,EAAE,CAAC,IAAI,IAAI4V,EAC7hB7U,EAAErL,IAAI6K,EAAEJ,EAAE,OAAOI,GAAG,CAAC,GAAGA,EAAE7K,MAAMkgB,EAAE,CAAU,IAATA,EAAE7U,EAAEnJ,QAAYwmF,GAAI,GAAG,IAAI79E,EAAEg/E,IAAI,CAACl/E,EAAEL,EAAEO,EAAEgoF,UAASpoF,EAAER,EAAEY,EAAEQ,EAAE5D,MAAMuH,WAAYoP,OAAO9T,EAAEA,EAAEG,EAAE,MAAMH,QAAQ,GAAGO,EAAE09F,cAAcroF,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE8jE,WAAWmF,GAAIwjB,GAAGzsF,KAAKrV,EAAE3I,KAAK,CAACyI,EAAEL,EAAEO,EAAEgoF,UAASpoF,EAAER,EAAEY,EAAEQ,EAAE5D,QAAS4E,IAAIogG,GAAGniG,EAAEO,EAAEQ,GAAGZ,EAAE2T,OAAO9T,EAAEA,EAAEG,EAAE,MAAMH,EAAEK,EAAEL,EAAEO,GAAG,MAAWG,EAAEV,EAAEO,GAAGA,EAAEA,EAAEgoF,QAAQxnF,EAAEnJ,OAAOwmF,IAAIj+E,EAAEwiG,GAAG5hG,EAAE5D,MAAMuH,SAAS1E,EAAEwgC,KAAKv/B,EAAEF,EAAErL,MAAOoe,OAAO9T,EAAEA,EAAEG,KAAIc,EAAEuhG,GAAGzhG,EAAEnJ,KAAKmJ,EAAErL,IAAIqL,EAAE5D,MAAM,KAAK6C,EAAEwgC,KAAKv/B,IAAKc,IAAIogG,GAAGniG,EAAEG,EAAEY,GAAGE,EAAE6S,OAAO9T,EAAEA,EAAEiB,GAAG,OAAOye,EAAE1f,GAAG,KAAKm+E,EAAGn+E,EAAE,CAAC,IAAIO,EAAEQ,EAAErL,IAAI,OACzfyK,GAAG,CAAC,GAAGA,EAAEzK,MAAM6K,EAAX,CAAa,GAAG,IAAIJ,EAAEo/E,KAAKp/E,EAAEwmF,UAAUiG,gBAAgB7rF,EAAE6rF,eAAezsF,EAAEwmF,UAAU8b,iBAAiB1hG,EAAE0hG,eAAe,CAACpiG,EAAEL,EAAEG,EAAEooF,UAASpoF,EAAER,EAAEQ,EAAEY,EAAE2D,UAAU,KAAMoP,OAAO9T,EAAEA,EAAEG,EAAE,MAAMH,EAAOK,EAAEL,EAAEG,GAAG,MAAWO,EAAEV,EAAEG,GAAGA,EAAEA,EAAEooF,SAAQpoF,EAAEuiG,GAAG3hG,EAAEf,EAAEwgC,KAAKv/B,IAAK6S,OAAO9T,EAAEA,EAAEG,EAAE,OAAOuf,EAAE1f,GAAG,KAAK6+E,EAAG,OAAiBxqB,EAAEr0D,EAAEG,GAAdI,EAAEQ,EAAE2zB,OAAc3zB,EAAE06E,UAAUx6E,GAAG,GAAGggF,GAAGlgF,GAAG,OAAOb,EAAEF,EAAEG,EAAEY,EAAEE,GAAG,GAAG+9E,EAAGj+E,GAAG,OAAOlB,EAAEG,EAAEG,EAAEY,EAAEE,GAAGigB,GAAGlhB,EAAEe,GAAG,MAAM,kBAAkBA,GAAG,KAAKA,GAAG,kBAAkBA,GAAGA,EAAE,GAAGA,EAAE,OAAOZ,GAAG,IAAIA,EAAEo/E,KAAKl/E,EAAEL,EAAEG,EAAEooF,UAASpoF,EAAER,EAAEQ,EAAEY,IAAK+S,OAAO9T,EAAEA,EAAEG,IACnfE,EAAEL,EAAEG,IAAGA,EAAEoiG,GAAGxhG,EAAEf,EAAEwgC,KAAKv/B,IAAK6S,OAAO9T,EAAEA,EAAEG,GAAGuf,EAAE1f,IAAIK,EAAEL,EAAEG,IAAY,IAAIyiG,GAAGN,IAAG,GAAIO,GAAGP,IAAG,GAAIQ,GAAG,GAAGC,GAAGtH,GAAGqH,IAAIE,GAAGvH,GAAGqH,IAAIG,GAAGxH,GAAGqH,IAAI,SAASI,GAAGljG,GAAG,GAAGA,IAAI8iG,GAAG,MAAM9rG,MAAMsJ,EAAE,MAAM,OAAON,EAAE,SAASmjG,GAAGnjG,EAAEU,GAAyC,OAAtC4mC,GAAE27D,GAAGviG,GAAG4mC,GAAE07D,GAAGhjG,GAAGsnC,GAAEy7D,GAAGD,IAAI9iG,EAAEU,EAAE0hF,UAAmB,KAAK,EAAE,KAAK,GAAG1hF,GAAGA,EAAEA,EAAE41D,iBAAiB51D,EAAEohF,aAAaH,GAAG,KAAK,IAAI,MAAM,QAAkEjhF,EAAEihF,GAArCjhF,GAAvBV,EAAE,IAAIA,EAAEU,EAAEyoE,WAAWzoE,GAAMohF,cAAc,KAAK9hF,EAAEA,EAAEojG,SAAkBnhG,GAAE8gG,IAAIz7D,GAAEy7D,GAAGriG,GAAG,SAAS2iG,KAAKphG,GAAE8gG,IAAI9gG,GAAE+gG,IAAI/gG,GAAEghG,IAChb,SAASK,GAAGtjG,GAAGkjG,GAAGD,GAAG98D,SAAS,IAAIzlC,EAAEwiG,GAAGH,GAAG58D,SAAa9lC,EAAEshF,GAAGjhF,EAAEV,EAAEpI,MAAM8I,IAAIL,IAAIinC,GAAE07D,GAAGhjG,GAAGsnC,GAAEy7D,GAAG1iG,IAAI,SAASkjG,GAAGvjG,GAAGgjG,GAAG78D,UAAUnmC,IAAIiC,GAAE8gG,IAAI9gG,GAAE+gG,KAAK,IAAI1oF,GAAEmhF,GAAG,GACrJ,SAAS+H,GAAGxjG,GAAG,IAAI,IAAIU,EAAEV,EAAE,OAAOU,GAAG,CAAC,GAAG,KAAKA,EAAE6+E,IAAI,CAAC,IAAIl/E,EAAEK,EAAEwnF,cAAc,GAAG,OAAO7nF,IAAmB,QAAfA,EAAEA,EAAE8nF,aAAqB,OAAO9nF,EAAE0H,MAAM,OAAO1H,EAAE0H,MAAM,OAAOrH,OAAO,GAAG,KAAKA,EAAE6+E,UAAK,IAAS7+E,EAAEi+F,cAAc8E,aAAa,GAAG,KAAa,IAAR/iG,EAAEsnF,OAAW,OAAOtnF,OAAO,GAAG,OAAOA,EAAE4nF,MAAM,CAAC5nF,EAAE4nF,MAAMx0E,OAAOpT,EAAEA,EAAEA,EAAE4nF,MAAM,SAAS,GAAG5nF,IAAIV,EAAE,MAAM,KAAK,OAAOU,EAAE6nF,SAAS,CAAC,GAAG,OAAO7nF,EAAEoT,QAAQpT,EAAEoT,SAAS9T,EAAE,OAAO,KAAKU,EAAEA,EAAEoT,OAAOpT,EAAE6nF,QAAQz0E,OAAOpT,EAAEoT,OAAOpT,EAAEA,EAAE6nF,QAAQ,OAAO,KAAK,IAAImb,GAAG,GACrc,SAASC,KAAK,IAAI,IAAI3jG,EAAE,EAAEA,EAAE0jG,GAAG9oG,OAAOoF,IAAI0jG,GAAG1jG,GAAG4jG,8BAA8B,KAAKF,GAAG9oG,OAAO,EAAE,IAAIipG,GAAGnzB,EAAGsJ,uBAAuB8pB,GAAGpzB,EAAGuJ,wBAAwB8pB,GAAG,EAAE91E,GAAE,KAAKC,GAAE,KAAKiZ,GAAE,KAAK68D,IAAG,EAAGC,IAAG,EAAGC,GAAG,EAAEC,GAAG,EAAE,SAAS7vC,KAAI,MAAMt9D,MAAMsJ,EAAE,MAAO,SAAS8jG,GAAGpkG,EAAEU,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIL,EAAE,EAAEA,EAAEK,EAAE9F,QAAQyF,EAAEL,EAAEpF,OAAOyF,IAAI,IAAIm1F,GAAGx1F,EAAEK,GAAGK,EAAEL,IAAI,OAAM,EAAG,OAAM,EAC9V,SAASgkG,GAAGrkG,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,GAAyH,GAAtHgjG,GAAGhjG,EAAEktB,GAAEvtB,EAAEA,EAAEwnF,cAAc,KAAKxnF,EAAE4/F,YAAY,KAAK5/F,EAAEk/F,MAAM,EAAEiE,GAAG19D,QAAQ,OAAOnmC,GAAG,OAAOA,EAAEkoF,cAAcoc,GAAGC,GAAGvkG,EAAEK,EAAEF,EAAER,GAAMskG,GAAG,CAACljG,EAAE,EAAE,EAAE,CAAY,GAAXkjG,IAAG,EAAGC,GAAG,EAAK,IAAInjG,EAAE,MAAM/J,MAAMsJ,EAAE,MAAMS,GAAG,EAAEomC,GAAEjZ,GAAE,KAAKxtB,EAAE4/F,YAAY,KAAKuD,GAAG19D,QAAQq+D,GAAGxkG,EAAEK,EAAEF,EAAER,SAASskG,IAAkE,GAA9DJ,GAAG19D,QAAQs+D,GAAG/jG,EAAE,OAAOwtB,IAAG,OAAOA,GAAEv0B,KAAKoqG,GAAG,EAAE58D,GAAEjZ,GAAED,GAAE,KAAK+1E,IAAG,EAAMtjG,EAAE,MAAM1J,MAAMsJ,EAAE,MAAM,OAAON,EAAE,SAASsU,KAAK,IAAItU,EAAE,IAAIkkG,GAAQ,OAALA,GAAG,EAASlkG,EAC9Y,SAAS0kG,KAAK,IAAI1kG,EAAE,CAACkoF,cAAc,KAAKqY,UAAU,KAAKoE,UAAU,KAAK97E,MAAM,KAAKlvB,KAAK,MAA8C,OAAxC,OAAOwtC,GAAElZ,GAAEi6D,cAAc/gD,GAAEnnC,EAAEmnC,GAAEA,GAAExtC,KAAKqG,EAASmnC,GAAE,SAASy9D,KAAK,GAAG,OAAO12E,GAAE,CAAC,IAAIluB,EAAEiuB,GAAE85D,UAAU/nF,EAAE,OAAOA,EAAEA,EAAEkoF,cAAc,UAAUloF,EAAEkuB,GAAEv0B,KAAK,IAAI+G,EAAE,OAAOymC,GAAElZ,GAAEi6D,cAAc/gD,GAAExtC,KAAK,GAAG,OAAO+G,EAAEymC,GAAEzmC,EAAEwtB,GAAEluB,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAMhJ,MAAMsJ,EAAE,MAAUN,EAAE,CAACkoF,eAAPh6D,GAAEluB,GAAqBkoF,cAAcqY,UAAUryE,GAAEqyE,UAAUoE,UAAUz2E,GAAEy2E,UAAU97E,MAAMqF,GAAErF,MAAMlvB,KAAK,MAAM,OAAOwtC,GAAElZ,GAAEi6D,cAAc/gD,GAAEnnC,EAAEmnC,GAAEA,GAAExtC,KAAKqG,EAAE,OAAOmnC,GAChe,SAAS09D,GAAG7kG,EAAEU,GAAG,MAAM,oBAAoBA,EAAEA,EAAEV,GAAGU,EAClD,SAASokG,GAAG9kG,GAAG,IAAIU,EAAEkkG,KAAKvkG,EAAEK,EAAEmoB,MAAM,GAAG,OAAOxoB,EAAE,MAAMrJ,MAAMsJ,EAAE,MAAMD,EAAE0kG,oBAAoB/kG,EAAE,IAAIG,EAAE+tB,GAAEvuB,EAAEQ,EAAEwkG,UAAU5jG,EAAEV,EAAEsgG,QAAQ,GAAG,OAAO5/F,EAAE,CAAC,GAAG,OAAOpB,EAAE,CAAC,IAAI+f,EAAE/f,EAAEhG,KAAKgG,EAAEhG,KAAKoH,EAAEpH,KAAKoH,EAAEpH,KAAK+lB,EAAEvf,EAAEwkG,UAAUhlG,EAAEoB,EAAEV,EAAEsgG,QAAQ,KAAK,GAAG,OAAOhhG,EAAE,CAACoB,EAAEpB,EAAEhG,KAAKwG,EAAEA,EAAEogG,UAAU,IAAIt/F,EAAEye,EAAE,KAAK9J,EAAE,KAAKrV,EAAEQ,EAAE,EAAE,CAAC,IAAIP,EAAED,EAAEugG,KAAK,IAAIiD,GAAGvjG,KAAKA,EAAE,OAAOoV,IAAIA,EAAEA,EAAEjc,KAAK,CAACmnG,KAAK,EAAEkE,OAAOzkG,EAAEykG,OAAOC,cAAc1kG,EAAE0kG,cAAcC,WAAW3kG,EAAE2kG,WAAWvrG,KAAK,OAAOwG,EAAEI,EAAE0kG,cAAc1kG,EAAE2kG,WAAWllG,EAAEG,EAAEI,EAAEykG,YAAY,CAAC,IAAIrkG,EAAE,CAACmgG,KAAKtgG,EAAEwkG,OAAOzkG,EAAEykG,OAAOC,cAAc1kG,EAAE0kG,cACngBC,WAAW3kG,EAAE2kG,WAAWvrG,KAAK,MAAM,OAAOic,GAAG3U,EAAE2U,EAAEjV,EAAE+e,EAAEvf,GAAGyV,EAAEA,EAAEjc,KAAKgH,EAAEstB,GAAE2xE,OAAOp/F,EAAEwf,IAAIxf,EAAED,EAAEA,EAAE5G,WAAW,OAAO4G,GAAGA,IAAIQ,GAAG,OAAO6U,EAAE8J,EAAEvf,EAAEyV,EAAEjc,KAAKsH,EAAEu0F,GAAGr1F,EAAEO,EAAEwnF,iBAAiB2X,IAAG,GAAIn/F,EAAEwnF,cAAc/nF,EAAEO,EAAE6/F,UAAU7gF,EAAEhf,EAAEikG,UAAU/uF,EAAEvV,EAAE8kG,kBAAkBhlG,EAAkB,GAAG,QAAnBH,EAAEK,EAAE8/F,aAAwB,CAACxgG,EAAEK,EAAE,GAAGe,EAAEpB,EAAEmhG,KAAK7yE,GAAE2xE,OAAO7+F,EAAEif,IAAIjf,EAAEpB,EAAEA,EAAEhG,WAAWgG,IAAIK,QAAQ,OAAOL,IAAIU,EAAEu/F,MAAM,GAAG,MAAM,CAACl/F,EAAEwnF,cAAc7nF,EAAE+kG,UACrX,SAASC,GAAGrlG,GAAG,IAAIU,EAAEkkG,KAAKvkG,EAAEK,EAAEmoB,MAAM,GAAG,OAAOxoB,EAAE,MAAMrJ,MAAMsJ,EAAE,MAAMD,EAAE0kG,oBAAoB/kG,EAAE,IAAIG,EAAEE,EAAE+kG,SAASzlG,EAAEU,EAAEsgG,QAAQ5/F,EAAEL,EAAEwnF,cAAc,GAAG,OAAOvoF,EAAE,CAACU,EAAEsgG,QAAQ,KAAK,IAAIjhF,EAAE/f,EAAEA,EAAEhG,KAAK,GAAGoH,EAAEf,EAAEe,EAAE2e,EAAEslF,QAAQtlF,EAAEA,EAAE/lB,WAAW+lB,IAAI/f,GAAG61F,GAAGz0F,EAAEL,EAAEwnF,iBAAiB2X,IAAG,GAAIn/F,EAAEwnF,cAAcnnF,EAAE,OAAOL,EAAEikG,YAAYjkG,EAAE6/F,UAAUx/F,GAAGV,EAAE8kG,kBAAkBpkG,EAAE,MAAM,CAACA,EAAEZ,GAAG,SAASiL,MAC/V,SAAS6lE,GAAGjxE,EAAEU,GAAG,IAAIL,EAAE4tB,GAAE9tB,EAAEykG,KAAKjlG,EAAEe,IAAIK,GAAGy0F,GAAGr1F,EAAE+nF,cAAcvoF,GAAsE,GAAnEoB,IAAIZ,EAAE+nF,cAAcvoF,EAAEkgG,IAAG,GAAI1/F,EAAEA,EAAE0oB,MAAMy8E,GAAGC,GAAG16E,KAAK,KAAKxqB,EAAEF,EAAEH,GAAG,CAACA,IAAOG,EAAEqlG,cAAc9kG,GAAGK,GAAG,OAAOomC,IAAuB,EAApBA,GAAE+gD,cAAc3I,IAAM,CAAuD,GAAtDl/E,EAAE2nF,OAAO,KAAKyd,GAAG,EAAEC,GAAG76E,KAAK,KAAKxqB,EAAEF,EAAER,EAAEe,QAAG,EAAO,MAAS,OAAOumC,GAAE,MAAMjwC,MAAMsJ,EAAE,MAAM,KAAQ,GAAHyjG,KAAQnjC,GAAGvgE,EAAEK,EAAEf,GAAG,OAAOA,EAAE,SAASihE,GAAG5gE,EAAEU,EAAEL,GAAGL,EAAEgoF,OAAO,MAAMhoF,EAAE,CAACwlG,YAAY9kG,EAAE/K,MAAM0K,GAAmB,QAAhBK,EAAEutB,GAAEqyE,cAAsB5/F,EAAE,CAACilG,WAAW,KAAKC,OAAO,MAAM33E,GAAEqyE,YAAY5/F,EAAEA,EAAEklG,OAAO,CAAC5lG,IAAgB,QAAXK,EAAEK,EAAEklG,QAAgBllG,EAAEklG,OAAO,CAAC5lG,GAAGK,EAAEhG,KAAK2F,GAC/e,SAAS0lG,GAAG1lG,EAAEU,EAAEL,EAAEF,GAAGO,EAAE/K,MAAM0K,EAAEK,EAAE8kG,YAAYrlG,EAAE0lG,GAAGnlG,IAAIolG,GAAG9lG,GAAG,SAASulG,GAAGvlG,EAAEU,EAAEL,GAAG,OAAOA,GAAE,WAAWwlG,GAAGnlG,IAAIolG,GAAG9lG,MAAK,SAAS6lG,GAAG7lG,GAAG,IAAIU,EAAEV,EAAEwlG,YAAYxlG,EAAEA,EAAErK,MAAM,IAAI,IAAI0K,EAAEK,IAAI,OAAO80F,GAAGx1F,EAAEK,GAAG,MAAMF,GAAG,OAAM,GAAI,SAAS2lG,GAAG9lG,GAAG,IAAIU,EAAE0/F,GAAGpgG,EAAE,GAAG,OAAOU,GAAG4gG,GAAG5gG,EAAEV,EAAE,GAAG,GAChQ,SAAS+lG,GAAG/lG,GAAG,IAAIU,EAAEgkG,KAA8M,MAAzM,oBAAoB1kG,IAAIA,EAAEA,KAAKU,EAAEwnF,cAAcxnF,EAAE6/F,UAAUvgG,EAAEA,EAAE,CAAC2gG,QAAQ,KAAKR,YAAY,KAAKP,MAAM,EAAEwF,SAAS,KAAKL,oBAAoBF,GAAGM,kBAAkBnlG,GAAGU,EAAEmoB,MAAM7oB,EAAEA,EAAEA,EAAEolG,SAASY,GAAGn7E,KAAK,KAAKoD,GAAEjuB,GAAS,CAACU,EAAEwnF,cAAcloF,GAC1P,SAASylG,GAAGzlG,EAAEU,EAAEL,EAAEF,GAA8O,OAA3OH,EAAE,CAACu/E,IAAIv/E,EAAEvJ,OAAOiK,EAAEulG,QAAQ5lG,EAAE6lG,KAAK/lG,EAAExG,KAAK,MAAsB,QAAhB+G,EAAEutB,GAAEqyE,cAAsB5/F,EAAE,CAACilG,WAAW,KAAKC,OAAO,MAAM33E,GAAEqyE,YAAY5/F,EAAEA,EAAEilG,WAAW3lG,EAAErG,KAAKqG,GAAmB,QAAfK,EAAEK,EAAEilG,YAAoBjlG,EAAEilG,WAAW3lG,EAAErG,KAAKqG,GAAGG,EAAEE,EAAE1G,KAAK0G,EAAE1G,KAAKqG,EAAEA,EAAErG,KAAKwG,EAAEO,EAAEilG,WAAW3lG,GAAWA,EAAE,SAASmmG,KAAK,OAAOvB,KAAK1c,cAAc,SAASke,GAAGpmG,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAE+kG,KAAKz2E,GAAE+5D,OAAOhoF,EAAEL,EAAEuoF,cAAcud,GAAG,EAAE/kG,EAAEL,OAAE,OAAO,IAASF,EAAE,KAAKA,GAC5Y,SAASkmG,GAAGrmG,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEilG,KAAKzkG,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIY,OAAE,EAAO,GAAG,OAAOmtB,GAAE,CAAC,IAAIxO,EAAEwO,GAAEg6D,cAA0B,GAAZnnF,EAAE2e,EAAEumF,QAAW,OAAO9lG,GAAGikG,GAAGjkG,EAAEuf,EAAEwmF,MAAmC,YAA5BvmG,EAAEuoF,cAAcud,GAAG/kG,EAAEL,EAAEU,EAAEZ,IAAW8tB,GAAE+5D,OAAOhoF,EAAEL,EAAEuoF,cAAcud,GAAG,EAAE/kG,EAAEL,EAAEU,EAAEZ,GAAG,SAASmmG,GAAGtmG,EAAEU,GAAG,OAAO0lG,GAAG,QAAQ,EAAEpmG,EAAEU,GAAG,SAAS4kG,GAAGtlG,EAAEU,GAAG,OAAO2lG,GAAG,KAAK,EAAErmG,EAAEU,GAAG,SAAS6lG,GAAGvmG,EAAEU,GAAG,OAAO2lG,GAAG,EAAE,EAAErmG,EAAEU,GAAG,SAAS4U,GAAGtV,EAAEU,GAAG,OAAO2lG,GAAG,EAAE,EAAErmG,EAAEU,GAC9W,SAAS6U,GAAGvV,EAAEU,GAAG,MAAG,oBAAoBA,GAASV,EAAEA,IAAIU,EAAEV,GAAG,WAAWU,EAAE,QAAU,OAAOA,QAAG,IAASA,GAASV,EAAEA,IAAIU,EAAEylC,QAAQnmC,EAAE,WAAWU,EAAEylC,QAAQ,YAAtE,EAA4E,SAAStjB,GAAG7iB,EAAEU,EAAEL,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE+M,OAAO,CAACpN,IAAI,KAAYqmG,GAAG,EAAE,EAAE9wF,GAAGsV,KAAK,KAAKnqB,EAAEV,GAAGK,GAAG,SAASmmG,MAAM,SAASC,GAAGzmG,EAAEU,GAAG,IAAIL,EAAEukG,KAAKlkG,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIP,EAAEE,EAAE6nF,cAAc,OAAG,OAAO/nF,GAAG,OAAOO,GAAG0jG,GAAG1jG,EAAEP,EAAE,IAAWA,EAAE,IAAGE,EAAE6nF,cAAc,CAACloF,EAAEU,GAAUV,GAC5Z,SAAS0mG,GAAG1mG,EAAEU,GAAG,IAAIL,EAAEukG,KAAKlkG,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIP,EAAEE,EAAE6nF,cAAc,OAAG,OAAO/nF,GAAG,OAAOO,GAAG0jG,GAAG1jG,EAAEP,EAAE,IAAWA,EAAE,IAAGH,EAAEA,IAAIK,EAAE6nF,cAAc,CAACloF,EAAEU,GAAUV,GAAE,SAAS2mG,GAAG3mG,EAAEU,EAAEL,GAAG,OAAG,KAAQ,GAAH0jG,KAAc/jG,EAAEugG,YAAYvgG,EAAEugG,WAAU,EAAGV,IAAG,GAAI7/F,EAAEkoF,cAAc7nF,IAAEm1F,GAAGn1F,EAAEK,KAAKL,EAAEi+D,KAAKrwC,GAAE2xE,OAAOv/F,EAAE2f,IAAI3f,EAAEL,EAAEugG,WAAU,GAAW7/F,GAAE,SAASkmG,GAAG5mG,EAAEU,GAAG,IAAIL,EAAEW,GAAEA,GAAE,IAAIX,GAAG,EAAEA,EAAEA,EAAE,EAAEL,GAAE,GAAI,IAAIG,EAAE2jG,GAAG/pB,WAAW+pB,GAAG/pB,WAAW,GAAG,IAAI/5E,GAAE,GAAIU,IAAV,QAAsBM,GAAEX,EAAEyjG,GAAG/pB,WAAW55E,GAAG,SAAS0mG,KAAK,OAAOjC,KAAK1c,cAC7c,SAAS4e,GAAG9mG,EAAEU,EAAEL,GAAG,IAAIF,EAAEkhG,GAAGrhG,GAAkE,GAA/DK,EAAE,CAACygG,KAAK3gG,EAAE6kG,OAAO3kG,EAAE4kG,eAAc,EAAGC,WAAW,KAAKvrG,KAAK,MAASotG,GAAG/mG,GAAGgnG,GAAGtmG,EAAEL,QAAQ,GAAiB,QAAdA,EAAE6/F,GAAGlgG,EAAEU,EAAEL,EAAEF,IAAY,CAAWmhG,GAAGjhG,EAAEL,EAAEG,EAAXijB,MAAgB6jF,GAAG5mG,EAAEK,EAAEP,IAC5K,SAAS6lG,GAAGhmG,EAAEU,EAAEL,GAAG,IAAIF,EAAEkhG,GAAGrhG,GAAGL,EAAE,CAACmhG,KAAK3gG,EAAE6kG,OAAO3kG,EAAE4kG,eAAc,EAAGC,WAAW,KAAKvrG,KAAK,MAAM,GAAGotG,GAAG/mG,GAAGgnG,GAAGtmG,EAAEf,OAAO,CAAC,IAAIoB,EAAEf,EAAE+nF,UAAU,GAAG,IAAI/nF,EAAE4/F,QAAQ,OAAO7+F,GAAG,IAAIA,EAAE6+F,QAAiC,QAAxB7+F,EAAEL,EAAEqkG,qBAA8B,IAAI,IAAIrlF,EAAEhf,EAAEykG,kBAAkBlkG,EAAEF,EAAE2e,EAAErf,GAAqC,GAAlCV,EAAEslG,eAAc,EAAGtlG,EAAEulG,WAAWjkG,EAAKu0F,GAAGv0F,EAAEye,GAAG,CAAC,IAAI9J,EAAElV,EAAEy/F,YAA+E,OAAnE,OAAOvqF,GAAGjW,EAAEhG,KAAKgG,EAAEsgG,GAAGv/F,KAAKf,EAAEhG,KAAKic,EAAEjc,KAAKic,EAAEjc,KAAKgG,QAAGe,EAAEy/F,YAAYxgG,IAAU,MAAMY,IAA2B,QAAdF,EAAE6/F,GAAGlgG,EAAEU,EAAEf,EAAEQ,MAAoBmhG,GAAGjhG,EAAEL,EAAEG,EAAbR,EAAEyjB,MAAgB6jF,GAAG5mG,EAAEK,EAAEP,KAC3c,SAAS4mG,GAAG/mG,GAAG,IAAIU,EAAEV,EAAE+nF,UAAU,OAAO/nF,IAAIiuB,IAAG,OAAOvtB,GAAGA,IAAIutB,GAAE,SAAS+4E,GAAGhnG,EAAEU,GAAGujG,GAAGD,IAAG,EAAG,IAAI3jG,EAAEL,EAAE2gG,QAAQ,OAAOtgG,EAAEK,EAAE/G,KAAK+G,GAAGA,EAAE/G,KAAK0G,EAAE1G,KAAK0G,EAAE1G,KAAK+G,GAAGV,EAAE2gG,QAAQjgG,EAAE,SAASumG,GAAGjnG,EAAEU,EAAEL,GAAG,GAAG,KAAO,QAAFA,GAAW,CAAC,IAAIF,EAAEO,EAAEk/F,MAAwBv/F,GAAlBF,GAAGH,EAAEuqF,aAAkB7pF,EAAEk/F,MAAMv/F,EAAE0qF,GAAG/qF,EAAEK,IAC3P,IAAIokG,GAAG,CAACyC,YAAYpH,GAAG9zB,YAAY1X,GAAEunB,WAAWvnB,GAAE9sB,UAAU8sB,GAAE2nB,oBAAoB3nB,GAAE4nB,mBAAmB5nB,GAAElB,gBAAgBkB,GAAE6nB,QAAQ7nB,GAAE8nB,WAAW9nB,GAAEnC,OAAOmC,GAAEzvD,SAASyvD,GAAEwnB,cAAcxnB,GAAEynB,iBAAiBznB,GAAEgoB,cAAchoB,GAAE6yC,iBAAiB7yC,GAAE+nB,qBAAqB/nB,GAAE0nB,MAAM1nB,GAAE8yC,0BAAyB,GAAI9C,GAAG,CAAC4C,YAAYpH,GAAG9zB,YAAY,SAAShsE,EAAEU,GAA4C,OAAzCgkG,KAAKxc,cAAc,CAACloF,OAAE,IAASU,EAAE,KAAKA,GAAUV,GAAG67E,WAAWikB,GAAGt4D,UAAU8+D,GAAGrqB,oBAAoB,SAASj8E,EAAEU,EAAEL,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE+M,OAAO,CAACpN,IAAI,KAAYomG,GAAG,QAC3f,EAAE7wF,GAAGsV,KAAK,KAAKnqB,EAAEV,GAAGK,IAAI+yD,gBAAgB,SAASpzD,EAAEU,GAAG,OAAO0lG,GAAG,QAAQ,EAAEpmG,EAAEU,IAAIw7E,mBAAmB,SAASl8E,EAAEU,GAAG,OAAO0lG,GAAG,EAAE,EAAEpmG,EAAEU,IAAIy7E,QAAQ,SAASn8E,EAAEU,GAAG,IAAIL,EAAEqkG,KAAqD,OAAhDhkG,OAAE,IAASA,EAAE,KAAKA,EAAEV,EAAEA,IAAIK,EAAE6nF,cAAc,CAACloF,EAAEU,GAAUV,GAAGo8E,WAAW,SAASp8E,EAAEU,EAAEL,GAAG,IAAIF,EAAEukG,KAAkM,OAA7LhkG,OAAE,IAASL,EAAEA,EAAEK,GAAGA,EAAEP,EAAE+nF,cAAc/nF,EAAEogG,UAAU7/F,EAAEV,EAAE,CAAC2gG,QAAQ,KAAKR,YAAY,KAAKP,MAAM,EAAEwF,SAAS,KAAKL,oBAAoB/kG,EAAEmlG,kBAAkBzkG,GAAGP,EAAE0oB,MAAM7oB,EAAEA,EAAEA,EAAEolG,SAAS0B,GAAGj8E,KAAK,KAAKoD,GAAEjuB,GAAS,CAACG,EAAE+nF,cAAcloF,IAAImyD,OAAO,SAASnyD,GAC3d,OAAdA,EAAE,CAACmmC,QAAQnmC,GAAhB0kG,KAA4Bxc,cAAcloF,GAAG6E,SAASkhG,GAAGjqB,cAAc0qB,GAAGzqB,iBAAiB,SAAS/7E,GAAG,OAAO0kG,KAAKxc,cAAcloF,GAAGs8E,cAAc,WAAW,IAAIt8E,EAAE+lG,IAAG,GAAIrlG,EAAEV,EAAE,GAA6C,OAA1CA,EAAE4mG,GAAG/7E,KAAK,KAAK7qB,EAAE,IAAI0kG,KAAKxc,cAAcloF,EAAQ,CAACU,EAAEV,IAAImnG,iBAAiB,aAAa9qB,qBAAqB,SAASr8E,EAAEU,EAAEL,GAAG,IAAIF,EAAE8tB,GAAEtuB,EAAE+kG,KAAK,GAAGxjG,GAAE,CAAC,QAAG,IAASb,EAAE,MAAMrJ,MAAMsJ,EAAE,MAAMD,EAAEA,QAAQ,CAAO,GAANA,EAAEK,IAAO,OAAOumC,GAAE,MAAMjwC,MAAMsJ,EAAE,MAAM,KAAQ,GAAHyjG,KAAQnjC,GAAGzgE,EAAEO,EAAEL,GAAGV,EAAEuoF,cAAc7nF,EAAE,IAAIU,EAAE,CAACpL,MAAM0K,EAAEmlG,YAAY9kG,GACvZ,OAD0Zf,EAAEkpB,MAAM9nB,EAAEulG,GAAGf,GAAG16E,KAAK,KAAK1qB,EACpfY,EAAEf,GAAG,CAACA,IAAIG,EAAE6nF,OAAO,KAAKyd,GAAG,EAAEC,GAAG76E,KAAK,KAAK1qB,EAAEY,EAAEV,EAAEK,QAAG,EAAO,MAAaL,GAAG27E,MAAM,WAAW,IAAIh8E,EAAE0kG,KAAKhkG,EAAEumC,GAAEogE,iBAAiB,GAAGnmG,GAAE,CAAC,IAAIb,EAAEk9F,GAAkD78F,EAAE,IAAIA,EAAE,KAA9CL,GAAHi9F,KAAU,GAAG,GAAGrT,GAAhBqT,IAAsB,IAAIn1F,SAAS,IAAI9H,GAAuB,GAAPA,EAAE6jG,QAAWxjG,GAAG,IAAIL,EAAE8H,SAAS,KAAKzH,GAAG,SAAgBA,EAAE,IAAIA,EAAE,KAAfL,EAAE8jG,MAAmBh8F,SAAS,IAAI,IAAI,OAAOnI,EAAEkoF,cAAcxnF,GAAG0mG,0BAAyB,GAAI7C,GAAG,CAAC2C,YAAYpH,GAAG9zB,YAAYy6B,GAAG5qB,WAAWikB,GAAGt4D,UAAU89D,GAAGrpB,oBAAoBp5D,GAAGq5D,mBAAmBqqB,GAAGnzC,gBAAgB99C,GAAG6mE,QAAQuqB,GAAGtqB,WAAW0oB,GAAG3yC,OAAOg0C,GAAGthG,SAAS,WAAW,OAAOigG,GAAGD,KAClhB/oB,cAAc0qB,GAAGzqB,iBAAiB,SAAS/7E,GAAc,OAAO2mG,GAAZ/B,KAAiB12E,GAAEg6D,cAAcloF,IAAIs8E,cAAc,WAAgD,MAAM,CAArCwoB,GAAGD,IAAI,GAAKD,KAAK1c,gBAA2Bif,iBAAiB/7F,GAAGixE,qBAAqBpL,GAAG+K,MAAM6qB,GAAGO,0BAAyB,GAAI5C,GAAG,CAAC0C,YAAYpH,GAAG9zB,YAAYy6B,GAAG5qB,WAAWikB,GAAGt4D,UAAU89D,GAAGrpB,oBAAoBp5D,GAAGq5D,mBAAmBqqB,GAAGnzC,gBAAgB99C,GAAG6mE,QAAQuqB,GAAGtqB,WAAWipB,GAAGlzC,OAAOg0C,GAAGthG,SAAS,WAAW,OAAOwgG,GAAGR,KAAK/oB,cAAc0qB,GAAGzqB,iBAAiB,SAAS/7E,GAAG,IAAIU,EAAEkkG,KAAK,OAAO,OACzf12E,GAAExtB,EAAEwnF,cAAcloF,EAAE2mG,GAAGjmG,EAAEwtB,GAAEg6D,cAAcloF,IAAIs8E,cAAc,WAAgD,MAAM,CAArC+oB,GAAGR,IAAI,GAAKD,KAAK1c,gBAA2Bif,iBAAiB/7F,GAAGixE,qBAAqBpL,GAAG+K,MAAM6qB,GAAGO,0BAAyB,GAAI,SAASE,GAAGtnG,EAAEU,GAAG,IAAI,IAAIL,EAAE,GAAGF,EAAEO,EAAE,GAAGL,GAAGi/E,EAAGn/E,GAAGA,EAAEA,EAAE2T,aAAa3T,GAAG,IAAIR,EAAEU,EAAE,MAAMU,GAAGpB,EAAE,6BAA6BoB,EAAE8S,QAAQ,KAAK9S,EAAEowC,MAAM,MAAM,CAACx7C,MAAMqK,EAAET,OAAOmB,EAAEywC,MAAMxxC,EAAEu/C,OAAO,MAAM,SAASqoD,GAAGvnG,EAAEU,EAAEL,GAAG,MAAM,CAAC1K,MAAMqK,EAAET,OAAO,KAAK4xC,MAAM,MAAM9wC,EAAEA,EAAE,KAAK6+C,OAAO,MAAMx+C,EAAEA,EAAE,MACpd,SAAS8mG,GAAGxnG,EAAEU,GAAG,IAAIgzB,QAAQt6B,MAAMsH,EAAE/K,OAAO,MAAM0K,GAAGqoB,YAAW,WAAW,MAAMroB,MAAM,IAAIonG,GAAG,oBAAoBC,QAAQA,QAAQ95E,IAAI,SAAS+5E,GAAG3nG,EAAEU,EAAEL,IAAGA,EAAEu0E,IAAI,EAAEv0E,IAAKk/E,IAAI,EAAEl/E,EAAE0gG,QAAQ,CAACr5B,QAAQ,MAAM,IAAIvnE,EAAEO,EAAE/K,MAAsD,OAAhD0K,EAAEmvC,SAAS,WAAWo4D,KAAKA,IAAG,EAAGC,GAAG1nG,GAAGqnG,GAAGxnG,EAAEU,IAAWL,EAC1Q,SAASynG,GAAG9nG,EAAEU,EAAEL,IAAGA,EAAEu0E,IAAI,EAAEv0E,IAAKk/E,IAAI,EAAE,IAAIp/E,EAAEH,EAAEpI,KAAKmwG,yBAAyB,GAAG,oBAAoB5nG,EAAE,CAAC,IAAIR,EAAEe,EAAE/K,MAAM0K,EAAE0gG,QAAQ,WAAW,OAAO5gG,EAAER,IAAIU,EAAEmvC,SAAS,WAAWg4D,GAAGxnG,EAAEU,IAAI,IAAIK,EAAEf,EAAE2mF,UAA8O,OAApO,OAAO5lF,GAAG,oBAAoBA,EAAEinG,oBAAoB3nG,EAAEmvC,SAAS,WAAWg4D,GAAGxnG,EAAEU,GAAG,oBAAoBP,IAAI,OAAO8nG,GAAGA,GAAG,IAAIvrB,IAAI,CAACvkF,OAAO8vG,GAAGzlF,IAAIrqB,OAAO,IAAIkI,EAAEK,EAAEywC,MAAMh5C,KAAK6vG,kBAAkBtnG,EAAE/K,MAAM,CAACuyG,eAAe,OAAO7nG,EAAEA,EAAE,OAAcA,EAClb,SAAS8nG,GAAGnoG,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAEooG,UAAU,GAAG,OAAOjoG,EAAE,CAACA,EAAEH,EAAEooG,UAAU,IAAIX,GAAG,IAAI9nG,EAAE,IAAI+8E,IAAIv8E,EAAE4R,IAAIrR,EAAEf,aAAmB,KAAXA,EAAEQ,EAAE0tB,IAAIntB,MAAgBf,EAAE,IAAI+8E,IAAIv8E,EAAE4R,IAAIrR,EAAEf,IAAIA,EAAE6xB,IAAInxB,KAAKV,EAAE6iB,IAAIniB,GAAGL,EAAEqoG,GAAGx9E,KAAK,KAAK7qB,EAAEU,EAAEL,GAAGK,EAAExH,KAAK8G,EAAEA,IAAI,SAASsoG,GAAGtoG,GAAG,EAAE,CAAC,IAAIU,EAA4E,IAAvEA,EAAE,KAAKV,EAAEu/E,OAAsB7+E,EAAE,QAApBA,EAAEV,EAAEkoF,gBAAyB,OAAOxnF,EAAEynF,YAAuBznF,EAAE,OAAOV,EAAEA,EAAEA,EAAE8T,aAAa,OAAO9T,GAAG,OAAO,KAC5V,SAASuoG,GAAGvoG,EAAEU,EAAEL,EAAEF,EAAER,GAAG,OAAG,KAAY,EAAPK,EAAEwgC,OAAexgC,IAAIU,EAAEV,EAAEgoF,OAAO,OAAOhoF,EAAEgoF,OAAO,IAAI3nF,EAAE2nF,OAAO,OAAO3nF,EAAE2nF,QAAQ,MAAM,IAAI3nF,EAAEk/E,MAAM,OAAOl/E,EAAE0nF,UAAU1nF,EAAEk/E,IAAI,KAAI7+E,EAAEk0E,IAAI,EAAE,IAAK2K,IAAI,EAAEzK,GAAGz0E,EAAEK,EAAE,KAAKL,EAAEu/F,OAAO,GAAG5/F,IAAEA,EAAEgoF,OAAO,MAAMhoF,EAAE4/F,MAAMjgG,EAASK,GAAE,IAAIwoG,GAAG93B,EAAGwJ,kBAAkB2lB,IAAG,EAAG,SAAS4I,GAAGzoG,EAAEU,EAAEL,EAAEF,GAAGO,EAAE4nF,MAAM,OAAOtoF,EAAE6iG,GAAGniG,EAAE,KAAKL,EAAEF,GAAGyiG,GAAGliG,EAAEV,EAAEsoF,MAAMjoF,EAAEF,GACjV,SAASuoG,GAAG1oG,EAAEU,EAAEL,EAAEF,EAAER,GAAGU,EAAEA,EAAE+2E,OAAO,IAAIr2E,EAAEL,EAAEqB,IAAqC,OAAjC09F,GAAG/+F,EAAEf,GAAGQ,EAAEkkG,GAAGrkG,EAAEU,EAAEL,EAAEF,EAAEY,EAAEpB,GAAGU,EAAEiU,KAAQ,OAAOtU,GAAI6/F,IAA2E3+F,IAAGb,GAAGq9F,GAAGh9F,GAAGA,EAAEsnF,OAAO,EAAEygB,GAAGzoG,EAAEU,EAAEP,EAAER,GAAUe,EAAE4nF,QAA7G5nF,EAAE4/F,YAAYtgG,EAAEsgG,YAAY5/F,EAAEsnF,QAAQ,KAAKhoF,EAAE4/F,QAAQjgG,EAAEgpG,GAAG3oG,EAAEU,EAAEf,IACrK,SAASipG,GAAG5oG,EAAEU,EAAEL,EAAEF,EAAER,GAAG,GAAG,OAAOK,EAAE,CAAC,IAAIe,EAAEV,EAAEzI,KAAK,MAAG,oBAAoBmJ,GAAI8nG,GAAG9nG,SAAI,IAASA,EAAE04E,cAAc,OAAOp5E,EAAE8M,cAAS,IAAS9M,EAAEo5E,eAAoDz5E,EAAEwiG,GAAGniG,EAAEzI,KAAK,KAAKuI,EAAEO,EAAEA,EAAE8/B,KAAK7gC,IAAKoC,IAAIrB,EAAEqB,IAAI/B,EAAE8T,OAAOpT,EAASA,EAAE4nF,MAAMtoF,IAArGU,EAAE6+E,IAAI,GAAG7+E,EAAE9I,KAAKmJ,EAAE+nG,GAAG9oG,EAAEU,EAAEK,EAAEZ,EAAER,IAAoF,GAAVoB,EAAEf,EAAEsoF,MAAS,KAAKtoF,EAAE4/F,MAAMjgG,GAAG,CAAC,IAAI+f,EAAE3e,EAAE49F,cAA0C,IAAhBt+F,EAAE,QAAdA,EAAEA,EAAE8M,SAAmB9M,EAAEo1F,IAAQ/1E,EAAEvf,IAAIH,EAAE+B,MAAMrB,EAAEqB,IAAI,OAAO4mG,GAAG3oG,EAAEU,EAAEf,GAA+C,OAA5Ce,EAAEsnF,OAAO,GAAEhoF,EAAEohB,GAAGrgB,EAAEZ,IAAK4B,IAAIrB,EAAEqB,IAAI/B,EAAE8T,OAAOpT,EAASA,EAAE4nF,MAAMtoF,EACzb,SAAS8oG,GAAG9oG,EAAEU,EAAEL,EAAEF,EAAER,GAAG,GAAG,OAAOK,EAAE,CAAC,IAAIe,EAAEf,EAAE2+F,cAAc,GAAGlJ,GAAG10F,EAAEZ,IAAIH,EAAE+B,MAAMrB,EAAEqB,IAAI,IAAG89F,IAAG,EAAGn/F,EAAE09F,aAAaj+F,EAAEY,EAAE,KAAKf,EAAE4/F,MAAMjgG,GAAsC,OAAOe,EAAEk/F,MAAM5/F,EAAE4/F,MAAM+I,GAAG3oG,EAAEU,EAAEf,GAAjE,KAAa,OAARK,EAAEgoF,SAAgB6X,IAAG,IAA0C,OAAOkJ,GAAG/oG,EAAEU,EAAEL,EAAEF,EAAER,GACtN,SAASqpG,GAAGhpG,EAAEU,EAAEL,GAAG,IAAIF,EAAEO,EAAE09F,aAAaz+F,EAAEQ,EAAEuE,SAAS3D,EAAE,OAAOf,EAAEA,EAAEkoF,cAAc,KAAK,GAAG,WAAW/nF,EAAEqgC,KAAK,GAAG,KAAY,EAAP9/B,EAAE8/B,MAAQ9/B,EAAEwnF,cAAc,CAAC+gB,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAM7hE,GAAE8hE,GAAGC,IAAIA,IAAIhpG,MAAM,CAAC,GAAG,KAAO,WAAFA,GAAc,OAAOL,EAAE,OAAOe,EAAEA,EAAEkoG,UAAU5oG,EAAEA,EAAEK,EAAEk/F,MAAMl/F,EAAE8+F,WAAW,WAAW9+F,EAAEwnF,cAAc,CAAC+gB,UAAUjpG,EAAEkpG,UAAU,KAAKC,YAAY,MAAMzoG,EAAE4/F,YAAY,KAAKh5D,GAAE8hE,GAAGC,IAAIA,IAAIrpG,EAAE,KAAKU,EAAEwnF,cAAc,CAAC+gB,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAMhpG,EAAE,OAAOY,EAAEA,EAAEkoG,UAAU5oG,EAAEinC,GAAE8hE,GAAGC,IAAIA,IAAIlpG,OAAO,OACtfY,GAAGZ,EAAEY,EAAEkoG,UAAU5oG,EAAEK,EAAEwnF,cAAc,MAAM/nF,EAAEE,EAAEinC,GAAE8hE,GAAGC,IAAIA,IAAIlpG,EAAc,OAAZsoG,GAAGzoG,EAAEU,EAAEf,EAAEU,GAAUK,EAAE4nF,MAAM,SAASghB,GAAGtpG,EAAEU,GAAG,IAAIL,EAAEK,EAAEqB,KAAO,OAAO/B,GAAG,OAAOK,GAAG,OAAOL,GAAGA,EAAE+B,MAAM1B,KAAEK,EAAEsnF,OAAO,IAAItnF,EAAEsnF,OAAO,SAAQ,SAAS+gB,GAAG/oG,EAAEU,EAAEL,EAAEF,EAAER,GAAG,IAAIoB,EAAEk7F,GAAG57F,GAAGu7F,GAAGrwD,GAAEpF,QAAmD,OAA3CplC,EAAE86F,GAAGn7F,EAAEK,GAAG0+F,GAAG/+F,EAAEf,GAAGU,EAAEgkG,GAAGrkG,EAAEU,EAAEL,EAAEF,EAAEY,EAAEpB,GAAGQ,EAAEmU,KAAQ,OAAOtU,GAAI6/F,IAA2E3+F,IAAGf,GAAGu9F,GAAGh9F,GAAGA,EAAEsnF,OAAO,EAAEygB,GAAGzoG,EAAEU,EAAEL,EAAEV,GAAUe,EAAE4nF,QAA7G5nF,EAAE4/F,YAAYtgG,EAAEsgG,YAAY5/F,EAAEsnF,QAAQ,KAAKhoF,EAAE4/F,QAAQjgG,EAAEgpG,GAAG3oG,EAAEU,EAAEf,IAC9W,SAAS4pG,GAAGvpG,EAAEU,EAAEL,EAAEF,EAAER,GAAG,GAAGs8F,GAAG57F,GAAG,CAAC,IAAIU,GAAE,EAAGw7F,GAAG77F,QAAQK,GAAE,EAAW,GAAR0+F,GAAG/+F,EAAEf,GAAM,OAAOe,EAAEimF,UAAU6iB,GAAGxpG,EAAEU,GAAG49B,GAAG59B,EAAEL,EAAEF,GAAG0hG,GAAGnhG,EAAEL,EAAEF,EAAER,GAAGQ,GAAE,OAAQ,GAAG,OAAOH,EAAE,CAAC,IAAI0f,EAAEhf,EAAEimF,UAAU1lF,EAAEP,EAAEi+F,cAAcj/E,EAAEviB,MAAM8D,EAAE,IAAI2U,EAAE8J,EAAEhpB,QAAQ6J,EAAEF,EAAEohG,YAAY,kBAAkBlhG,GAAG,OAAOA,EAAEA,EAAEu/F,GAAGv/F,GAAyBA,EAAEs7F,GAAGn7F,EAA1BH,EAAE07F,GAAG57F,GAAGu7F,GAAGrwD,GAAEpF,SAAmB,IAAI3lC,EAAEH,EAAEyhG,yBAAyBnhG,EAAE,oBAAoBH,GAAG,oBAAoBkf,EAAEqiF,wBAAwBphG,GAAG,oBAAoB+e,EAAEkiF,kCAAkC,oBAAoBliF,EAAEiiF,4BAC1d1gG,IAAId,GAAGyV,IAAIrV,IAAImhG,GAAGhhG,EAAEgf,EAAEvf,EAAEI,GAAG8/F,IAAG,EAAG,IAAIvgG,EAAEY,EAAEwnF,cAAcxoE,EAAE7oB,MAAMiJ,EAAEq1E,GAAGz0E,EAAEP,EAAEuf,EAAE/f,GAAGiW,EAAElV,EAAEwnF,cAAcjnF,IAAId,GAAGL,IAAI8V,GAAG+lF,GAAGx1D,SAASk6D,IAAI,oBAAoB7/F,IAAI0gG,GAAGxgG,EAAEL,EAAEG,EAAEL,GAAGyV,EAAElV,EAAEwnF,gBAAgBjnF,EAAEo/F,IAAIkB,GAAG7gG,EAAEL,EAAEY,EAAEd,EAAEL,EAAE8V,EAAErV,KAAKI,GAAG,oBAAoB+e,EAAEsiF,2BAA2B,oBAAoBtiF,EAAEuiF,qBAAqB,oBAAoBviF,EAAEuiF,oBAAoBviF,EAAEuiF,qBAAqB,oBAAoBviF,EAAEsiF,2BAA2BtiF,EAAEsiF,6BAA6B,oBAAoBtiF,EAAEwiF,oBAAoBxhG,EAAEsnF,OAAO,WAClf,oBAAoBtoE,EAAEwiF,oBAAoBxhG,EAAEsnF,OAAO,SAAStnF,EAAEi+F,cAAcx+F,EAAEO,EAAEwnF,cAActyE,GAAG8J,EAAEviB,MAAMgD,EAAEuf,EAAE7oB,MAAM+e,EAAE8J,EAAEhpB,QAAQ6J,EAAEJ,EAAEc,IAAI,oBAAoBye,EAAEwiF,oBAAoBxhG,EAAEsnF,OAAO,SAAS7nF,GAAE,OAAQ,CAACuf,EAAEhf,EAAEimF,UAAUjS,GAAG10E,EAAEU,GAAGO,EAAEP,EAAEi+F,cAAcp+F,EAAEG,EAAE9I,OAAO8I,EAAEu9F,YAAYh9F,EAAE+9F,GAAGt+F,EAAE9I,KAAKqJ,GAAGye,EAAEviB,MAAMoD,EAAEI,EAAED,EAAE09F,aAAat+F,EAAE4f,EAAEhpB,QAAwB,kBAAhBkf,EAAEvV,EAAEohG,cAAiC,OAAO7rF,EAAEA,EAAEkqF,GAAGlqF,GAAyBA,EAAEimF,GAAGn7F,EAA1BkV,EAAEqmF,GAAG57F,GAAGu7F,GAAGrwD,GAAEpF,SAAmB,IAAI9kC,EAAEhB,EAAEyhG,0BAA0BthG,EAAE,oBAAoBa,GAAG,oBAAoBqe,EAAEqiF,0BAC9e,oBAAoBriF,EAAEkiF,kCAAkC,oBAAoBliF,EAAEiiF,4BAA4B1gG,IAAIN,GAAGb,IAAI8V,IAAI8rF,GAAGhhG,EAAEgf,EAAEvf,EAAEyV,GAAGyqF,IAAG,EAAGvgG,EAAEY,EAAEwnF,cAAcxoE,EAAE7oB,MAAMiJ,EAAEq1E,GAAGz0E,EAAEP,EAAEuf,EAAE/f,GAAG,IAAIO,EAAEQ,EAAEwnF,cAAcjnF,IAAIN,GAAGb,IAAII,GAAGy7F,GAAGx1D,SAASk6D,IAAI,oBAAoBh/F,IAAI6/F,GAAGxgG,EAAEL,EAAEgB,EAAElB,GAAGD,EAAEQ,EAAEwnF,gBAAgB3nF,EAAE8/F,IAAIkB,GAAG7gG,EAAEL,EAAEE,EAAEJ,EAAEL,EAAEI,EAAE0V,KAAI,IAAKpV,GAAG,oBAAoBkf,EAAE+pF,4BAA4B,oBAAoB/pF,EAAEgqF,sBAAsB,oBAAoBhqF,EAAEgqF,qBAAqBhqF,EAAEgqF,oBAAoBvpG,EAAED,EAAE0V,GAAG,oBAAoB8J,EAAE+pF,4BAC5f/pF,EAAE+pF,2BAA2BtpG,EAAED,EAAE0V,IAAI,oBAAoB8J,EAAEiqF,qBAAqBjpG,EAAEsnF,OAAO,GAAG,oBAAoBtoE,EAAEqiF,0BAA0BrhG,EAAEsnF,OAAO,QAAQ,oBAAoBtoE,EAAEiqF,oBAAoB1oG,IAAIjB,EAAE2+F,eAAe7+F,IAAIE,EAAEkoF,gBAAgBxnF,EAAEsnF,OAAO,GAAG,oBAAoBtoE,EAAEqiF,yBAAyB9gG,IAAIjB,EAAE2+F,eAAe7+F,IAAIE,EAAEkoF,gBAAgBxnF,EAAEsnF,OAAO,MAAMtnF,EAAEi+F,cAAcx+F,EAAEO,EAAEwnF,cAAchoF,GAAGwf,EAAEviB,MAAMgD,EAAEuf,EAAE7oB,MAAMqJ,EAAEwf,EAAEhpB,QAAQkf,EAAEzV,EAAEI,IAAI,oBAAoBmf,EAAEiqF,oBAAoB1oG,IAAIjB,EAAE2+F,eAAe7+F,IACjfE,EAAEkoF,gBAAgBxnF,EAAEsnF,OAAO,GAAG,oBAAoBtoE,EAAEqiF,yBAAyB9gG,IAAIjB,EAAE2+F,eAAe7+F,IAAIE,EAAEkoF,gBAAgBxnF,EAAEsnF,OAAO,MAAM7nF,GAAE,GAAI,OAAOypG,GAAG5pG,EAAEU,EAAEL,EAAEF,EAAEY,EAAEpB,GACjK,SAASiqG,GAAG5pG,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,GAAGuoG,GAAGtpG,EAAEU,GAAG,IAAIgf,EAAE,KAAa,IAARhf,EAAEsnF,OAAW,IAAI7nF,IAAIuf,EAAE,OAAO/f,GAAG88F,GAAG/7F,EAAEL,GAAE,GAAIsoG,GAAG3oG,EAAEU,EAAEK,GAAGZ,EAAEO,EAAEimF,UAAU6hB,GAAGriE,QAAQzlC,EAAE,IAAIO,EAAEye,GAAG,oBAAoBrf,EAAE0nG,yBAAyB,KAAK5nG,EAAEi3E,SAAwI,OAA/H12E,EAAEsnF,OAAO,EAAE,OAAOhoF,GAAG0f,GAAGhf,EAAE4nF,MAAMsa,GAAGliG,EAAEV,EAAEsoF,MAAM,KAAKvnF,GAAGL,EAAE4nF,MAAMsa,GAAGliG,EAAE,KAAKO,EAAEF,IAAI0nG,GAAGzoG,EAAEU,EAAEO,EAAEF,GAAGL,EAAEwnF,cAAc/nF,EAAEtJ,MAAM8I,GAAG88F,GAAG/7F,EAAEL,GAAE,GAAWK,EAAE4nF,MAAM,SAASuhB,GAAG7pG,GAAG,IAAIU,EAAEV,EAAE2mF,UAAUjmF,EAAEopG,eAAe1N,GAAGp8F,EAAEU,EAAEopG,eAAeppG,EAAEopG,iBAAiBppG,EAAEhK,SAASgK,EAAEhK,SAAS0lG,GAAGp8F,EAAEU,EAAEhK,SAAQ,GAAIysG,GAAGnjG,EAAEU,EAAEksF,eAC9d,SAASmd,GAAG/pG,EAAEU,EAAEL,EAAEF,EAAER,GAAuC,OAApCk/F,KAAKC,GAAGn/F,GAAGe,EAAEsnF,OAAO,IAAIygB,GAAGzoG,EAAEU,EAAEL,EAAEF,GAAUO,EAAE4nF,MAAM,IAaqL0hB,GAAMC,GAAGC,GAb1LC,GAAG,CAAChiB,WAAW,KAAKkW,YAAY,KAAKC,UAAU,GAAG,SAAS8L,GAAGpqG,GAAG,MAAM,CAACipG,UAAUjpG,EAAEkpG,UAAU,KAAKC,YAAY,MAC7L,SAASkB,GAAGrqG,EAAEU,EAAEL,GAAG,IAA0DY,EAAtDd,EAAEO,EAAE09F,aAAaz+F,EAAE2a,GAAE6rB,QAAQplC,GAAE,EAAG2e,EAAE,KAAa,IAARhf,EAAEsnF,OAAqJ,IAAvI/mF,EAAEye,KAAKze,GAAE,OAAOjB,GAAG,OAAOA,EAAEkoF,gBAAiB,KAAO,EAAFvoF,IAASsB,GAAEF,GAAE,EAAGL,EAAEsnF,QAAQ,KAAY,OAAOhoF,GAAG,OAAOA,EAAEkoF,gBAAcvoF,GAAG,GAAE2nC,GAAEhtB,GAAI,EAAF3a,GAAQ,OAAOK,EAA2B,OAAxBw+F,GAAG99F,GAAwB,QAArBV,EAAEU,EAAEwnF,gBAA2C,QAAfloF,EAAEA,EAAEmoF,aAA4B,KAAY,EAAPznF,EAAE8/B,MAAQ9/B,EAAEk/F,MAAM,EAAE,OAAO5/F,EAAE+H,KAAKrH,EAAEk/F,MAAM,EAAEl/F,EAAEk/F,MAAM,WAAW,OAAKlgF,EAAEvf,EAAEuE,SAAS1E,EAAEG,EAAEmqG,SAAgBvpG,GAAGZ,EAAEO,EAAE8/B,KAAKz/B,EAAEL,EAAE4nF,MAAM5oE,EAAE,CAAC8gB,KAAK,SAAS97B,SAASgb,GAAG,KAAO,EAAFvf,IAAM,OAAOY,GAAGA,EAAEy+F,WAAW,EAAEz+F,EAAEq9F,aAC7e1+E,GAAG3e,EAAE4/B,GAAGjhB,EAAEvf,EAAE,EAAE,MAAMH,EAAE2iG,GAAG3iG,EAAEG,EAAEE,EAAE,MAAMU,EAAE+S,OAAOpT,EAAEV,EAAE8T,OAAOpT,EAAEK,EAAEwnF,QAAQvoF,EAAEU,EAAE4nF,MAAMvnF,EAAEL,EAAE4nF,MAAMJ,cAAckiB,GAAG/pG,GAAGK,EAAEwnF,cAAciiB,GAAGnqG,GAAGuqG,GAAG7pG,EAAEgf,IAAqB,GAAG,QAArB/f,EAAEK,EAAEkoF,gBAA2C,QAAfjnF,EAAEtB,EAAEwoF,YAAqB,OAGpM,SAAYnoF,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,GAAG,GAAGrf,EAAG,OAAW,IAARK,EAAEsnF,OAAiBtnF,EAAEsnF,QAAQ,IAAwBwiB,GAAGxqG,EAAEU,EAAEgf,EAA3Bvf,EAAEonG,GAAGvwG,MAAMsJ,EAAE,SAAsB,OAAOI,EAAEwnF,eAAqBxnF,EAAE4nF,MAAMtoF,EAAEsoF,MAAM5nF,EAAEsnF,OAAO,IAAI,OAAKjnF,EAAEZ,EAAEmqG,SAAS3qG,EAAEe,EAAE8/B,KAAKrgC,EAAEwgC,GAAG,CAACH,KAAK,UAAU97B,SAASvE,EAAEuE,UAAU/E,EAAE,EAAE,OAAMoB,EAAE4hG,GAAG5hG,EAAEpB,EAAE+f,EAAE,OAAQsoE,OAAO,EAAE7nF,EAAE2T,OAAOpT,EAAEK,EAAE+S,OAAOpT,EAAEP,EAAEooF,QAAQxnF,EAAEL,EAAE4nF,MAAMnoF,EAAE,KAAY,EAAPO,EAAE8/B,OAASoiE,GAAGliG,EAAEV,EAAEsoF,MAAM,KAAK5oE,GAAGhf,EAAE4nF,MAAMJ,cAAckiB,GAAG1qF,GAAGhf,EAAEwnF,cAAciiB,GAAUppG,GAAE,GAAG,KAAY,EAAPL,EAAE8/B,MAAQ,OAAOgqE,GAAGxqG,EAAEU,EAAEgf,EAAE,MAAM,GAAG,OAAO/f,EAAEoI,KAAK,CAChd,GADid5H,EAAER,EAAEi2F,aAAaj2F,EAAEi2F,YAAY6U,QAC3e,IAAIxpG,EAAEd,EAAEuqG,KAA0C,OAArCvqG,EAAEc,EAA0CupG,GAAGxqG,EAAEU,EAAEgf,EAA/Bvf,EAAEonG,GAAlBxmG,EAAE/J,MAAMsJ,EAAE,MAAaH,OAAE,IAAkD,GAAvBc,EAAE,KAAKye,EAAE1f,EAAEw/F,YAAeK,IAAI5+F,EAAE,CAAK,GAAG,QAAPd,EAAE8mC,IAAc,CAAC,OAAOvnB,GAAGA,GAAG,KAAK,EAAE/f,EAAE,EAAE,MAAM,KAAK,GAAGA,EAAE,EAAE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAASA,EAAE,GAAG,MAAM,KAAK,UAAUA,EAAE,UAAU,MAAM,QAAQA,EAAE,EAChd,KADkdA,EAAE,KAAKA,GAAGQ,EAAEqqF,eAAe9qE,IAAI,EAAE/f,IAC5eA,IAAIoB,EAAEu9F,YAAYv9F,EAAEu9F,UAAU3+F,EAAEygG,GAAGpgG,EAAEL,GAAG2hG,GAAGnhG,EAAEH,EAAEL,GAAG,IAA6B,OAAzBgrG,KAAgCH,GAAGxqG,EAAEU,EAAEgf,EAAlCvf,EAAEonG,GAAGvwG,MAAMsJ,EAAE,QAA0B,MAAG,OAAOX,EAAEoI,MAAYrH,EAAEsnF,OAAO,IAAItnF,EAAE4nF,MAAMtoF,EAAEsoF,MAAM5nF,EAAEkqG,GAAG//E,KAAK,KAAK7qB,GAAGL,EAAEkrG,YAAYnqG,EAAE,OAAKV,EAAEe,EAAEs9F,YAAYR,GAAG9C,GAAGp7F,EAAEi2F,aAAagI,GAAGl9F,EAAEQ,IAAE,EAAG48F,GAAG,KAAK,OAAO99F,IAAIm9F,GAAGC,MAAME,GAAGH,GAAGC,MAAMG,GAAGJ,GAAGC,MAAMC,GAAGC,GAAGt9F,EAAEuB,GAAGg8F,GAAGv9F,EAAEmsE,SAASkxB,GAAG38F,IAAGA,EAAE6pG,GAAG7pG,EAAEP,EAAEuE,WAAYsjF,OAAO,KAAYtnF,GALpKoqG,CAAG9qG,EAAEU,EAAEgf,EAAEvf,EAAEc,EAAEtB,EAAEU,GAAG,GAAGU,EAAE,CAACA,EAAEZ,EAAEmqG,SAAS5qF,EAAEhf,EAAE8/B,KAAev/B,GAAVtB,EAAEK,EAAEsoF,OAAUC,QAAQ,IAAI3yE,EAAE,CAAC4qB,KAAK,SAAS97B,SAASvE,EAAEuE,UAChF,OAD0F,KAAO,EAAFgb,IAAMhf,EAAE4nF,QAAQ3oF,IAAGQ,EAAEO,EAAE4nF,OAAQkX,WAAW,EAAEr/F,EAAEi+F,aAAaxoF,EAAElV,EAAEw9F,UAAU,OAAO/9F,EAAEihB,GAAGzhB,EAAEiW,IAAKm1F,aAA4B,SAAfprG,EAAEorG,aAAuB,OAAO9pG,EAAEF,EAAEqgB,GAAGngB,EAAEF,IAAIA,EAAE4hG,GAAG5hG,EAAE2e,EAAErf,EAAE,OAAQ2nF,OAAO,EAAGjnF,EAAE+S,OACnfpT,EAAEP,EAAE2T,OAAOpT,EAAEP,EAAEooF,QAAQxnF,EAAEL,EAAE4nF,MAAMnoF,EAAEA,EAAEY,EAAEA,EAAEL,EAAE4nF,MAA8B5oE,EAAE,QAA1BA,EAAE1f,EAAEsoF,MAAMJ,eAAyBkiB,GAAG/pG,GAAG,CAAC4oG,UAAUvpF,EAAEupF,UAAU5oG,EAAE6oG,UAAU,KAAKC,YAAYzpF,EAAEypF,aAAapoG,EAAEmnF,cAAcxoE,EAAE3e,EAAEy+F,WAAWx/F,EAAEw/F,YAAYn/F,EAAEK,EAAEwnF,cAAciiB,GAAUhqG,EAAqO,OAAzNH,GAAVe,EAAEf,EAAEsoF,OAAUC,QAAQpoF,EAAEihB,GAAGrgB,EAAE,CAACy/B,KAAK,UAAU97B,SAASvE,EAAEuE,WAAW,KAAY,EAAPhE,EAAE8/B,QAAUrgC,EAAEy/F,MAAMv/F,GAAGF,EAAE2T,OAAOpT,EAAEP,EAAEooF,QAAQ,KAAK,OAAOvoF,IAAkB,QAAdK,EAAEK,EAAEw9F,YAAoBx9F,EAAEw9F,UAAU,CAACl+F,GAAGU,EAAEsnF,OAAO,IAAI3nF,EAAEhG,KAAK2F,IAAIU,EAAE4nF,MAAMnoF,EAAEO,EAAEwnF,cAAc,KAAY/nF,EACld,SAASoqG,GAAGvqG,EAAEU,GAA8D,OAA3DA,EAAEigC,GAAG,CAACH,KAAK,UAAU97B,SAAShE,GAAGV,EAAEwgC,KAAK,EAAE,OAAQ1sB,OAAO9T,EAASA,EAAEsoF,MAAM5nF,EAAE,SAAS8pG,GAAGxqG,EAAEU,EAAEL,EAAEF,GAAwG,OAArG,OAAOA,GAAG2+F,GAAG3+F,GAAGyiG,GAAGliG,EAAEV,EAAEsoF,MAAM,KAAKjoF,IAAGL,EAAEuqG,GAAG7pG,EAAEA,EAAE09F,aAAa15F,WAAYsjF,OAAO,EAAEtnF,EAAEwnF,cAAc,KAAYloF,EAGmJ,SAASgrG,GAAGhrG,EAAEU,EAAEL,GAAGL,EAAE4/F,OAAOl/F,EAAE,IAAIP,EAAEH,EAAE+nF,UAAU,OAAO5nF,IAAIA,EAAEy/F,OAAOl/F,GAAG6+F,GAAGv/F,EAAE8T,OAAOpT,EAAEL,GACtc,SAAS4qG,GAAGjrG,EAAEU,EAAEL,EAAEF,EAAER,GAAG,IAAIoB,EAAEf,EAAEkoF,cAAc,OAAOnnF,EAAEf,EAAEkoF,cAAc,CAACgjB,YAAYxqG,EAAEyqG,UAAU,KAAKC,mBAAmB,EAAEC,KAAKlrG,EAAEmrG,KAAKjrG,EAAEkrG,SAAS5rG,IAAIoB,EAAEmqG,YAAYxqG,EAAEK,EAAEoqG,UAAU,KAAKpqG,EAAEqqG,mBAAmB,EAAErqG,EAAEsqG,KAAKlrG,EAAEY,EAAEuqG,KAAKjrG,EAAEU,EAAEwqG,SAAS5rG,GACzO,SAAS6rG,GAAGxrG,EAAEU,EAAEL,GAAG,IAAIF,EAAEO,EAAE09F,aAAaz+F,EAAEQ,EAAEsjG,YAAY1iG,EAAEZ,EAAEmrG,KAAsC,GAAjC7C,GAAGzoG,EAAEU,EAAEP,EAAEuE,SAASrE,GAAkB,KAAO,GAAtBF,EAAEma,GAAE6rB,UAAqBhmC,EAAI,EAAFA,EAAI,EAAEO,EAAEsnF,OAAO,QAAQ,CAAC,GAAG,OAAOhoF,GAAG,KAAa,IAARA,EAAEgoF,OAAWhoF,EAAE,IAAIA,EAAEU,EAAE4nF,MAAM,OAAOtoF,GAAG,CAAC,GAAG,KAAKA,EAAEu/E,IAAI,OAAOv/E,EAAEkoF,eAAe8iB,GAAGhrG,EAAEK,EAAEK,QAAQ,GAAG,KAAKV,EAAEu/E,IAAIyrB,GAAGhrG,EAAEK,EAAEK,QAAQ,GAAG,OAAOV,EAAEsoF,MAAM,CAACtoF,EAAEsoF,MAAMx0E,OAAO9T,EAAEA,EAAEA,EAAEsoF,MAAM,SAAS,GAAGtoF,IAAIU,EAAE,MAAMV,EAAE,KAAK,OAAOA,EAAEuoF,SAAS,CAAC,GAAG,OAAOvoF,EAAE8T,QAAQ9T,EAAE8T,SAASpT,EAAE,MAAMV,EAAEA,EAAEA,EAAE8T,OAAO9T,EAAEuoF,QAAQz0E,OAAO9T,EAAE8T,OAAO9T,EAAEA,EAAEuoF,QAAQpoF,GAAG,EAAS,GAAPmnC,GAAEhtB,GAAEna,GAAM,KAAY,EAAPO,EAAE8/B,MAAQ9/B,EAAEwnF,cAC/e,UAAU,OAAOvoF,GAAG,IAAK,WAAqB,IAAVU,EAAEK,EAAE4nF,MAAU3oF,EAAE,KAAK,OAAOU,GAAiB,QAAdL,EAAEK,EAAE0nF,YAAoB,OAAOyb,GAAGxjG,KAAKL,EAAEU,GAAGA,EAAEA,EAAEkoF,QAAY,QAAJloF,EAAEV,IAAYA,EAAEe,EAAE4nF,MAAM5nF,EAAE4nF,MAAM,OAAO3oF,EAAEU,EAAEkoF,QAAQloF,EAAEkoF,QAAQ,MAAM0iB,GAAGvqG,GAAE,EAAGf,EAAEU,EAAEU,GAAG,MAAM,IAAK,YAA6B,IAAjBV,EAAE,KAAKV,EAAEe,EAAE4nF,MAAU5nF,EAAE4nF,MAAM,KAAK,OAAO3oF,GAAG,CAAe,GAAG,QAAjBK,EAAEL,EAAEooF,YAAuB,OAAOyb,GAAGxjG,GAAG,CAACU,EAAE4nF,MAAM3oF,EAAE,MAAMK,EAAEL,EAAE4oF,QAAQ5oF,EAAE4oF,QAAQloF,EAAEA,EAAEV,EAAEA,EAAEK,EAAEirG,GAAGvqG,GAAE,EAAGL,EAAE,KAAKU,GAAG,MAAM,IAAK,WAAWkqG,GAAGvqG,GAAE,EAAG,KAAK,UAAK,GAAQ,MAAM,QAAQA,EAAEwnF,cAAc,KAAK,OAAOxnF,EAAE4nF,MACxd,SAASkhB,GAAGxpG,EAAEU,GAAG,KAAY,EAAPA,EAAE8/B,OAAS,OAAOxgC,IAAIA,EAAE+nF,UAAU,KAAKrnF,EAAEqnF,UAAU,KAAKrnF,EAAEsnF,OAAO,GAAG,SAAS2gB,GAAG3oG,EAAEU,EAAEL,GAAyD,GAAtD,OAAOL,IAAIU,EAAEg/F,aAAa1/F,EAAE0/F,cAAc1/E,IAAItf,EAAEk/F,MAAS,KAAKv/F,EAAEK,EAAE8+F,YAAY,OAAO,KAAK,GAAG,OAAOx/F,GAAGU,EAAE4nF,QAAQtoF,EAAEsoF,MAAM,MAAMtxF,MAAMsJ,EAAE,MAAM,GAAG,OAAOI,EAAE4nF,MAAM,CAA4C,IAAjCjoF,EAAE+gB,GAAZphB,EAAEU,EAAE4nF,MAAatoF,EAAEo+F,cAAc19F,EAAE4nF,MAAMjoF,EAAMA,EAAEyT,OAAOpT,EAAE,OAAOV,EAAEuoF,SAASvoF,EAAEA,EAAEuoF,SAAQloF,EAAEA,EAAEkoF,QAAQnnE,GAAGphB,EAAEA,EAAEo+F,eAAgBtqF,OAAOpT,EAAEL,EAAEkoF,QAAQ,KAAK,OAAO7nF,EAAE4nF,MAOza,SAASmjB,GAAGzrG,EAAEU,GAAG,IAAIQ,GAAE,OAAOlB,EAAEurG,UAAU,IAAK,SAAS7qG,EAAEV,EAAEsrG,KAAK,IAAI,IAAIjrG,EAAE,KAAK,OAAOK,GAAG,OAAOA,EAAEqnF,YAAY1nF,EAAEK,GAAGA,EAAEA,EAAE6nF,QAAQ,OAAOloF,EAAEL,EAAEsrG,KAAK,KAAKjrG,EAAEkoF,QAAQ,KAAK,MAAM,IAAK,YAAYloF,EAAEL,EAAEsrG,KAAK,IAAI,IAAInrG,EAAE,KAAK,OAAOE,GAAG,OAAOA,EAAE0nF,YAAY5nF,EAAEE,GAAGA,EAAEA,EAAEkoF,QAAQ,OAAOpoF,EAAEO,GAAG,OAAOV,EAAEsrG,KAAKtrG,EAAEsrG,KAAK,KAAKtrG,EAAEsrG,KAAK/iB,QAAQ,KAAKpoF,EAAEooF,QAAQ,MACvU,SAASzrE,GAAE9c,GAAG,IAAIU,EAAE,OAAOV,EAAE+nF,WAAW/nF,EAAE+nF,UAAUO,QAAQtoF,EAAEsoF,MAAMjoF,EAAE,EAAEF,EAAE,EAAE,GAAGO,EAAE,IAAI,IAAIf,EAAEK,EAAEsoF,MAAM,OAAO3oF,GAAGU,GAAGV,EAAEigG,MAAMjgG,EAAE6/F,WAAWr/F,GAAkB,SAAfR,EAAEorG,aAAsB5qG,GAAW,SAARR,EAAEqoF,MAAeroF,EAAEmU,OAAO9T,EAAEL,EAAEA,EAAE4oF,aAAa,IAAI5oF,EAAEK,EAAEsoF,MAAM,OAAO3oF,GAAGU,GAAGV,EAAEigG,MAAMjgG,EAAE6/F,WAAWr/F,GAAGR,EAAEorG,aAAa5qG,GAAGR,EAAEqoF,MAAMroF,EAAEmU,OAAO9T,EAAEL,EAAEA,EAAE4oF,QAAyC,OAAjCvoF,EAAE+qG,cAAc5qG,EAAEH,EAAEw/F,WAAWn/F,EAASK,EAC5V,SAASgrG,GAAG1rG,EAAEU,EAAEL,GAAG,IAAIF,EAAEO,EAAE09F,aAAmB,OAANT,GAAGj9F,GAAUA,EAAE6+E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAOziE,GAAEpc,GAAG,KAAK,KAAK,EAUtD,KAAK,GAAG,OAAOu7F,GAAGv7F,EAAE9I,OAAOukG,KAAKr/E,GAAEpc,GAAG,KAVqD,KAAK,EAA2Q,OAAzQP,EAAEO,EAAEimF,UAAU0c,KAAKphG,GAAE05F,IAAI15F,GAAEspC,IAAGo4D,KAAKxjG,EAAE2pG,iBAAiB3pG,EAAEzJ,QAAQyJ,EAAE2pG,eAAe3pG,EAAE2pG,eAAe,MAAS,OAAO9pG,GAAG,OAAOA,EAAEsoF,QAAMoW,GAAGh+F,GAAGA,EAAEsnF,OAAO,EAAE,OAAOhoF,GAAGA,EAAEkoF,cAAcyE,cAAc,KAAa,IAARjsF,EAAEsnF,SAAatnF,EAAEsnF,OAAO,KAAK,OAAO8V,KAAK6N,GAAG7N,IAAIA,GAAG,QAAehhF,GAAEpc,GAAU,KAAK,KAAK,EAAE6iG,GAAG7iG,GAAG,IAAIf,EAAEujG,GAAGD,GAAG98D,SAC7e,GAAT9lC,EAAEK,EAAE9I,KAAQ,OAAOoI,GAAG,MAAMU,EAAEimF,UAAUsjB,GAAGjqG,EAAEU,EAAEL,EAAEF,GAAKH,EAAE+B,MAAMrB,EAAEqB,MAAMrB,EAAEsnF,OAAO,IAAItnF,EAAEsnF,OAAO,aAAa,CAAC,IAAI7nF,EAAE,CAAC,GAAG,OAAOO,EAAEimF,UAAU,MAAM3vF,MAAMsJ,EAAE,MAAW,OAALwc,GAAEpc,GAAU,KAAsB,GAAjBV,EAAEkjG,GAAGH,GAAG58D,SAAYu4D,GAAGh+F,GAAG,CAACP,EAAEO,EAAEimF,UAAUtmF,EAAEK,EAAE9I,KAAK,IAAImJ,EAAEL,EAAEi+F,cAA+C,OAAjCx+F,EAAEg7F,IAAIz6F,EAAEP,EAAEi7F,IAAIr6F,EAAEf,EAAE,KAAY,EAAPU,EAAE8/B,MAAengC,GAAG,IAAK,SAASe,GAAE,SAASjB,GAAGiB,GAAE,QAAQjB,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQiB,GAAE,OAAOjB,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIR,EAAE,EAAEA,EAAE64F,GAAG59F,OAAO+E,IAAIyB,GAAEo3F,GAAG74F,GAAGQ,GAAG,MAAM,IAAK,SAASiB,GAAE,QAAQjB,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOiB,GAAE,QACnhBjB,GAAGiB,GAAE,OAAOjB,GAAG,MAAM,IAAK,UAAUiB,GAAE,SAASjB,GAAG,MAAM,IAAK,QAAQugF,EAAGvgF,EAAEY,GAAGK,GAAE,UAAUjB,GAAG,MAAM,IAAK,SAASA,EAAEqgF,cAAc,CAACorB,cAAc7qG,EAAE0wD,UAAUrwD,GAAE,UAAUjB,GAAG,MAAM,IAAK,WAAWohF,GAAGphF,EAAEY,GAAGK,GAAE,UAAUjB,GAAkB,IAAI,IAAIuf,KAAvBsmE,GAAG3lF,EAAEU,GAAGpB,EAAE,KAAkBoB,EAAE,GAAGA,EAAEhM,eAAe2qB,GAAG,CAAC,IAAIze,EAAEF,EAAE2e,GAAG,aAAaA,EAAE,kBAAkBze,EAAEd,EAAEk3E,cAAcp2E,KAAI,IAAKF,EAAE8qG,0BAA0B5R,GAAG95F,EAAEk3E,YAAYp2E,EAAEjB,GAAGL,EAAE,CAAC,WAAWsB,IAAI,kBAAkBA,GAAGd,EAAEk3E,cAAc,GAAGp2E,KAAI,IAAKF,EAAE8qG,0BAA0B5R,GAAG95F,EAAEk3E,YAC1ep2E,EAAEjB,GAAGL,EAAE,CAAC,WAAW,GAAGsB,IAAI07E,EAAG5nF,eAAe2qB,IAAI,MAAMze,GAAG,aAAaye,GAAGte,GAAE,SAASjB,GAAG,OAAOE,GAAG,IAAK,QAAQu/E,EAAGz/E,GAAG4gF,EAAG5gF,EAAEY,GAAE,GAAI,MAAM,IAAK,WAAW6+E,EAAGz/E,GAAGshF,GAAGthF,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBY,EAAEoB,UAAUhC,EAAE2rG,QAAQ5R,IAAI/5F,EAAER,EAAEe,EAAE4/F,YAAYngG,EAAE,OAAOA,IAAIO,EAAEsnF,OAAO,OAAO,CAACtoE,EAAE,IAAI/f,EAAEyiF,SAASziF,EAAEA,EAAEqhF,cAAc,iCAAiChhF,IAAIA,EAAE0hF,GAAGrhF,IAAI,iCAAiCL,EAAE,WAAWK,IAAGL,EAAE0f,EAAE5d,cAAc,QAASs2D,UAAU,qBAAuBp4D,EAAEA,EAAE+hF,YAAY/hF,EAAEy2E,aAC/f,kBAAkBt2E,EAAEosB,GAAGvsB,EAAE0f,EAAE5d,cAAczB,EAAE,CAACksB,GAAGpsB,EAAEosB,MAAMvsB,EAAE0f,EAAE5d,cAAczB,GAAG,WAAWA,IAAIqf,EAAE1f,EAAEG,EAAEsxD,SAAS/xC,EAAE+xC,UAAS,EAAGtxD,EAAE+H,OAAOwX,EAAExX,KAAK/H,EAAE+H,QAAQlI,EAAE0f,EAAEqsF,gBAAgB/rG,EAAEK,GAAGL,EAAEm7F,IAAIz6F,EAAEV,EAAEo7F,IAAIj7F,EAAE6pG,GAAGhqG,EAAEU,GAASA,EAAEimF,UAAU3mF,EAAEA,EAAE,CAAW,OAAV0f,EAAEumE,GAAG5lF,EAAEF,GAAUE,GAAG,IAAK,SAASe,GAAE,SAASpB,GAAGoB,GAAE,QAAQpB,GAAGL,EAAEQ,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQiB,GAAE,OAAOpB,GAAGL,EAAEQ,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIR,EAAE,EAAEA,EAAE64F,GAAG59F,OAAO+E,IAAIyB,GAAEo3F,GAAG74F,GAAGK,GAAGL,EAAEQ,EAAE,MAAM,IAAK,SAASiB,GAAE,QAAQpB,GAAGL,EAAEQ,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOiB,GAAE,QAClfpB,GAAGoB,GAAE,OAAOpB,GAAGL,EAAEQ,EAAE,MAAM,IAAK,UAAUiB,GAAE,SAASpB,GAAGL,EAAEQ,EAAE,MAAM,IAAK,QAAQugF,EAAG1gF,EAAEG,GAAGR,EAAE0gF,EAAGrgF,EAAEG,GAAGiB,GAAE,UAAUpB,GAAG,MAAM,IAAK,SAAiL,QAAQL,EAAEQ,QAAxK,IAAK,SAASH,EAAEwgF,cAAc,CAACorB,cAAczrG,EAAEsxD,UAAU9xD,EAAEya,EAAE,GAAGja,EAAE,CAACxK,WAAM,IAASyL,GAAE,UAAUpB,GAAG,MAAM,IAAK,WAAWuhF,GAAGvhF,EAAEG,GAAGR,EAAE0hF,GAAGrhF,EAAEG,GAAGiB,GAAE,UAAUpB,GAAiC,IAAIe,KAAhBilF,GAAG3lF,EAAEV,GAAGsB,EAAEtB,EAAa,GAAGsB,EAAElM,eAAegM,GAAG,CAAC,IAAI6U,EAAE3U,EAAEF,GAAG,UAAUA,EAAEmkF,GAAGllF,EAAE4V,GAAG,4BAA4B7U,EAAuB,OAApB6U,EAAEA,EAAEA,EAAE0kF,YAAO,IAAgBzY,GAAG7hF,EAAE4V,GAAI,aAAa7U,EAAE,kBAAkB6U,GAAG,aAC7evV,GAAG,KAAKuV,IAAIssE,GAAGliF,EAAE4V,GAAG,kBAAkBA,GAAGssE,GAAGliF,EAAE,GAAG4V,GAAG,mCAAmC7U,GAAG,6BAA6BA,GAAG,cAAcA,IAAI47E,EAAG5nF,eAAegM,GAAG,MAAM6U,GAAG,aAAa7U,GAAGK,GAAE,SAASpB,GAAG,MAAM4V,GAAGgoE,EAAG59E,EAAEe,EAAE6U,EAAE8J,IAAI,OAAOrf,GAAG,IAAK,QAAQu/E,EAAG5/E,GAAG+gF,EAAG/gF,EAAEG,GAAE,GAAI,MAAM,IAAK,WAAWy/E,EAAG5/E,GAAGyhF,GAAGzhF,GAAG,MAAM,IAAK,SAAS,MAAMG,EAAExK,OAAOqK,EAAEk4D,aAAa,QAAQ,GAAGwnB,EAAGv/E,EAAExK,QAAQ,MAAM,IAAK,SAASqK,EAAEyxD,WAAWtxD,EAAEsxD,SAAmB,OAAV1wD,EAAEZ,EAAExK,OAAcurF,GAAGlhF,IAAIG,EAAEsxD,SAAS1wD,GAAE,GAAI,MAAMZ,EAAEogF,cAAcW,GAAGlhF,IAAIG,EAAEsxD,SAAStxD,EAAEogF,cAClf,GAAI,MAAM,QAAQ,oBAAoB5gF,EAAEwC,UAAUnC,EAAE8rG,QAAQ5R,IAAI,OAAO75F,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWF,IAAIA,EAAEizB,UAAU,MAAMpzB,EAAE,IAAK,MAAMG,GAAE,EAAG,MAAMH,EAAE,QAAQG,GAAE,GAAIA,IAAIO,EAAEsnF,OAAO,GAAG,OAAOtnF,EAAEqB,MAAMrB,EAAEsnF,OAAO,IAAItnF,EAAEsnF,OAAO,SAAc,OAALlrE,GAAEpc,GAAU,KAAK,KAAK,EAAE,GAAGV,GAAG,MAAMU,EAAEimF,UAAUujB,GAAGlqG,EAAEU,EAAEV,EAAE2+F,cAAcx+F,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOO,EAAEimF,UAAU,MAAM3vF,MAAMsJ,EAAE,MAAsC,GAAhCD,EAAE6iG,GAAGD,GAAG98D,SAAS+8D,GAAGH,GAAG58D,SAAYu4D,GAAGh+F,GAAG,CAAyC,GAAxCP,EAAEO,EAAEimF,UAAUtmF,EAAEK,EAAEi+F,cAAcx+F,EAAEg7F,IAAIz6F,GAAKK,EAAEZ,EAAEkiF,YAAYhiF,IAC/e,QADofL,EACvf49F,IAAY,OAAO59F,EAAEu/E,KAAK,KAAK,EAAE0a,GAAG95F,EAAEkiF,UAAUhiF,EAAE,KAAY,EAAPL,EAAEwgC,OAAS,MAAM,KAAK,GAAE,IAAKxgC,EAAE2+F,cAAckN,0BAA0B5R,GAAG95F,EAAEkiF,UAAUhiF,EAAE,KAAY,EAAPL,EAAEwgC,OAASz/B,IAAIL,EAAEsnF,OAAO,QAAQ7nF,GAAG,IAAIE,EAAE+hF,SAAS/hF,EAAEA,EAAE2gF,eAAenK,eAAe12E,IAAKg7F,IAAIz6F,EAAEA,EAAEimF,UAAUxmF,EAAO,OAAL2c,GAAEpc,GAAU,KAAK,KAAK,GAA0B,GAAvBuB,GAAEqY,IAAGna,EAAEO,EAAEwnF,cAAiB,OAAOloF,GAAG,OAAOA,EAAEkoF,eAAe,OAAOloF,EAAEkoF,cAAcC,WAAW,CAAC,GAAGjnF,IAAG,OAAO28F,IAAI,KAAY,EAAPn9F,EAAE8/B,OAAS,KAAa,IAAR9/B,EAAEsnF,OAAW4W,KAAKC,KAAKn+F,EAAEsnF,OAAO,MAAMjnF,GAAE,OAAQ,GAAGA,EAAE29F,GAAGh+F,GAAG,OAAOP,GAAG,OAAOA,EAAEgoF,WAAW,CAAC,GAAG,OAC5fnoF,EAAE,CAAC,IAAIe,EAAE,MAAM/J,MAAMsJ,EAAE,MAAqD,KAA7BS,EAAE,QAApBA,EAAEL,EAAEwnF,eAAyBnnF,EAAEonF,WAAW,MAAW,MAAMnxF,MAAMsJ,EAAE,MAAMS,EAAEo6F,IAAIz6F,OAAOm+F,KAAK,KAAa,IAARn+F,EAAEsnF,SAAatnF,EAAEwnF,cAAc,MAAMxnF,EAAEsnF,OAAO,EAAElrE,GAAEpc,GAAGK,GAAE,OAAQ,OAAO+8F,KAAK6N,GAAG7N,IAAIA,GAAG,MAAM/8F,GAAE,EAAG,IAAIA,EAAE,OAAe,MAARL,EAAEsnF,MAAYtnF,EAAE,KAAK,OAAG,KAAa,IAARA,EAAEsnF,QAAkBtnF,EAAEk/F,MAAMv/F,EAAEK,KAAEP,EAAE,OAAOA,MAAO,OAAOH,GAAG,OAAOA,EAAEkoF,gBAAgB/nF,IAAIO,EAAE4nF,MAAMN,OAAO,KAAK,KAAY,EAAPtnF,EAAE8/B,QAAU,OAAOxgC,GAAG,KAAe,EAAVsa,GAAE6rB,SAAW,IAAIvlC,KAAIA,GAAE,GAAG+pG,OAAO,OAAOjqG,EAAE4/F,cAAc5/F,EAAEsnF,OAAO,GAAGlrE,GAAEpc,GAAU,MAAK,KAAK,EAAE,OAAO2iG,KAC7e,OAAOrjG,GAAGg5F,GAAGt4F,EAAEimF,UAAUiG,eAAe9vE,GAAEpc,GAAG,KAAK,KAAK,GAAG,OAAO4+F,GAAG5+F,EAAE9I,KAAKwjF,UAAUt+D,GAAEpc,GAAG,KAA+C,KAAK,GAA0B,GAAvBuB,GAAEqY,IAAwB,QAArBvZ,EAAEL,EAAEwnF,eAA0B,OAAOprE,GAAEpc,GAAG,KAAuC,GAAlCP,EAAE,KAAa,IAARO,EAAEsnF,OAA4B,QAAjBtoE,EAAE3e,EAAEoqG,WAAsB,GAAGhrG,EAAEsrG,GAAG1qG,GAAE,OAAQ,CAAC,GAAG,IAAIH,IAAG,OAAOZ,GAAG,KAAa,IAARA,EAAEgoF,OAAW,IAAIhoF,EAAEU,EAAE4nF,MAAM,OAAOtoF,GAAG,CAAS,GAAG,QAAX0f,EAAE8jF,GAAGxjG,IAAe,CAAmG,IAAlGU,EAAEsnF,OAAO,IAAIyjB,GAAG1qG,GAAE,GAAoB,QAAhBZ,EAAEuf,EAAE4gF,eAAuB5/F,EAAE4/F,YAAYngG,EAAEO,EAAEsnF,OAAO,GAAGtnF,EAAEqqG,aAAa,EAAE5qG,EAAEE,EAAMA,EAAEK,EAAE4nF,MAAM,OAAOjoF,GAAOL,EAAEG,GAANY,EAAEV,GAAQ2nF,OAAO,SAC/d,QAAdtoE,EAAE3e,EAAEgnF,YAAoBhnF,EAAEy+F,WAAW,EAAEz+F,EAAE6+F,MAAM5/F,EAAEe,EAAEunF,MAAM,KAAKvnF,EAAEgqG,aAAa,EAAEhqG,EAAE49F,cAAc,KAAK59F,EAAEmnF,cAAc,KAAKnnF,EAAEu/F,YAAY,KAAKv/F,EAAE2+F,aAAa,KAAK3+F,EAAE4lF,UAAU,OAAO5lF,EAAEy+F,WAAW9/E,EAAE8/E,WAAWz+F,EAAE6+F,MAAMlgF,EAAEkgF,MAAM7+F,EAAEunF,MAAM5oE,EAAE4oE,MAAMvnF,EAAEgqG,aAAa,EAAEhqG,EAAEm9F,UAAU,KAAKn9F,EAAE49F,cAAcj/E,EAAEi/E,cAAc59F,EAAEmnF,cAAcxoE,EAAEwoE,cAAcnnF,EAAEu/F,YAAY5gF,EAAE4gF,YAAYv/F,EAAEnJ,KAAK8nB,EAAE9nB,KAAKoI,EAAE0f,EAAEggF,aAAa3+F,EAAE2+F,aAAa,OAAO1/F,EAAE,KAAK,CAAC4/F,MAAM5/F,EAAE4/F,MAAMD,aAAa3/F,EAAE2/F,eAAet/F,EAAEA,EAAEkoF,QAA2B,OAAnBjhD,GAAEhtB,GAAY,EAAVA,GAAE6rB,QAAU,GAAUzlC,EAAE4nF,MAAMtoF,EAClgBA,EAAEuoF,QAAQ,OAAOxnF,EAAEuqG,MAAMhqE,KAAI0qE,KAAKtrG,EAAEsnF,OAAO,IAAI7nF,GAAE,EAAGsrG,GAAG1qG,GAAE,GAAIL,EAAEk/F,MAAM,aAAa,CAAC,IAAIz/F,EAAE,GAAW,QAARH,EAAEwjG,GAAG9jF,KAAa,GAAGhf,EAAEsnF,OAAO,IAAI7nF,GAAE,EAAmB,QAAhBE,EAAEL,EAAEsgG,eAAuB5/F,EAAE4/F,YAAYjgG,EAAEK,EAAEsnF,OAAO,GAAGyjB,GAAG1qG,GAAE,GAAI,OAAOA,EAAEuqG,MAAM,WAAWvqG,EAAEwqG,WAAW7rF,EAAEqoE,YAAY7mF,GAAE,OAAO4b,GAAEpc,GAAG,UAAU,EAAE4gC,KAAIvgC,EAAEqqG,mBAAmBY,IAAI,aAAa3rG,IAAIK,EAAEsnF,OAAO,IAAI7nF,GAAE,EAAGsrG,GAAG1qG,GAAE,GAAIL,EAAEk/F,MAAM,SAAS7+F,EAAEmqG,aAAaxrF,EAAE6oE,QAAQ7nF,EAAE4nF,MAAM5nF,EAAE4nF,MAAM5oE,IAAa,QAATrf,EAAEU,EAAEsqG,MAAchrG,EAAEkoF,QAAQ7oE,EAAEhf,EAAE4nF,MAAM5oE,EAAE3e,EAAEsqG,KAAK3rF,GAAG,OAAG,OAAO3e,EAAEuqG,MAAY5qG,EAAEK,EAAEuqG,KAAKvqG,EAAEoqG,UAC9ezqG,EAAEK,EAAEuqG,KAAK5qG,EAAE6nF,QAAQxnF,EAAEqqG,mBAAmB9pE,KAAI5gC,EAAE6nF,QAAQ,KAAKloF,EAAEia,GAAE6rB,QAAQmB,GAAEhtB,GAAEna,EAAI,EAAFE,EAAI,EAAI,EAAFA,GAAKK,IAAEoc,GAAEpc,GAAU,MAAK,KAAK,GAAG,KAAK,GAAG,OAAOurG,KAAK9rG,EAAE,OAAOO,EAAEwnF,cAAc,OAAOloF,GAAG,OAAOA,EAAEkoF,gBAAgB/nF,IAAIO,EAAEsnF,OAAO,MAAM7nF,GAAG,KAAY,EAAPO,EAAE8/B,MAAQ,KAAQ,WAAH6oE,MAAiBvsF,GAAEpc,GAAkB,EAAfA,EAAEqqG,eAAiBrqG,EAAEsnF,OAAO,OAAOlrE,GAAEpc,GAAG,KAAK,KAAK,GAAe,KAAK,GAAG,OAAO,KAAK,MAAM1J,MAAMsJ,EAAE,IAAII,EAAE6+E,MAC5W,SAAS2sB,GAAGlsG,EAAEU,GAAS,OAANi9F,GAAGj9F,GAAUA,EAAE6+E,KAAK,KAAK,EAAE,OAAO0c,GAAGv7F,EAAE9I,OAAOukG,KAAiB,OAAZn8F,EAAEU,EAAEsnF,QAAetnF,EAAEsnF,OAAS,MAAHhoF,EAAS,IAAIU,GAAG,KAAK,KAAK,EAAE,OAAO2iG,KAAKphG,GAAE05F,IAAI15F,GAAEspC,IAAGo4D,KAAe,KAAO,OAAjB3jG,EAAEU,EAAEsnF,SAAqB,KAAO,IAAFhoF,IAAQU,EAAEsnF,OAAS,MAAHhoF,EAAS,IAAIU,GAAG,KAAK,KAAK,EAAE,OAAO6iG,GAAG7iG,GAAG,KAAK,KAAK,GAA0B,GAAvBuB,GAAEqY,IAAwB,QAArBta,EAAEU,EAAEwnF,gBAA2B,OAAOloF,EAAEmoF,WAAW,CAAC,GAAG,OAAOznF,EAAEqnF,UAAU,MAAM/wF,MAAMsJ,EAAE,MAAMu+F,KAAe,OAAS,OAAnB7+F,EAAEU,EAAEsnF,QAAsBtnF,EAAEsnF,OAAS,MAAHhoF,EAAS,IAAIU,GAAG,KAAK,KAAK,GAAG,OAAOuB,GAAEqY,IAAG,KAAK,KAAK,EAAE,OAAO+oF,KAAK,KAAK,KAAK,GAAG,OAAO/D,GAAG5+F,EAAE9I,KAAKwjF,UAAU,KAAK,KAAK,GAAG,KAAK,GAAG,OAAO6wB,KAC1gB,KAAyB,QAAQ,OAAO,MArBxCjC,GAAG,SAAShqG,EAAEU,GAAG,IAAI,IAAIL,EAAEK,EAAE4nF,MAAM,OAAOjoF,GAAG,CAAC,GAAG,IAAIA,EAAEk/E,KAAK,IAAIl/E,EAAEk/E,IAAIv/E,EAAEm4D,YAAY93D,EAAEsmF,gBAAgB,GAAG,IAAItmF,EAAEk/E,KAAK,OAAOl/E,EAAEioF,MAAM,CAACjoF,EAAEioF,MAAMx0E,OAAOzT,EAAEA,EAAEA,EAAEioF,MAAM,SAAS,GAAGjoF,IAAIK,EAAE,MAAM,KAAK,OAAOL,EAAEkoF,SAAS,CAAC,GAAG,OAAOloF,EAAEyT,QAAQzT,EAAEyT,SAASpT,EAAE,OAAOL,EAAEA,EAAEyT,OAAOzT,EAAEkoF,QAAQz0E,OAAOzT,EAAEyT,OAAOzT,EAAEA,EAAEkoF,UAChS0hB,GAAG,SAASjqG,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEK,EAAE2+F,cAAc,GAAGh/F,IAAIQ,EAAE,CAACH,EAAEU,EAAEimF,UAAUuc,GAAGH,GAAG58D,SAAS,IAA4RzmB,EAAxR3e,EAAE,KAAK,OAAOV,GAAG,IAAK,QAAQV,EAAE0gF,EAAGrgF,EAAEL,GAAGQ,EAAEkgF,EAAGrgF,EAAEG,GAAGY,EAAE,GAAG,MAAM,IAAK,SAASpB,EAAEya,EAAE,GAAGza,EAAE,CAAChK,WAAM,IAASwK,EAAEia,EAAE,GAAGja,EAAE,CAACxK,WAAM,IAASoL,EAAE,GAAG,MAAM,IAAK,WAAWpB,EAAE0hF,GAAGrhF,EAAEL,GAAGQ,EAAEkhF,GAAGrhF,EAAEG,GAAGY,EAAE,GAAG,MAAM,QAAQ,oBAAoBpB,EAAEwC,SAAS,oBAAoBhC,EAAEgC,UAAUnC,EAAE8rG,QAAQ5R,IAAyB,IAAI35F,KAAzBylF,GAAG3lF,EAAEF,GAASE,EAAE,KAAcV,EAAE,IAAIQ,EAAEpL,eAAewL,IAAIZ,EAAE5K,eAAewL,IAAI,MAAMZ,EAAEY,GAAG,GAAG,UAAUA,EAAE,CAAC,IAAIU,EAAEtB,EAAEY,GAAG,IAAImf,KAAKze,EAAEA,EAAElM,eAAe2qB,KACjfrf,IAAIA,EAAE,IAAIA,EAAEqf,GAAG,QAAQ,4BAA4Bnf,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIo8E,EAAG5nF,eAAewL,GAAGQ,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAI1G,KAAKkG,EAAE,OAAO,IAAIA,KAAKJ,EAAE,CAAC,IAAIyV,EAAEzV,EAAEI,GAAyB,GAAtBU,EAAE,MAAMtB,EAAEA,EAAEY,QAAG,EAAUJ,EAAEpL,eAAewL,IAAIqV,IAAI3U,IAAI,MAAM2U,GAAG,MAAM3U,GAAG,GAAG,UAAUV,EAAE,GAAGU,EAAE,CAAC,IAAIye,KAAKze,GAAGA,EAAElM,eAAe2qB,IAAI9J,GAAGA,EAAE7gB,eAAe2qB,KAAKrf,IAAIA,EAAE,IAAIA,EAAEqf,GAAG,IAAI,IAAIA,KAAK9J,EAAEA,EAAE7gB,eAAe2qB,IAAIze,EAAEye,KAAK9J,EAAE8J,KAAKrf,IAAIA,EAAE,IAAIA,EAAEqf,GAAG9J,EAAE8J,SAASrf,IAAIU,IAAIA,EAAE,IAAIA,EAAE1G,KAAKkG,EACpfF,IAAIA,EAAEuV,MAAM,4BAA4BrV,GAAGqV,EAAEA,EAAEA,EAAE0kF,YAAO,EAAOr5F,EAAEA,EAAEA,EAAEq5F,YAAO,EAAO,MAAM1kF,GAAG3U,IAAI2U,IAAI7U,EAAEA,GAAG,IAAI1G,KAAKkG,EAAEqV,IAAI,aAAarV,EAAE,kBAAkBqV,GAAG,kBAAkBA,IAAI7U,EAAEA,GAAG,IAAI1G,KAAKkG,EAAE,GAAGqV,GAAG,mCAAmCrV,GAAG,6BAA6BA,IAAIo8E,EAAG5nF,eAAewL,IAAI,MAAMqV,GAAG,aAAarV,GAAGa,GAAE,SAASpB,GAAGe,GAAGE,IAAI2U,IAAI7U,EAAE,MAAMA,EAAEA,GAAG,IAAI1G,KAAKkG,EAAEqV,IAAIvV,IAAIU,EAAEA,GAAG,IAAI1G,KAAK,QAAQgG,GAAG,IAAIE,EAAEQ,GAAKL,EAAE4/F,YAAY//F,KAAEG,EAAEsnF,OAAO,KAAIkiB,GAAG,SAASlqG,EAAEU,EAAEL,EAAEF,GAAGE,IAAIF,IAAIO,EAAEsnF,OAAO,IAkBhb,IAAImkB,IAAG,EAAGjlE,IAAE,EAAGklE,GAAG,oBAAoBC,QAAQA,QAAQ3vB,IAAIr1C,GAAE,KAAK,SAASilE,GAAGtsG,EAAEU,GAAG,IAAIL,EAAEL,EAAE+B,IAAI,GAAG,OAAO1B,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,MAAM,MAAMF,GAAGsrC,GAAEzrC,EAAEU,EAAEP,QAAQE,EAAE8lC,QAAQ,KAAK,SAASomE,GAAGvsG,EAAEU,EAAEL,GAAG,IAAIA,IAAI,MAAMF,GAAGsrC,GAAEzrC,EAAEU,EAAEP,IAAI,IAAIqsG,IAAG,EAIxR,SAASC,GAAGzsG,EAAEU,EAAEL,GAAG,IAAIF,EAAEO,EAAE4/F,YAAyC,GAAG,QAAhCngG,EAAE,OAAOA,EAAEA,EAAEwlG,WAAW,MAAiB,CAAC,IAAIhmG,EAAEQ,EAAEA,EAAExG,KAAK,EAAE,CAAC,IAAIgG,EAAE4/E,IAAIv/E,KAAKA,EAAE,CAAC,IAAIe,EAAEpB,EAAEsmG,QAAQtmG,EAAEsmG,aAAQ,OAAO,IAASllG,GAAGwrG,GAAG7rG,EAAEL,EAAEU,GAAGpB,EAAEA,EAAEhG,WAAWgG,IAAIQ,IAAI,SAASusG,GAAG1sG,EAAEU,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAE4/F,aAAuB5/F,EAAEilG,WAAW,MAAiB,CAAC,IAAItlG,EAAEK,EAAEA,EAAE/G,KAAK,EAAE,CAAC,IAAI0G,EAAEk/E,IAAIv/E,KAAKA,EAAE,CAAC,IAAIG,EAAEE,EAAE5J,OAAO4J,EAAE4lG,QAAQ9lG,IAAIE,EAAEA,EAAE1G,WAAW0G,IAAIK,IAAI,SAASisG,GAAG3sG,GAAG,IAAIU,EAAEV,EAAE+B,IAAI,GAAG,OAAOrB,EAAE,CAAC,IAAIL,EAAEL,EAAE2mF,UAAiB3mF,EAAEu/E,IAA8Bv/E,EAAEK,EAAE,oBAAoBK,EAAEA,EAAEV,GAAGU,EAAEylC,QAAQnmC,GAChf,SAAS4sG,GAAG5sG,GAAG,IAAIU,EAAEV,EAAE+nF,UAAU,OAAOrnF,IAAIV,EAAE+nF,UAAU,KAAK6kB,GAAGlsG,IAAIV,EAAEsoF,MAAM,KAAKtoF,EAAEk+F,UAAU,KAAKl+F,EAAEuoF,QAAQ,KAAK,IAAIvoF,EAAEu/E,MAAoB,QAAd7+E,EAAEV,EAAE2mF,oBAA4BjmF,EAAEy6F,WAAWz6F,EAAE06F,WAAW16F,EAAEk4F,WAAWl4F,EAAE26F,WAAW36F,EAAE46F,MAAMt7F,EAAE2mF,UAAU,KAAK3mF,EAAE8T,OAAO,KAAK9T,EAAE0/F,aAAa,KAAK1/F,EAAE2+F,cAAc,KAAK3+F,EAAEkoF,cAAc,KAAKloF,EAAEo+F,aAAa,KAAKp+F,EAAE2mF,UAAU,KAAK3mF,EAAEsgG,YAAY,KAAK,SAASuM,GAAG7sG,GAAG,OAAO,IAAIA,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,IACha,SAASutB,GAAG9sG,GAAGA,EAAE,OAAO,CAAC,KAAK,OAAOA,EAAEuoF,SAAS,CAAC,GAAG,OAAOvoF,EAAE8T,QAAQ+4F,GAAG7sG,EAAE8T,QAAQ,OAAO,KAAK9T,EAAEA,EAAE8T,OAAiC,IAA1B9T,EAAEuoF,QAAQz0E,OAAO9T,EAAE8T,OAAW9T,EAAEA,EAAEuoF,QAAQ,IAAIvoF,EAAEu/E,KAAK,IAAIv/E,EAAEu/E,KAAK,KAAKv/E,EAAEu/E,KAAK,CAAC,GAAW,EAARv/E,EAAEgoF,MAAQ,SAAShoF,EAAE,GAAG,OAAOA,EAAEsoF,OAAO,IAAItoF,EAAEu/E,IAAI,SAASv/E,EAAOA,EAAEsoF,MAAMx0E,OAAO9T,EAAEA,EAAEA,EAAEsoF,MAAM,KAAa,EAARtoF,EAAEgoF,OAAS,OAAOhoF,EAAE2mF,WAC/S,SAASomB,GAAG/sG,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAEu/E,IAAI,GAAG,IAAIp/E,GAAG,IAAIA,EAAEH,EAAEA,EAAE2mF,UAAUjmF,EAAE,IAAIL,EAAE+hF,SAAS/hF,EAAE8oE,WAAWuN,aAAa12E,EAAEU,GAAGL,EAAEq2E,aAAa12E,EAAEU,IAAI,IAAIL,EAAE+hF,UAAU1hF,EAAEL,EAAE8oE,YAAauN,aAAa12E,EAAEK,IAAKK,EAAEL,GAAI83D,YAAYn4D,GAA4B,QAAxBK,EAAEA,EAAE2sG,2BAA8B,IAAS3sG,GAAG,OAAOK,EAAEorG,UAAUprG,EAAEorG,QAAQ5R,UAAU,GAAG,IAAI/5F,GAAc,QAAVH,EAAEA,EAAEsoF,OAAgB,IAAIykB,GAAG/sG,EAAEU,EAAEL,GAAGL,EAAEA,EAAEuoF,QAAQ,OAAOvoF,GAAG+sG,GAAG/sG,EAAEU,EAAEL,GAAGL,EAAEA,EAAEuoF,QACnX,SAAS0kB,GAAGjtG,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAEu/E,IAAI,GAAG,IAAIp/E,GAAG,IAAIA,EAAEH,EAAEA,EAAE2mF,UAAUjmF,EAAEL,EAAEq2E,aAAa12E,EAAEU,GAAGL,EAAE83D,YAAYn4D,QAAQ,GAAG,IAAIG,GAAc,QAAVH,EAAEA,EAAEsoF,OAAgB,IAAI2kB,GAAGjtG,EAAEU,EAAEL,GAAGL,EAAEA,EAAEuoF,QAAQ,OAAOvoF,GAAGitG,GAAGjtG,EAAEU,EAAEL,GAAGL,EAAEA,EAAEuoF,QAAQ,IAAIrzE,GAAE,KAAKg4F,IAAG,EAAG,SAASC,GAAGntG,EAAEU,EAAEL,GAAG,IAAIA,EAAEA,EAAEioF,MAAM,OAAOjoF,GAAG+sG,GAAGptG,EAAEU,EAAEL,GAAGA,EAAEA,EAAEkoF,QAC5Q,SAAS6kB,GAAGptG,EAAEU,EAAEL,GAAG,GAAG2pF,IAAI,oBAAoBA,GAAGqjB,qBAAqB,IAAIrjB,GAAGqjB,qBAAqBtjB,GAAG1pF,GAAG,MAAMY,IAAI,OAAOZ,EAAEk/E,KAAK,KAAK,EAAEr4C,IAAGolE,GAAGjsG,EAAEK,GAAG,KAAK,EAAE,IAAIP,EAAE+U,GAAEvV,EAAEutG,GAAGh4F,GAAE,KAAKi4F,GAAGntG,EAAEU,EAAEL,GAAO6sG,GAAGvtG,EAAE,QAATuV,GAAE/U,KAAkB+sG,IAAIltG,EAAEkV,GAAE7U,EAAEA,EAAEsmF,UAAU,IAAI3mF,EAAEoiF,SAASpiF,EAAEmpE,WAAW4Y,YAAY1hF,GAAGL,EAAE+hF,YAAY1hF,IAAI6U,GAAE6sE,YAAY1hF,EAAEsmF,YAAY,MAAM,KAAK,GAAG,OAAOzxE,KAAIg4F,IAAIltG,EAAEkV,GAAE7U,EAAEA,EAAEsmF,UAAU,IAAI3mF,EAAEoiF,SAAS0Y,GAAG96F,EAAEmpE,WAAW9oE,GAAG,IAAIL,EAAEoiF,UAAU0Y,GAAG96F,EAAEK,GAAG8sF,GAAGntF,IAAI86F,GAAG5lF,GAAE7U,EAAEsmF,YAAY,MAAM,KAAK,EAAExmF,EAAE+U,GAAEvV,EAAEutG,GAAGh4F,GAAE7U,EAAEsmF,UAAUiG,cAAcsgB,IAAG,EAClfC,GAAGntG,EAAEU,EAAEL,GAAG6U,GAAE/U,EAAE+sG,GAAGvtG,EAAE,MAAM,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIunC,KAAoB,QAAhB/mC,EAAEE,EAAEigG,cAAsC,QAAfngG,EAAEA,EAAEwlG,aAAsB,CAAChmG,EAAEQ,EAAEA,EAAExG,KAAK,EAAE,CAAC,IAAIoH,EAAEpB,EAAE+f,EAAE3e,EAAEklG,QAAQllG,EAAEA,EAAEw+E,SAAI,IAAS7/D,IAAI,KAAO,EAAF3e,IAAe,KAAO,EAAFA,KAAfwrG,GAAGlsG,EAAEK,EAAEgf,GAAyB/f,EAAEA,EAAEhG,WAAWgG,IAAIQ,GAAGgtG,GAAGntG,EAAEU,EAAEL,GAAG,MAAM,KAAK,EAAE,IAAI6mC,KAAIolE,GAAGjsG,EAAEK,GAAiB,oBAAdP,EAAEE,EAAEsmF,WAAgC2mB,sBAAsB,IAAIntG,EAAEhD,MAAMkD,EAAEs+F,cAAcx+F,EAAEtJ,MAAMwJ,EAAE6nF,cAAc/nF,EAAEmtG,uBAAuB,MAAMrsG,GAAGwqC,GAAEprC,EAAEK,EAAEO,GAAGksG,GAAGntG,EAAEU,EAAEL,GAAG,MAAM,KAAK,GAAG8sG,GAAGntG,EAAEU,EAAEL,GAAG,MAAM,KAAK,GAAU,EAAPA,EAAEmgC,MAAQ0G,IAAG/mC,EAAE+mC,KAAI,OAChf7mC,EAAE6nF,cAAcilB,GAAGntG,EAAEU,EAAEL,GAAG6mC,GAAE/mC,GAAGgtG,GAAGntG,EAAEU,EAAEL,GAAG,MAAM,QAAQ8sG,GAAGntG,EAAEU,EAAEL,IAAI,SAASktG,GAAGvtG,GAAG,IAAIU,EAAEV,EAAEsgG,YAAY,GAAG,OAAO5/F,EAAE,CAACV,EAAEsgG,YAAY,KAAK,IAAIjgG,EAAEL,EAAE2mF,UAAU,OAAOtmF,IAAIA,EAAEL,EAAE2mF,UAAU,IAAIylB,IAAI1rG,EAAEhI,SAAQ,SAASgI,GAAG,IAAIP,EAAEqtG,GAAG3iF,KAAK,KAAK7qB,EAAEU,GAAGL,EAAEmxB,IAAI9wB,KAAKL,EAAEmiB,IAAI9hB,GAAGA,EAAExH,KAAKiH,EAAEA,QACnQ,SAASstG,GAAGztG,EAAEU,GAAG,IAAIL,EAAEK,EAAEw9F,UAAU,GAAG,OAAO79F,EAAE,IAAI,IAAIF,EAAE,EAAEA,EAAEE,EAAEzF,OAAOuF,IAAI,CAAC,IAAIR,EAAEU,EAAEF,GAAG,IAAI,IAAIY,EAAEf,EAAE0f,EAAEhf,EAAEO,EAAEye,EAAE1f,EAAE,KAAK,OAAOiB,GAAG,CAAC,OAAOA,EAAEs+E,KAAK,KAAK,EAAErqE,GAAEjU,EAAE0lF,UAAUumB,IAAG,EAAG,MAAMltG,EAAE,KAAK,EAA4C,KAAK,EAAEkV,GAAEjU,EAAE0lF,UAAUiG,cAAcsgB,IAAG,EAAG,MAAMltG,EAAEiB,EAAEA,EAAE6S,OAAO,GAAG,OAAOoB,GAAE,MAAMle,MAAMsJ,EAAE,MAAM8sG,GAAGrsG,EAAE2e,EAAE/f,GAAGuV,GAAE,KAAKg4F,IAAG,EAAG,IAAIt3F,EAAEjW,EAAEooF,UAAU,OAAOnyE,IAAIA,EAAE9B,OAAO,MAAMnU,EAAEmU,OAAO,KAAK,MAAMvT,GAAGkrC,GAAE9rC,EAAEe,EAAEH,IAAI,GAAkB,MAAfG,EAAEqqG,aAAmB,IAAIrqG,EAAEA,EAAE4nF,MAAM,OAAO5nF,GAAGgtG,GAAGhtG,EAAEV,GAAGU,EAAEA,EAAE6nF,QAC1d,SAASmlB,GAAG1tG,EAAEU,GAAG,IAAIL,EAAEL,EAAE+nF,UAAU5nF,EAAEH,EAAEgoF,MAAM,OAAOhoF,EAAEu/E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAiB,GAAdkuB,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAQ,EAAFG,EAAI,CAAC,IAAIssG,GAAG,EAAEzsG,EAAEA,EAAE8T,QAAQ44F,GAAG,EAAE1sG,GAAG,MAAMH,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,GAAG,IAAI4sG,GAAG,EAAEzsG,EAAEA,EAAE8T,QAAQ,MAAMjU,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,IAAI,MAAM,KAAK,EAAE4tG,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAK,IAAFG,GAAO,OAAOE,GAAGisG,GAAGjsG,EAAEA,EAAEyT,QAAQ,MAAM,KAAK,EAAgD,GAA9C25F,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAK,IAAFG,GAAO,OAAOE,GAAGisG,GAAGjsG,EAAEA,EAAEyT,QAAmB,GAAR9T,EAAEgoF,MAAS,CAAC,IAAIroF,EAAEK,EAAE2mF,UAAU,IAAIzE,GAAGviF,EAAE,IAAI,MAAME,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,IAAI,GAAK,EAAFM,GAAoB,OAAdR,EAAEK,EAAE2mF,WAAmB,CAAC,IAAI5lF,EAAEf,EAAE2+F,cAAcj/E,EAAE,OAAOrf,EAAEA,EAAEs+F,cAAc59F,EAAEE,EAAEjB,EAAEpI,KAAKge,EAAE5V,EAAEsgG,YACje,GAAnBtgG,EAAEsgG,YAAY,KAAQ,OAAO1qF,EAAE,IAAI,UAAU3U,GAAG,UAAUF,EAAEnJ,MAAM,MAAMmJ,EAAE5F,MAAMylF,EAAGjhF,EAAEoB,GAAGklF,GAAGhlF,EAAEye,GAAG,IAAInf,EAAE0lF,GAAGhlF,EAAEF,GAAG,IAAI2e,EAAE,EAAEA,EAAE9J,EAAEhb,OAAO8kB,GAAG,EAAE,CAAC,IAAIlf,EAAEoV,EAAE8J,GAAG/e,EAAEiV,EAAE8J,EAAE,GAAG,UAAUlf,EAAE0kF,GAAGvlF,EAAEgB,GAAG,4BAA4BH,EAAEqhF,GAAGliF,EAAEgB,GAAG,aAAaH,EAAE0hF,GAAGviF,EAAEgB,GAAGi9E,EAAGj+E,EAAEa,EAAEG,EAAEJ,GAAG,OAAOU,GAAG,IAAK,QAAQ4/E,EAAGlhF,EAAEoB,GAAG,MAAM,IAAK,WAAWygF,GAAG7hF,EAAEoB,GAAG,MAAM,IAAK,SAAS,IAAIjB,EAAEH,EAAE6gF,cAAcorB,YAAYjsG,EAAE6gF,cAAcorB,cAAc7qG,EAAE0wD,SAAS,IAAIpwD,EAAEN,EAAEpL,MAAM,MAAM0L,EAAE6/E,GAAGvhF,IAAIoB,EAAE0wD,SAASpwD,GAAE,GAAIvB,MAAMiB,EAAE0wD,WAAW,MAAM1wD,EAAEw/E,aAAaW,GAAGvhF,IAAIoB,EAAE0wD,SACnf1wD,EAAEw/E,cAAa,GAAIW,GAAGvhF,IAAIoB,EAAE0wD,SAAS1wD,EAAE0wD,SAAS,GAAG,IAAG,IAAK9xD,EAAEy7F,IAAIr6F,EAAE,MAAMlB,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,IAAI,MAAM,KAAK,EAAgB,GAAd4tG,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAQ,EAAFG,EAAI,CAAC,GAAG,OAAOH,EAAE2mF,UAAU,MAAM3vF,MAAMsJ,EAAE,MAAMX,EAAEK,EAAE2mF,UAAU5lF,EAAEf,EAAE2+F,cAAc,IAAIh/F,EAAE0iF,UAAUthF,EAAE,MAAMlB,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,IAAI,MAAM,KAAK,EAAgB,GAAd4tG,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAQ,EAAFG,GAAK,OAAOE,GAAGA,EAAE6nF,cAAcyE,aAAa,IAAIQ,GAAGzsF,EAAEksF,eAAe,MAAM/sF,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,GAAG,MAAM,KAAK,EAG4G,QAAQ4tG,GAAG/sG,EACnfV,GAAG2tG,GAAG3tG,SAJ4Y,KAAK,GAAGytG,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAqB,MAAlBL,EAAEK,EAAEsoF,OAAQN,QAAajnF,EAAE,OAAOpB,EAAEuoF,cAAcvoF,EAAEgnF,UAAUinB,SAAS7sG,GAAGA,GAClf,OAAOpB,EAAEooF,WAAW,OAAOpoF,EAAEooF,UAAUG,gBAAgB2lB,GAAGvsE,OAAQ,EAAFnhC,GAAKotG,GAAGvtG,GAAG,MAAM,KAAK,GAAsF,GAAnFQ,EAAE,OAAOH,GAAG,OAAOA,EAAE6nF,cAAqB,EAAPloF,EAAEwgC,MAAQ0G,IAAG3mC,EAAE2mC,KAAI1mC,EAAEitG,GAAG/sG,EAAEV,GAAGknC,GAAE3mC,GAAGktG,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAQ,KAAFG,EAAO,CAA0B,GAAzBI,EAAE,OAAOP,EAAEkoF,eAAkBloF,EAAE2mF,UAAUinB,SAASrtG,KAAKC,GAAG,KAAY,EAAPR,EAAEwgC,MAAQ,IAAI6G,GAAErnC,EAAEQ,EAAER,EAAEsoF,MAAM,OAAO9nF,GAAG,CAAC,IAAIG,EAAE0mC,GAAE7mC,EAAE,OAAO6mC,IAAG,CAAe,OAAVhmC,GAAJvB,EAAEunC,IAAMihD,MAAaxoF,EAAEy/E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGktB,GAAG,EAAE3sG,EAAEA,EAAEgU,QAAQ,MAAM,KAAK,EAAEw4F,GAAGxsG,EAAEA,EAAEgU,QAAQ,IAAI5T,EAAEJ,EAAE6mF,UAAU,GAAG,oBAAoBzmF,EAAEotG,qBAAqB,CAACntG,EAAEL,EAAEO,EAAEP,EAAEgU,OAAO,IAAIpT,EAAEP,EAAED,EAAE/C,MACpfuD,EAAEi+F,cAAcz+F,EAAErJ,MAAM6J,EAAEwnF,cAAchoF,EAAEotG,uBAAuB,MAAMztG,GAAG4rC,GAAEtrC,EAAEE,EAAER,IAAI,MAAM,KAAK,EAAEysG,GAAGxsG,EAAEA,EAAEgU,QAAQ,MAAM,KAAK,GAAG,GAAG,OAAOhU,EAAEooF,cAAc,CAAC4lB,GAAGntG,GAAG,UAAU,OAAOU,GAAGA,EAAEyS,OAAOhU,EAAEunC,GAAEhmC,GAAGysG,GAAGntG,GAAGH,EAAEA,EAAE+nF,QAAQvoF,EAAE,IAAIQ,EAAE,KAAKG,EAAEX,IAAI,CAAC,GAAG,IAAIW,EAAE4+E,KAAK,GAAG,OAAO/+E,EAAE,CAACA,EAAEG,EAAE,IAAIhB,EAAEgB,EAAEgmF,UAAUpmF,EAAa,oBAAVQ,EAAEpB,EAAEusB,OAA4BogD,YAAYvrE,EAAEurE,YAAY,UAAU,OAAO,aAAavrE,EAAEgtG,QAAQ,QAAS9sG,EAAEN,EAAEgmF,UAAkCjnE,OAAE,KAA1B9J,EAAEjV,EAAEg+F,cAAczyE,QAAoB,OAAOtW,GAAGA,EAAE7gB,eAAe,WAAW6gB,EAAEm4F,QAAQ,KAAK9sG,EAAEirB,MAAM6hF,QACzfrxE,GAAG,UAAUhd,IAAI,MAAM7f,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,UAAU,GAAG,IAAIc,EAAE4+E,KAAK,GAAG,OAAO/+E,EAAE,IAAIG,EAAEgmF,UAAUtE,UAAU9hF,EAAE,GAAGI,EAAEg+F,cAAc,MAAM9+F,GAAG4rC,GAAEzrC,EAAEA,EAAE8T,OAAOjU,SAAS,IAAI,KAAKc,EAAE4+E,KAAK,KAAK5+E,EAAE4+E,KAAK,OAAO5+E,EAAEunF,eAAevnF,IAAIX,IAAI,OAAOW,EAAE2nF,MAAM,CAAC3nF,EAAE2nF,MAAMx0E,OAAOnT,EAAEA,EAAEA,EAAE2nF,MAAM,SAAS,GAAG3nF,IAAIX,EAAE,MAAMA,EAAE,KAAK,OAAOW,EAAE4nF,SAAS,CAAC,GAAG,OAAO5nF,EAAEmT,QAAQnT,EAAEmT,SAAS9T,EAAE,MAAMA,EAAEQ,IAAIG,IAAIH,EAAE,MAAMG,EAAEA,EAAEmT,OAAOtT,IAAIG,IAAIH,EAAE,MAAMG,EAAE4nF,QAAQz0E,OAAOnT,EAAEmT,OAAOnT,EAAEA,EAAE4nF,SAAS,MAAM,KAAK,GAAGklB,GAAG/sG,EAAEV,GAAG2tG,GAAG3tG,GAAK,EAAFG,GAAKotG,GAAGvtG,GAAS,KAAK,KACrd,SAAS2tG,GAAG3tG,GAAG,IAAIU,EAAEV,EAAEgoF,MAAM,GAAK,EAAFtnF,EAAI,CAAC,IAAIV,EAAE,CAAC,IAAI,IAAIK,EAAEL,EAAE8T,OAAO,OAAOzT,GAAG,CAAC,GAAGwsG,GAAGxsG,GAAG,CAAC,IAAIF,EAAEE,EAAE,MAAML,EAAEK,EAAEA,EAAEyT,OAAO,MAAM9c,MAAMsJ,EAAE,MAAO,OAAOH,EAAEo/E,KAAK,KAAK,EAAE,IAAI5/E,EAAEQ,EAAEwmF,UAAkB,GAARxmF,EAAE6nF,QAAW9F,GAAGviF,EAAE,IAAIQ,EAAE6nF,QAAQ,IAAgBilB,GAAGjtG,EAAT8sG,GAAG9sG,GAAUL,GAAG,MAAM,KAAK,EAAE,KAAK,EAAE,IAAI+f,EAAEvf,EAAEwmF,UAAUiG,cAAsBmgB,GAAG/sG,EAAT8sG,GAAG9sG,GAAU0f,GAAG,MAAM,QAAQ,MAAM1oB,MAAMsJ,EAAE,OAAQ,MAAMsV,GAAG61B,GAAEzrC,EAAEA,EAAE8T,OAAO8B,GAAG5V,EAAEgoF,QAAQ,EAAI,KAAFtnF,IAASV,EAAEgoF,QAAQ,MAAM,SAASgmB,GAAGhuG,EAAEU,EAAEL,GAAGgnC,GAAErnC,EAAEiuG,GAAGjuG,EAAEU,EAAEL,GACrb,SAAS4tG,GAAGjuG,EAAEU,EAAEL,GAAG,IAAI,IAAIF,EAAE,KAAY,EAAPH,EAAEwgC,MAAQ,OAAO6G,IAAG,CAAC,IAAI1nC,EAAE0nC,GAAEtmC,EAAEpB,EAAE2oF,MAAM,GAAG,KAAK3oF,EAAE4/E,KAAKp/E,EAAE,CAAC,IAAIuf,EAAE,OAAO/f,EAAEuoF,eAAeikB,GAAG,IAAIzsF,EAAE,CAAC,IAAIze,EAAEtB,EAAEooF,UAAUnyE,EAAE,OAAO3U,GAAG,OAAOA,EAAEinF,eAAehhD,GAAEjmC,EAAEkrG,GAAG,IAAI5rG,EAAE2mC,GAAO,GAALilE,GAAGzsF,GAAMwnB,GAAEtxB,KAAKrV,EAAE,IAAI8mC,GAAE1nC,EAAE,OAAO0nC,IAAOzxB,GAAJ8J,EAAE2nB,IAAMihD,MAAM,KAAK5oE,EAAE6/D,KAAK,OAAO7/D,EAAEwoE,cAAcgmB,GAAGvuG,GAAG,OAAOiW,GAAGA,EAAE9B,OAAO4L,EAAE2nB,GAAEzxB,GAAGs4F,GAAGvuG,GAAG,KAAK,OAAOoB,GAAGsmC,GAAEtmC,EAAEktG,GAAGltG,EAAEL,EAAEL,GAAGU,EAAEA,EAAEwnF,QAAQlhD,GAAE1nC,EAAEwsG,GAAGlrG,EAAEimC,GAAE3mC,EAAE4tG,GAAGnuG,QAAY,KAAoB,KAAfL,EAAEorG,eAAoB,OAAOhqG,GAAGA,EAAE+S,OAAOnU,EAAE0nC,GAAEtmC,GAAGotG,GAAGnuG,IAChc,SAASmuG,GAAGnuG,GAAG,KAAK,OAAOqnC,IAAG,CAAC,IAAI3mC,EAAE2mC,GAAE,GAAG,KAAa,KAAR3mC,EAAEsnF,OAAY,CAAC,IAAI3nF,EAAEK,EAAEqnF,UAAU,IAAI,GAAG,KAAa,KAARrnF,EAAEsnF,OAAY,OAAOtnF,EAAE6+E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGr4C,IAAGwlE,GAAG,EAAEhsG,GAAG,MAAM,KAAK,EAAE,IAAIP,EAAEO,EAAEimF,UAAU,GAAW,EAARjmF,EAAEsnF,QAAU9gD,GAAE,GAAG,OAAO7mC,EAAEF,EAAE+hG,wBAAwB,CAAC,IAAIviG,EAAEe,EAAEu9F,cAAcv9F,EAAE9I,KAAKyI,EAAEs+F,cAAcK,GAAGt+F,EAAE9I,KAAKyI,EAAEs+F,eAAex+F,EAAEwpG,mBAAmBhqG,EAAEU,EAAE6nF,cAAc/nF,EAAEiuG,qCAAqC,IAAIrtG,EAAEL,EAAE4/F,YAAY,OAAOv/F,GAAGigG,GAAGtgG,EAAEK,EAAEZ,GAAG,MAAM,KAAK,EAAE,IAAIuf,EAAEhf,EAAE4/F,YAAY,GAAG,OAAO5gF,EAAE,CAAQ,GAAPrf,EAAE,KAAQ,OAAOK,EAAE4nF,MAAM,OAAO5nF,EAAE4nF,MAAM/I,KAAK,KAAK,EACvf,KAAK,EAAEl/E,EAAEK,EAAE4nF,MAAM3B,UAAUqa,GAAGtgG,EAAEgf,EAAErf,GAAG,MAAM,KAAK,EAAE,IAAIY,EAAEP,EAAEimF,UAAU,GAAG,OAAOtmF,GAAW,EAARK,EAAEsnF,MAAQ,CAAC3nF,EAAEY,EAAE,IAAI2U,EAAElV,EAAEi+F,cAAc,OAAOj+F,EAAE9I,MAAM,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWge,EAAEwd,WAAW/yB,EAAE61C,QAAQ,MAAM,IAAK,MAAMtgC,EAAEpD,MAAMnS,EAAEmS,IAAIoD,EAAEpD,MAAM,MAAM,KAAK,EAAQ,KAAK,EAAQ,KAAK,GAAyJ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAhM,KAAK,GAAG,GAAG,OAAO9R,EAAEwnF,cAAc,CAAC,IAAI3nF,EAAEG,EAAEqnF,UAAU,GAAG,OAAOxnF,EAAE,CAAC,IAAIC,EAAED,EAAE2nF,cAAc,GAAG,OAAO1nF,EAAE,CAAC,IAAIG,EAAEH,EAAE2nF,WAAW,OAAOxnF,GAAGwsF,GAAGxsF,KAAK,MAC5c,QAAQ,MAAM3J,MAAMsJ,EAAE,MAAO4mC,IAAW,IAARxmC,EAAEsnF,OAAW2kB,GAAGjsG,GAAG,MAAMZ,GAAG2rC,GAAE/qC,EAAEA,EAAEoT,OAAOhU,IAAI,GAAGY,IAAIV,EAAE,CAACqnC,GAAE,KAAK,MAAkB,GAAG,QAAfhnC,EAAEK,EAAE6nF,SAAoB,CAACloF,EAAEyT,OAAOpT,EAAEoT,OAAOuzB,GAAEhnC,EAAE,MAAMgnC,GAAE3mC,EAAEoT,QAAQ,SAASg6F,GAAG9tG,GAAG,KAAK,OAAOqnC,IAAG,CAAC,IAAI3mC,EAAE2mC,GAAE,GAAG3mC,IAAIV,EAAE,CAACqnC,GAAE,KAAK,MAAM,IAAIhnC,EAAEK,EAAE6nF,QAAQ,GAAG,OAAOloF,EAAE,CAACA,EAAEyT,OAAOpT,EAAEoT,OAAOuzB,GAAEhnC,EAAE,MAAMgnC,GAAE3mC,EAAEoT,QAChS,SAASo6F,GAAGluG,GAAG,KAAK,OAAOqnC,IAAG,CAAC,IAAI3mC,EAAE2mC,GAAE,IAAI,OAAO3mC,EAAE6+E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAIl/E,EAAEK,EAAEoT,OAAO,IAAI44F,GAAG,EAAEhsG,GAAG,MAAMkV,GAAG61B,GAAE/qC,EAAEL,EAAEuV,GAAG,MAAM,KAAK,EAAE,IAAIzV,EAAEO,EAAEimF,UAAU,GAAG,oBAAoBxmF,EAAE+hG,kBAAkB,CAAC,IAAIviG,EAAEe,EAAEoT,OAAO,IAAI3T,EAAE+hG,oBAAoB,MAAMtsF,GAAG61B,GAAE/qC,EAAEf,EAAEiW,IAAI,IAAI7U,EAAEL,EAAEoT,OAAO,IAAI64F,GAAGjsG,GAAG,MAAMkV,GAAG61B,GAAE/qC,EAAEK,EAAE6U,GAAG,MAAM,KAAK,EAAE,IAAI8J,EAAEhf,EAAEoT,OAAO,IAAI64F,GAAGjsG,GAAG,MAAMkV,GAAG61B,GAAE/qC,EAAEgf,EAAE9J,KAAK,MAAMA,GAAG61B,GAAE/qC,EAAEA,EAAEoT,OAAO8B,GAAG,GAAGlV,IAAIV,EAAE,CAACqnC,GAAE,KAAK,MAAM,IAAIpmC,EAAEP,EAAE6nF,QAAQ,GAAG,OAAOtnF,EAAE,CAACA,EAAE6S,OAAOpT,EAAEoT,OAAOuzB,GAAEpmC,EAAE,MAAMomC,GAAE3mC,EAAEoT,QACtd,IAwBkNu6F,GAxB9MC,GAAG9iG,KAAK+pB,KAAKg5E,GAAG79B,EAAGsJ,uBAAuBnpC,GAAG6/B,EAAGwJ,kBAAkBj3D,GAAGytD,EAAGuJ,wBAAwBn6D,GAAE,EAAEmnB,GAAE,KAAK9xB,GAAE,KAAKkF,GAAE,EAAEgvF,GAAG,EAAED,GAAG3N,GAAG,GAAG76F,GAAE,EAAE4tG,GAAG,KAAKxuF,GAAG,EAAEyuF,GAAG,EAAEvrF,GAAG,EAAEwrF,GAAG,KAAKC,GAAG,KAAKd,GAAG,EAAE7B,GAAG/5F,IAAS28F,GAAG,KAAKhH,IAAG,EAAGC,GAAG,KAAKI,GAAG,KAAK4G,IAAG,EAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAE,SAAS/rF,KAAI,OAAO,KAAO,EAAFtD,IAAKwhB,MAAK,IAAI4tE,GAAGA,GAAGA,GAAG5tE,KAC7T,SAAS+/D,GAAGrhG,GAAG,OAAG,KAAY,EAAPA,EAAEwgC,MAAe,EAAK,KAAO,EAAF1gB,KAAM,IAAIzF,GAASA,IAAGA,GAAK,OAAO0kF,GAAGhlB,YAAkB,IAAIo1B,KAAKA,GAAG7wC,MAAM6wC,IAAU,KAAPnvG,EAAEgB,IAAkBhB,EAAiBA,OAAE,KAAjBA,EAAEkoB,OAAOkyC,OAAmB,GAAGuzB,GAAG3tF,EAAEpI,MAAe,SAAS0pG,GAAGthG,EAAEU,EAAEL,EAAEF,GAAG,GAAG,GAAG6uG,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAKj4G,MAAMsJ,EAAE,MAAMuqF,GAAG7qF,EAAEK,EAAEF,GAAM,KAAO,EAAF2f,KAAM9f,IAAIinC,KAAEjnC,IAAIinC,KAAI,KAAO,EAAFnnB,MAAO2uF,IAAIpuG,GAAG,IAAIO,IAAGwuG,GAAGpvG,EAAEqa,KAAIg1F,GAAGrvG,EAAEG,GAAG,IAAIE,GAAG,IAAIyf,IAAG,KAAY,EAAPpf,EAAE8/B,QAAUwrE,GAAG1qE,KAAI,IAAIq7D,IAAIG,OACrY,SAASuS,GAAGrvG,EAAEU,GAAG,IAAIL,EAAEL,EAAEsvG,cA5MzB,SAAYtvG,EAAEU,GAAG,IAAI,IAAIL,EAAEL,EAAEwqF,eAAerqF,EAAEH,EAAEyqF,YAAY9qF,EAAEK,EAAEuvG,gBAAgBxuG,EAAEf,EAAEuqF,aAAa,EAAExpF,GAAG,CAAC,IAAI2e,EAAE,GAAGuqE,GAAGlpF,GAAGE,EAAE,GAAGye,EAAE9J,EAAEjW,EAAE+f,IAAO,IAAI9J,EAAM,KAAK3U,EAAEZ,IAAI,KAAKY,EAAEd,KAAGR,EAAE+f,GAAGkrE,GAAG3pF,EAAEP,IAAQkV,GAAGlV,IAAIV,EAAEwvG,cAAcvuG,GAAGF,IAAIE,GA4MjLwuG,CAAGzvG,EAAEU,GAAG,IAAIP,EAAEs3C,GAAGz3C,EAAEA,IAAIinC,GAAE5sB,GAAE,GAAG,GAAG,IAAIla,EAAE,OAAOE,GAAGuoF,GAAGvoF,GAAGL,EAAEsvG,aAAa,KAAKtvG,EAAE0vG,iBAAiB,OAAO,GAAGhvG,EAAEP,GAAGA,EAAEH,EAAE0vG,mBAAmBhvG,EAAE,CAAgB,GAAf,MAAML,GAAGuoF,GAAGvoF,GAAM,IAAIK,EAAE,IAAIV,EAAEu/E,IA7IsJ,SAAYv/E,GAAG28F,IAAG,EAAGE,GAAG78F,GA6I1K2vG,CAAGC,GAAG/kF,KAAK,KAAK7qB,IAAI68F,GAAG+S,GAAG/kF,KAAK,KAAK7qB,IAAI06F,IAAG,WAAW,KAAO,EAAF56E,KAAMg9E,QAAOz8F,EAAE,SAAS,CAAC,OAAO2qF,GAAG7qF,IAAI,KAAK,EAAEE,EAAEgpF,GAAG,MAAM,KAAK,EAAEhpF,EAAEkpF,GAAG,MAAM,KAAK,GAAwC,QAAQlpF,EAAEopF,SAApC,KAAK,UAAUppF,EAAEwpF,GAAsBxpF,EAAEwvG,GAAGxvG,EAAEyvG,GAAGjlF,KAAK,KAAK7qB,IAAIA,EAAE0vG,iBAAiBhvG,EAAEV,EAAEsvG,aAAajvG,GAC3c,SAASyvG,GAAG9vG,EAAEU,GAAc,GAAXwuG,IAAI,EAAEC,GAAG,EAAK,KAAO,EAAFrvF,IAAK,MAAM9oB,MAAMsJ,EAAE,MAAM,IAAID,EAAEL,EAAEsvG,aAAa,GAAGS,MAAM/vG,EAAEsvG,eAAejvG,EAAE,OAAO,KAAK,IAAIF,EAAEs3C,GAAGz3C,EAAEA,IAAIinC,GAAE5sB,GAAE,GAAG,GAAG,IAAIla,EAAE,OAAO,KAAK,GAAG,KAAO,GAAFA,IAAO,KAAKA,EAAEH,EAAEwvG,eAAe9uG,EAAEA,EAAEsvG,GAAGhwG,EAAEG,OAAO,CAACO,EAAEP,EAAE,IAAIR,EAAEmgB,GAAEA,IAAG,EAAE,IAAI/e,EAAEkvG,KAAgD,IAAxChpE,KAAIjnC,GAAGqa,KAAI3Z,IAAEkuG,GAAG,KAAK5C,GAAG1qE,KAAI,IAAI4uE,GAAGlwG,EAAEU,MAAM,IAAIyvG,KAAK,MAAM,MAAMlvG,GAAGmvG,GAAGpwG,EAAEiB,GAAYo+F,KAAKkP,GAAGpoE,QAAQplC,EAAE+e,GAAEngB,EAAE,OAAOwV,GAAEzU,EAAE,GAAGumC,GAAE,KAAK5sB,GAAE,EAAE3Z,EAAEE,IAAG,GAAG,IAAIF,EAAE,CAAyC,GAAxC,IAAIA,IAAY,KAARf,EAAE0+D,GAAGr+D,MAAWG,EAAER,EAAEe,EAAE2vG,GAAGrwG,EAAEL,KAAQ,IAAIe,EAAE,MAAML,EAAEmuG,GAAG0B,GAAGlwG,EAAE,GAAGovG,GAAGpvG,EAAEG,GAAGkvG,GAAGrvG,EAAEshC,MAAKjhC,EAAE,GAAG,IAAIK,EAAE0uG,GAAGpvG,EAAEG,OAChf,CAAuB,GAAtBR,EAAEK,EAAEmmC,QAAQ4hD,UAAa,KAAO,GAAF5nF,KAGnC,SAAYH,GAAG,IAAI,IAAIU,EAAEV,IAAI,CAAC,GAAW,MAARU,EAAEsnF,MAAY,CAAC,IAAI3nF,EAAEK,EAAE4/F,YAAY,GAAG,OAAOjgG,GAAe,QAAXA,EAAEA,EAAEulG,QAAiB,IAAI,IAAIzlG,EAAE,EAAEA,EAAEE,EAAEzF,OAAOuF,IAAI,CAAC,IAAIR,EAAEU,EAAEF,GAAGY,EAAEpB,EAAE6lG,YAAY7lG,EAAEA,EAAEhK,MAAM,IAAI,IAAI6/F,GAAGz0F,IAAIpB,GAAG,OAAM,EAAG,MAAM+f,GAAG,OAAM,IAAe,GAAVrf,EAAEK,EAAE4nF,MAAwB,MAAf5nF,EAAEqqG,cAAoB,OAAO1qG,EAAEA,EAAEyT,OAAOpT,EAAEA,EAAEL,MAAM,CAAC,GAAGK,IAAIV,EAAE,MAAM,KAAK,OAAOU,EAAE6nF,SAAS,CAAC,GAAG,OAAO7nF,EAAEoT,QAAQpT,EAAEoT,SAAS9T,EAAE,OAAM,EAAGU,EAAEA,EAAEoT,OAAOpT,EAAE6nF,QAAQz0E,OAAOpT,EAAEoT,OAAOpT,EAAEA,EAAE6nF,SAAS,OAAM,EAHrX+nB,CAAG3wG,KAAe,KAAVe,EAAEsvG,GAAGhwG,EAAEG,MAAmB,KAARY,EAAEs9D,GAAGr+D,MAAWG,EAAEY,EAAEL,EAAE2vG,GAAGrwG,EAAEe,KAAK,IAAIL,GAAG,MAAML,EAAEmuG,GAAG0B,GAAGlwG,EAAE,GAAGovG,GAAGpvG,EAAEG,GAAGkvG,GAAGrvG,EAAEshC,MAAKjhC,EAAqC,OAAnCL,EAAEuwG,aAAa5wG,EAAEK,EAAEwwG,cAAcrwG,EAASO,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM1J,MAAMsJ,EAAE,MAAM,KAAK,EAC8B,KAAK,EAAEmwG,GAAGzwG,EAAE2uG,GAAGC,IAAI,MAD7B,KAAK,EAAU,GAARQ,GAAGpvG,EAAEG,IAAS,UAAFA,KAAeA,GAAiB,IAAbO,EAAEmtG,GAAG,IAAIvsE,MAAU,CAAC,GAAG,IAAImW,GAAGz3C,EAAE,GAAG,MAAyB,KAAnBL,EAAEK,EAAEwqF,gBAAqBrqF,KAAKA,EAAE,CAACijB,KAAIpjB,EAAEyqF,aAAazqF,EAAEwqF,eAAe7qF,EAAE,MAAMK,EAAE0wG,cAAcnW,GAAGkW,GAAG5lF,KAAK,KAAK7qB,EAAE2uG,GAAGC,IAAIluG,GAAG,MAAM+vG,GAAGzwG,EAAE2uG,GAAGC,IAAI,MAAM,KAAK,EAAU,GAARQ,GAAGpvG,EAAEG,IAAS,QAAFA,KAC9eA,EAAE,MAAqB,IAAfO,EAAEV,EAAE8qF,WAAenrF,GAAG,EAAE,EAAEQ,GAAG,CAAC,IAAIuf,EAAE,GAAGuqE,GAAG9pF,GAAGY,EAAE,GAAG2e,GAAEA,EAAEhf,EAAEgf,IAAK/f,IAAIA,EAAE+f,GAAGvf,IAAIY,EAAsG,GAApGZ,EAAER,EAAqG,IAA3FQ,GAAG,KAAXA,EAAEmhC,KAAInhC,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKmuG,GAAGnuG,EAAE,OAAOA,GAAU,CAACH,EAAE0wG,cAAcnW,GAAGkW,GAAG5lF,KAAK,KAAK7qB,EAAE2uG,GAAGC,IAAIzuG,GAAG,MAAMswG,GAAGzwG,EAAE2uG,GAAGC,IAAI,MAA+B,QAAQ,MAAM53G,MAAMsJ,EAAE,QAAmB,OAAV+uG,GAAGrvG,EAAEshC,MAAYthC,EAAEsvG,eAAejvG,EAAEyvG,GAAGjlF,KAAK,KAAK7qB,GAAG,KACjX,SAASqwG,GAAGrwG,EAAEU,GAAG,IAAIL,EAAEquG,GAA2G,OAAxG1uG,EAAEmmC,QAAQ+hD,cAAcyE,eAAeujB,GAAGlwG,EAAEU,GAAGsnF,OAAO,KAAe,KAAVhoF,EAAEgwG,GAAGhwG,EAAEU,MAAWA,EAAEiuG,GAAGA,GAAGtuG,EAAE,OAAOK,GAAGirG,GAAGjrG,IAAWV,EAAE,SAAS2rG,GAAG3rG,GAAG,OAAO2uG,GAAGA,GAAG3uG,EAAE2uG,GAAGt0G,KAAKiE,MAAMqwG,GAAG3uG,GAE1L,SAASovG,GAAGpvG,EAAEU,GAAuD,IAApDA,IAAIwiB,GAAGxiB,IAAI+tG,GAAGzuG,EAAEwqF,gBAAgB9pF,EAAEV,EAAEyqF,cAAc/pF,EAAMV,EAAEA,EAAEuvG,gBAAgB,EAAE7uG,GAAG,CAAC,IAAIL,EAAE,GAAG4pF,GAAGvpF,GAAGP,EAAE,GAAGE,EAAEL,EAAEK,IAAI,EAAEK,IAAIP,GAAG,SAASyvG,GAAG5vG,GAAG,GAAG,KAAO,EAAF8f,IAAK,MAAM9oB,MAAMsJ,EAAE,MAAMyvG,KAAK,IAAIrvG,EAAE+2C,GAAGz3C,EAAE,GAAG,GAAG,KAAO,EAAFU,GAAK,OAAO2uG,GAAGrvG,EAAEshC,MAAK,KAAK,IAAIjhC,EAAE2vG,GAAGhwG,EAAEU,GAAG,GAAG,IAAIV,EAAEu/E,KAAK,IAAIl/E,EAAE,CAAC,IAAIF,EAAEk+D,GAAGr+D,GAAG,IAAIG,IAAIO,EAAEP,EAAEE,EAAEgwG,GAAGrwG,EAAEG,IAAI,GAAG,IAAIE,EAAE,MAAMA,EAAEmuG,GAAG0B,GAAGlwG,EAAE,GAAGovG,GAAGpvG,EAAEU,GAAG2uG,GAAGrvG,EAAEshC,MAAKjhC,EAAE,GAAG,IAAIA,EAAE,MAAMrJ,MAAMsJ,EAAE,MAAiF,OAA3EN,EAAEuwG,aAAavwG,EAAEmmC,QAAQ4hD,UAAU/nF,EAAEwwG,cAAc9vG,EAAE+vG,GAAGzwG,EAAE2uG,GAAGC,IAAIS,GAAGrvG,EAAEshC,MAAY,KACnd,SAASqvE,GAAG3wG,EAAEU,GAAG,IAAIL,EAAEyf,GAAEA,IAAG,EAAE,IAAI,OAAO9f,EAAEU,GAAb,QAA4B,KAAJof,GAAEzf,KAAU2rG,GAAG1qE,KAAI,IAAIq7D,IAAIG,OAAO,SAAS8T,GAAG5wG,GAAG,OAAO8uG,IAAI,IAAIA,GAAGvvB,KAAK,KAAO,EAAFz/D,KAAMiwF,KAAK,IAAIrvG,EAAEof,GAAEA,IAAG,EAAE,IAAIzf,EAAE4iB,GAAG82D,WAAW55E,EAAEa,GAAE,IAAI,GAAGiiB,GAAG82D,WAAW,KAAK/4E,GAAE,EAAEhB,EAAE,OAAOA,IAAvC,QAAmDgB,GAAEb,EAAE8iB,GAAG82D,WAAW15E,EAAM,KAAO,GAAXyf,GAAEpf,KAAao8F,MAAM,SAASmP,KAAK5C,GAAGD,GAAGjjE,QAAQlkC,GAAEmnG,IAC7S,SAAS8G,GAAGlwG,EAAEU,GAAGV,EAAEuwG,aAAa,KAAKvwG,EAAEwwG,cAAc,EAAE,IAAInwG,EAAEL,EAAE0wG,cAAiD,IAAlC,IAAIrwG,IAAIL,EAAE0wG,eAAe,EAAElW,GAAGn6F,IAAO,OAAO8U,GAAE,IAAI9U,EAAE8U,GAAErB,OAAO,OAAOzT,GAAG,CAAC,IAAIF,EAAEE,EAAQ,OAANs9F,GAAGx9F,GAAUA,EAAEo/E,KAAK,KAAK,EAA6B,QAA3Bp/E,EAAEA,EAAEvI,KAAKskG,yBAA4B,IAAS/7F,GAAGg8F,KAAK,MAAM,KAAK,EAAEkH,KAAKphG,GAAE05F,IAAI15F,GAAEspC,IAAGo4D,KAAK,MAAM,KAAK,EAAEJ,GAAGpjG,GAAG,MAAM,KAAK,EAAEkjG,KAAK,MAAM,KAAK,GAAc,KAAK,GAAGphG,GAAEqY,IAAG,MAAM,KAAK,GAAGglF,GAAGn/F,EAAEvI,KAAKwjF,UAAU,MAAM,KAAK,GAAG,KAAK,GAAG6wB,KAAK5rG,EAAEA,EAAEyT,OAA2E,GAApEmzB,GAAEjnC,EAAEmV,GAAEnV,EAAEohB,GAAGphB,EAAEmmC,QAAQ,MAAM9rB,GAAEgvF,GAAG3oG,EAAEE,GAAE,EAAE4tG,GAAG,KAAKtrF,GAAGurF,GAAGzuF,GAAG,EAAE2uF,GAAGD,GAAG,KAAQ,OAAO1O,GAAG,CAAC,IAAIt/F,EAC1f,EAAEA,EAAEs/F,GAAGplG,OAAO8F,IAAI,GAA2B,QAAhBP,GAARE,EAAE2/F,GAAGt/F,IAAOy/F,aAAqB,CAAC9/F,EAAE8/F,YAAY,KAAK,IAAIxgG,EAAEQ,EAAExG,KAAKoH,EAAEV,EAAEsgG,QAAQ,GAAG,OAAO5/F,EAAE,CAAC,IAAI2e,EAAE3e,EAAEpH,KAAKoH,EAAEpH,KAAKgG,EAAEQ,EAAExG,KAAK+lB,EAAErf,EAAEsgG,QAAQxgG,EAAE6/F,GAAG,KAAK,OAAOhgG,EAC1K,SAASowG,GAAGpwG,EAAEU,GAAG,OAAE,CAAC,IAAIL,EAAE8U,GAAE,IAAuB,GAAnBkqF,KAAKwE,GAAG19D,QAAQs+D,GAAMT,GAAG,CAAC,IAAI,IAAI7jG,EAAE8tB,GAAEi6D,cAAc,OAAO/nF,GAAG,CAAC,IAAIR,EAAEQ,EAAE0oB,MAAM,OAAOlpB,IAAIA,EAAEghG,QAAQ,MAAMxgG,EAAEA,EAAExG,KAAKqqG,IAAG,EAA8C,GAA3CD,GAAG,EAAE58D,GAAEjZ,GAAED,GAAE,KAAKg2E,IAAG,EAAGC,GAAG,EAAErzD,GAAG1K,QAAQ,KAAQ,OAAO9lC,GAAG,OAAOA,EAAEyT,OAAO,CAAClT,GAAE,EAAE4tG,GAAG9tG,EAAEyU,GAAE,KAAK,MAAMnV,EAAE,CAAC,IAAIe,EAAEf,EAAE0f,EAAErf,EAAEyT,OAAO7S,EAAEZ,EAAEuV,EAAElV,EAAqB,GAAnBA,EAAE2Z,GAAEpZ,EAAE+mF,OAAO,MAAS,OAAOpyE,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAE1c,KAAK,CAAC,IAAIqH,EAAEqV,EAAEpV,EAAES,EAAEN,EAAEH,EAAE++E,IAAI,GAAG,KAAY,EAAP/+E,EAAEggC,QAAU,IAAI7/B,GAAG,KAAKA,GAAG,KAAKA,GAAG,CAAC,IAAIb,EAAEU,EAAEunF,UAAUjoF,GAAGU,EAAE8/F,YAAYxgG,EAAEwgG,YAAY9/F,EAAE0nF,cAAcpoF,EAAEooF,cACxe1nF,EAAEo/F,MAAM9/F,EAAE8/F,QAAQp/F,EAAE8/F,YAAY,KAAK9/F,EAAE0nF,cAAc,MAAM,IAAI7mF,EAAEinG,GAAG5oF,GAAG,GAAG,OAAOre,EAAE,CAACA,EAAE2mF,QAAQ,IAAIugB,GAAGlnG,EAAEqe,EAAEze,EAAEF,EAAEL,GAAU,EAAPW,EAAEm/B,MAAQ2nE,GAAGpnG,EAAER,EAAEG,GAAOkV,EAAErV,EAAE,IAAIL,GAAZQ,EAAEW,GAAci/F,YAAY,GAAG,OAAOpgG,EAAE,CAAC,IAAIL,EAAE,IAAI68E,IAAI78E,EAAE2iB,IAAI5M,GAAGlV,EAAE4/F,YAAYzgG,OAAOK,EAAEsiB,IAAI5M,GAAG,MAAM5V,EAAO,GAAG,KAAO,EAAFU,GAAK,CAACynG,GAAGpnG,EAAER,EAAEG,GAAGiqG,KAAK,MAAM3qG,EAAE4V,EAAE5e,MAAMsJ,EAAE,WAAY,GAAGY,IAAU,EAAPD,EAAEu/B,KAAO,CAAC,IAAI6zB,EAAEi0C,GAAG5oF,GAAG,GAAG,OAAO20C,EAAE,CAAC,KAAa,MAARA,EAAE2zB,SAAe3zB,EAAE2zB,OAAO,KAAKugB,GAAGl0C,EAAE30C,EAAEze,EAAEF,EAAEL,GAAGo+F,GAAGwI,GAAG1xF,EAAE3U,IAAI,MAAMjB,GAAGe,EAAE6U,EAAE0xF,GAAG1xF,EAAE3U,GAAG,IAAIL,KAAIA,GAAE,GAAG,OAAO8tG,GAAGA,GAAG,CAAC3tG,GAAG2tG,GAAGr0G,KAAK0G,GAAGA,EAAE2e,EAAE,EAAE,CAAC,OAAO3e,EAAEw+E,KAAK,KAAK,EAAEx+E,EAAEinF,OAAO,MACpftnF,IAAIA,EAAEK,EAAE6+F,OAAOl/F,EAAkBu0E,GAAGl0E,EAAb4mG,GAAG5mG,EAAE6U,EAAElV,IAAW,MAAMV,EAAE,KAAK,EAAEiB,EAAE2U,EAAE,IAAI4f,EAAEz0B,EAAEnJ,KAAKwI,EAAEW,EAAE4lF,UAAU,GAAG,KAAa,IAAR5lF,EAAEinF,SAAa,oBAAoBxyD,EAAEuyE,0BAA0B,OAAO3nG,GAAG,oBAAoBA,EAAE4nG,oBAAoB,OAAOC,KAAKA,GAAGz2E,IAAIpxB,KAAK,CAACW,EAAEinF,OAAO,MAAMtnF,IAAIA,EAAEK,EAAE6+F,OAAOl/F,EAAkBu0E,GAAGl0E,EAAb+mG,GAAG/mG,EAAEE,EAAEP,IAAW,MAAMV,GAAGe,EAAEA,EAAE+S,aAAa,OAAO/S,GAAG8vG,GAAGxwG,GAAG,MAAMm5F,GAAI94F,EAAE84F,EAAGrkF,KAAI9U,GAAG,OAAOA,IAAI8U,GAAE9U,EAAEA,EAAEyT,QAAQ,SAAS,OAAe,SAASm8F,KAAK,IAAIjwG,EAAEuuG,GAAGpoE,QAAsB,OAAdooE,GAAGpoE,QAAQs+D,GAAU,OAAOzkG,EAAEykG,GAAGzkG,EACpd,SAAS2qG,KAAQ,IAAI/pG,IAAG,IAAIA,IAAG,IAAIA,KAAEA,GAAE,GAAE,OAAOqmC,IAAG,KAAQ,UAAHjnB,KAAe,KAAQ,UAAHyuF,KAAeW,GAAGnoE,GAAE5sB,IAAG,SAAS21F,GAAGhwG,EAAEU,GAAG,IAAIL,EAAEyf,GAAEA,IAAG,EAAE,IAAI3f,EAAE8vG,KAAqC,IAA7BhpE,KAAIjnC,GAAGqa,KAAI3Z,IAAEkuG,GAAG,KAAKsB,GAAGlwG,EAAEU,MAAM,IAAIowG,KAAK,MAAM,MAAMnxG,GAAGywG,GAAGpwG,EAAEL,GAAkC,GAAtB0/F,KAAKv/E,GAAEzf,EAAEkuG,GAAGpoE,QAAQhmC,EAAK,OAAOgV,GAAE,MAAMne,MAAMsJ,EAAE,MAAiB,OAAX2mC,GAAE,KAAK5sB,GAAE,EAASzZ,GAAE,SAASkwG,KAAK,KAAK,OAAO37F,IAAG47F,GAAG57F,IAAG,SAASg7F,KAAK,KAAK,OAAOh7F,KAAI2zE,MAAMioB,GAAG57F,IAAG,SAAS47F,GAAG/wG,GAAG,IAAIU,EAAE2tG,GAAGruG,EAAE+nF,UAAU/nF,EAAEqpG,IAAIrpG,EAAE2+F,cAAc3+F,EAAEo+F,aAAa,OAAO19F,EAAEmwG,GAAG7wG,GAAGmV,GAAEzU,EAAEmwC,GAAG1K,QAAQ,KACtd,SAAS0qE,GAAG7wG,GAAG,IAAIU,EAAEV,EAAE,EAAE,CAAC,IAAIK,EAAEK,EAAEqnF,UAAqB,GAAX/nF,EAAEU,EAAEoT,OAAU,KAAa,MAARpT,EAAEsnF,QAAc,GAAgB,QAAb3nF,EAAEqrG,GAAGrrG,EAAEK,EAAE2oG,KAAkB,YAAJl0F,GAAE9U,OAAc,CAAW,GAAG,QAAbA,EAAE6rG,GAAG7rG,EAAEK,IAAmC,OAAnBL,EAAE2nF,OAAO,WAAM7yE,GAAE9U,GAAS,GAAG,OAAOL,EAAmE,OAAXY,GAAE,OAAEuU,GAAE,MAA5DnV,EAAEgoF,OAAO,MAAMhoF,EAAE+qG,aAAa,EAAE/qG,EAAEk+F,UAAU,KAAyC,GAAG,QAAfx9F,EAAEA,EAAE6nF,SAAyB,YAAJpzE,GAAEzU,GAASyU,GAAEzU,EAAEV,QAAQ,OAAOU,GAAG,IAAIE,KAAIA,GAAE,GAAG,SAAS6vG,GAAGzwG,EAAEU,EAAEL,GAAG,IAAIF,EAAEa,GAAErB,EAAEsjB,GAAG82D,WAAW,IAAI92D,GAAG82D,WAAW,KAAK/4E,GAAE,EAC3Y,SAAYhB,EAAEU,EAAEL,EAAEF,GAAG,GAAG4vG,WAAW,OAAOjB,IAAI,GAAG,KAAO,EAAFhvF,IAAK,MAAM9oB,MAAMsJ,EAAE,MAAMD,EAAEL,EAAEuwG,aAAa,IAAI5wG,EAAEK,EAAEwwG,cAAc,GAAG,OAAOnwG,EAAE,OAAO,KAA2C,GAAtCL,EAAEuwG,aAAa,KAAKvwG,EAAEwwG,cAAc,EAAKnwG,IAAIL,EAAEmmC,QAAQ,MAAMnvC,MAAMsJ,EAAE,MAAMN,EAAEsvG,aAAa,KAAKtvG,EAAE0vG,iBAAiB,EAAE,IAAI3uG,EAAEV,EAAEu/F,MAAMv/F,EAAEm/F,WAA8J,GA1NtT,SAAYx/F,EAAEU,GAAG,IAAIL,EAAEL,EAAEuqF,cAAc7pF,EAAEV,EAAEuqF,aAAa7pF,EAAEV,EAAEwqF,eAAe,EAAExqF,EAAEyqF,YAAY,EAAEzqF,EAAEwvG,cAAc9uG,EAAEV,EAAEgxG,kBAAkBtwG,EAAEV,EAAE0qF,gBAAgBhqF,EAAEA,EAAEV,EAAE2qF,cAAc,IAAIxqF,EAAEH,EAAE8qF,WAAW,IAAI9qF,EAAEA,EAAEuvG,gBAAgB,EAAElvG,GAAG,CAAC,IAAIV,EAAE,GAAGsqF,GAAG5pF,GAAGU,EAAE,GAAGpB,EAAEe,EAAEf,GAAG,EAAEQ,EAAER,IAAI,EAAEK,EAAEL,IAAI,EAAEU,IAAIU,GA0N1GkwG,CAAGjxG,EAAEe,GAAGf,IAAIinC,KAAI9xB,GAAE8xB,GAAE,KAAK5sB,GAAE,GAAG,KAAoB,KAAfha,EAAE0qG,eAAoB,KAAa,KAAR1qG,EAAE2nF,QAAa6mB,KAAKA,IAAG,EAAGgB,GAAGpmB,IAAG,WAAgB,OAALsmB,KAAY,SAAQhvG,EAAE,KAAa,MAARV,EAAE2nF,OAAgB,KAAoB,MAAf3nF,EAAE0qG,eAAqBhqG,EAAE,CAACA,EAAEkiB,GAAG82D,WAAW92D,GAAG82D,WAAW,KAChf,IAAIr6D,EAAE1e,GAAEA,GAAE,EAAE,IAAIC,EAAE6e,GAAEA,IAAG,EAAE+wB,GAAG1K,QAAQ,KA1CpC,SAAYnmC,EAAEU,GAAgB,GAAby5F,GAAG9M,GAAa32B,GAAV12D,EAAEk2D,MAAc,CAAC,GAAG,mBAAmBl2D,EAAE,IAAIK,EAAE,CAACqI,MAAM1I,EAAE0nC,eAAe/+B,IAAI3I,EAAE4nC,mBAAmB5nC,EAAE,CAA8C,IAAIG,GAAjDE,GAAGA,EAAEL,EAAEghF,gBAAgB3gF,EAAE+1F,aAAaluE,QAAemuE,cAAch2F,EAAEg2F,eAAe,GAAGl2F,GAAG,IAAIA,EAAEo2F,WAAW,CAACl2F,EAAEF,EAAEq2F,WAAW,IAAI72F,EAAEQ,EAAEs2F,aAAa11F,EAAEZ,EAAEu2F,UAAUv2F,EAAEA,EAAEw2F,YAAY,IAAIt2F,EAAE+hF,SAASrhF,EAAEqhF,SAAS,MAAMvvE,GAAGxS,EAAE,KAAK,MAAML,EAAE,IAAI0f,EAAE,EAAEze,GAAG,EAAE2U,GAAG,EAAErV,EAAE,EAAEC,EAAE,EAAEG,EAAEX,EAAEF,EAAE,KAAKY,EAAE,OAAO,CAAC,IAAI,IAAIW,EAAKV,IAAIN,GAAG,IAAIV,GAAG,IAAIgB,EAAEyhF,WAAWnhF,EAAEye,EAAE/f,GAAGgB,IAAII,GAAG,IAAIZ,GAAG,IAAIQ,EAAEyhF,WAAWxsE,EAAE8J,EAAEvf,GAAG,IAAIQ,EAAEyhF,WAAW1iE,GACnf/e,EAAE0hF,UAAUznF,QAAW,QAAQyG,EAAEV,EAAE81E,aAAkB32E,EAAEa,EAAEA,EAAEU,EAAE,OAAO,CAAC,GAAGV,IAAIX,EAAE,MAAMU,EAA8C,GAA5CZ,IAAIO,KAAKE,IAAIZ,IAAIsB,EAAEye,GAAG5f,IAAIiB,KAAKP,IAAIL,IAAIyV,EAAE8J,GAAM,QAAQre,EAAEV,EAAEi1F,aAAa,MAAU91F,GAAJa,EAAEb,GAAMqpE,WAAWxoE,EAAEU,EAAEhB,GAAG,IAAIY,IAAI,IAAI2U,EAAE,KAAK,CAAClN,MAAMzH,EAAE0H,IAAIiN,QAAQvV,EAAE,KAAKA,EAAEA,GAAG,CAACqI,MAAM,EAAEC,IAAI,QAAQtI,EAAE,KAA+C,IAA1C+5F,GAAG,CAAClE,YAAYl2F,EAAEm2F,eAAe91F,GAAGgtF,IAAG,EAAOhmD,GAAE3mC,EAAE,OAAO2mC,IAAG,GAAOrnC,GAAJU,EAAE2mC,IAAMihD,MAAM,KAAoB,KAAf5nF,EAAEqqG,eAAoB,OAAO/qG,EAAEA,EAAE8T,OAAOpT,EAAE2mC,GAAErnC,OAAO,KAAK,OAAOqnC,IAAG,CAAC3mC,EAAE2mC,GAAE,IAAI,IAAInnC,EAAEQ,EAAEqnF,UAAU,GAAG,KAAa,KAARrnF,EAAEsnF,OAAY,OAAOtnF,EAAE6+E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GACvK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAA3W,KAAK,EAAE,GAAG,OAAOr/E,EAAE,CAAC,IAAIL,EAAEK,EAAEy+F,cAActqC,EAAEn0D,EAAEgoF,cAAcznF,EAAEC,EAAEimF,UAAUnxD,EAAE/0B,EAAEshG,wBAAwBrhG,EAAEu9F,cAAcv9F,EAAE9I,KAAKiI,EAAEm/F,GAAGt+F,EAAE9I,KAAKiI,GAAGw0D,GAAG5zD,EAAE2tG,oCAAoC54E,EAAE,MAAM,KAAK,EAAE,IAAIp1B,EAAEM,EAAEimF,UAAUiG,cAAc,IAAIxsF,EAAEgiF,SAAShiF,EAAEi3E,YAAY,GAAG,IAAIj3E,EAAEgiF,UAAUhiF,EAAEk2D,iBAAiBl2D,EAAE2hF,YAAY3hF,EAAEk2D,iBAAiB,MAAyC,QAAQ,MAAMt/D,MAAMsJ,EAAE,OAAQ,MAAMuS,GAAG44B,GAAE/qC,EAAEA,EAAEoT,OAAOjB,GAAe,GAAG,QAAf7S,EAAEU,EAAE6nF,SAAoB,CAACvoF,EAAE8T,OAAOpT,EAAEoT,OAAOuzB,GAAErnC,EAAE,MAAMqnC,GAAE3mC,EAAEoT,OAAO5T,EAAEssG,GAAGA,IAAG,EAwCvc0E,CAAGlxG,EAAEK,GAAGqtG,GAAGrtG,EAAEL,GAAG41D,GAAGwkC,IAAI/M,KAAK8M,GAAGC,GAAGD,GAAG,KAAKn6F,EAAEmmC,QAAQ9lC,EAAE2tG,GAAG3tG,EAAEL,EAAEL,GAAGqpF,KAAKlpE,GAAE7e,EAAED,GAAE0e,EAAEuD,GAAG82D,WAAWh5E,OAAOf,EAAEmmC,QAAQ9lC,EAAsF,GAApFwuG,KAAKA,IAAG,EAAGC,GAAG9uG,EAAE+uG,GAAGpvG,GAAoB,KAAjBoB,EAAEf,EAAEuqF,gBAAqB0d,GAAG,MAjOmJ,SAAYjoG,GAAG,GAAGgqF,IAAI,oBAAoBA,GAAGmnB,kBAAkB,IAAInnB,GAAGmnB,kBAAkBpnB,GAAG/pF,OAAE,EAAO,OAAuB,IAAhBA,EAAEmmC,QAAQ6hD,QAAY,MAAMtnF,KAiOpR0wG,CAAG/wG,EAAEsmF,WAAa0oB,GAAGrvG,EAAEshC,MAAQ,OAAO5gC,EAAE,IAAIP,EAAEH,EAAEqxG,mBAAmBhxG,EAAE,EAAEA,EAAEK,EAAE9F,OAAOyF,IAAWF,GAAPR,EAAEe,EAAEL,IAAO1K,MAAM,CAACuyG,eAAevoG,EAAEwxC,MAAM+N,OAAOv/C,EAAEu/C,SAAS,GAAG0oD,GAAG,MAAMA,IAAG,EAAG5nG,EAAE6nG,GAAGA,GAAG,KAAK7nG,EAAE,KAAQ,EAAH+uG,KAAO,IAAI/uG,EAAEu/E,KAAKwwB,KAAsB,KAAO,GAAxBhvG,EAAEf,EAAEuqF,eAAuBvqF,IAAIivG,GAAGD,MAAMA,GAAG,EAAEC,GAAGjvG,GAAGgvG,GAAG,EAAElS,KAFxEwU,CAAGtxG,EAAEU,EAAEL,EAAEF,GAApC,QAA+C8iB,GAAG82D,WAAWp6E,EAAEqB,GAAEb,EAAE,OAAO,KAG5b,SAAS4vG,KAAK,GAAG,OAAOjB,GAAG,CAAC,IAAI9uG,EAAEgrF,GAAG+jB,IAAIruG,EAAEuiB,GAAG82D,WAAW15E,EAAEW,GAAE,IAAmC,GAA/BiiB,GAAG82D,WAAW,KAAK/4E,GAAE,GAAGhB,EAAE,GAAGA,EAAK,OAAO8uG,GAAG,IAAI3uG,GAAE,MAAO,CAAmB,GAAlBH,EAAE8uG,GAAGA,GAAG,KAAKC,GAAG,EAAK,KAAO,EAAFjvF,IAAK,MAAM9oB,MAAMsJ,EAAE,MAAM,IAAIX,EAAEmgB,GAAO,IAALA,IAAG,EAAMunB,GAAErnC,EAAEmmC,QAAQ,OAAOkB,IAAG,CAAC,IAAItmC,EAAEsmC,GAAE3nB,EAAE3e,EAAEunF,MAAM,GAAG,KAAa,GAARjhD,GAAE2gD,OAAU,CAAC,IAAI/mF,EAAEF,EAAEm9F,UAAU,GAAG,OAAOj9F,EAAE,CAAC,IAAI,IAAI2U,EAAE,EAAEA,EAAE3U,EAAErG,OAAOgb,IAAI,CAAC,IAAIrV,EAAEU,EAAE2U,GAAG,IAAIyxB,GAAE9mC,EAAE,OAAO8mC,IAAG,CAAC,IAAI7mC,EAAE6mC,GAAE,OAAO7mC,EAAE++E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGktB,GAAG,EAAEjsG,EAAEO,GAAG,IAAIJ,EAAEH,EAAE8nF,MAAM,GAAG,OAAO3nF,EAAEA,EAAEmT,OAAOtT,EAAE6mC,GAAE1mC,OAAO,KAAK,OAAO0mC,IAAG,CAAK,IAAIvnC,GAARU,EAAE6mC,IAAUkhD,QAAQlnF,EAAEb,EAAEsT,OAAa,GAAN84F,GAAGpsG,GAAMA,IACnfD,EAAE,CAAC8mC,GAAE,KAAK,MAAM,GAAG,OAAOvnC,EAAE,CAACA,EAAEgU,OAAOzS,EAAEgmC,GAAEvnC,EAAE,MAAMunC,GAAEhmC,IAAI,IAAInB,EAAEa,EAAEgnF,UAAU,GAAG,OAAO7nF,EAAE,CAAC,IAAIL,EAAEK,EAAEooF,MAAM,GAAG,OAAOzoF,EAAE,CAACK,EAAEooF,MAAM,KAAK,EAAE,CAAC,IAAIj0B,EAAEx0D,EAAE0oF,QAAQ1oF,EAAE0oF,QAAQ,KAAK1oF,EAAEw0D,QAAQ,OAAOx0D,IAAIwnC,GAAEtmC,GAAG,GAAG,KAAoB,KAAfA,EAAEgqG,eAAoB,OAAOrrF,EAAEA,EAAE5L,OAAO/S,EAAEsmC,GAAE3nB,OAAOhf,EAAE,KAAK,OAAO2mC,IAAG,CAAK,GAAG,KAAa,MAApBtmC,EAAEsmC,IAAY2gD,OAAY,OAAOjnF,EAAEw+E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGktB,GAAG,EAAE1rG,EAAEA,EAAE+S,QAAQ,IAAIrT,EAAEM,EAAEwnF,QAAQ,GAAG,OAAO9nF,EAAE,CAACA,EAAEqT,OAAO/S,EAAE+S,OAAOuzB,GAAE5mC,EAAE,MAAMC,EAAE2mC,GAAEtmC,EAAE+S,QAAQ,IAAI0hB,EAAEx1B,EAAEmmC,QAAQ,IAAIkB,GAAE7R,EAAE,OAAO6R,IAAG,CAAK,IAAIjnC,GAARsf,EAAE2nB,IAAUihD,MAAM,GAAG,KAAoB,KAAf5oE,EAAEqrF,eAAoB,OAClf3qG,EAAEA,EAAE0T,OAAO4L,EAAE2nB,GAAEjnC,OAAOM,EAAE,IAAIgf,EAAE8V,EAAE,OAAO6R,IAAG,CAAK,GAAG,KAAa,MAApBpmC,EAAEomC,IAAY2gD,OAAY,IAAI,OAAO/mF,EAAEs+E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGmtB,GAAG,EAAEzrG,IAAI,MAAMu4F,GAAI/tD,GAAExqC,EAAEA,EAAE6S,OAAO0lF,GAAI,GAAGv4F,IAAIye,EAAE,CAAC2nB,GAAE,KAAK,MAAM3mC,EAAE,IAAImS,EAAE5R,EAAEsnF,QAAQ,GAAG,OAAO11E,EAAE,CAACA,EAAEiB,OAAO7S,EAAE6S,OAAOuzB,GAAEx0B,EAAE,MAAMnS,EAAE2mC,GAAEpmC,EAAE6S,QAAiB,GAATgM,GAAEngB,EAAEm9F,KAAQ9S,IAAI,oBAAoBA,GAAGunB,sBAAsB,IAAIvnB,GAAGunB,sBAAsBxnB,GAAG/pF,GAAG,MAAMw5F,IAAKr5F,GAAE,EAAG,OAAOA,EAF5S,QAEsTa,GAAEX,EAAE4iB,GAAG82D,WAAWr5E,GAAG,OAAM,EAAG,SAAS8wG,GAAGxxG,EAAEU,EAAEL,GAAyBL,EAAE80E,GAAG90E,EAAjBU,EAAEinG,GAAG3nG,EAAfU,EAAE4mG,GAAGjnG,EAAEK,GAAY,GAAY,GAAGA,EAAE0iB,KAAI,OAAOpjB,IAAI6qF,GAAG7qF,EAAE,EAAEU,GAAG2uG,GAAGrvG,EAAEU,IACte,SAAS+qC,GAAEzrC,EAAEU,EAAEL,GAAG,GAAG,IAAIL,EAAEu/E,IAAIiyB,GAAGxxG,EAAEA,EAAEK,QAAQ,KAAK,OAAOK,GAAG,CAAC,GAAG,IAAIA,EAAE6+E,IAAI,CAACiyB,GAAG9wG,EAAEV,EAAEK,GAAG,MAAW,GAAG,IAAIK,EAAE6+E,IAAI,CAAC,IAAIp/E,EAAEO,EAAEimF,UAAU,GAAG,oBAAoBjmF,EAAE9I,KAAKmwG,0BAA0B,oBAAoB5nG,EAAE6nG,oBAAoB,OAAOC,KAAKA,GAAGz2E,IAAIrxB,IAAI,CAAuBO,EAAEo0E,GAAGp0E,EAAjBV,EAAE8nG,GAAGpnG,EAAfV,EAAEsnG,GAAGjnG,EAAEL,GAAY,GAAY,GAAGA,EAAEojB,KAAI,OAAO1iB,IAAImqF,GAAGnqF,EAAE,EAAEV,GAAGqvG,GAAG3uG,EAAEV,IAAI,OAAOU,EAAEA,EAAEoT,QAC5U,SAASu0F,GAAGroG,EAAEU,EAAEL,GAAG,IAAIF,EAAEH,EAAEooG,UAAU,OAAOjoG,GAAGA,EAAE6rF,OAAOtrF,GAAGA,EAAE0iB,KAAIpjB,EAAEyqF,aAAazqF,EAAEwqF,eAAenqF,EAAE4mC,KAAIjnC,IAAIqa,GAAEha,KAAKA,IAAI,IAAIO,IAAG,IAAIA,KAAM,UAAFyZ,MAAeA,IAAG,IAAIinB,KAAIusE,GAAGqC,GAAGlwG,EAAE,GAAGkjB,IAAI7iB,GAAGgvG,GAAGrvG,EAAEU,GAAG,SAAS+wG,GAAGzxG,EAAEU,GAAG,IAAIA,IAAI,KAAY,EAAPV,EAAEwgC,MAAQ9/B,EAAE,GAAGA,EAAE2pF,GAAU,KAAQ,WAAfA,KAAK,MAAuBA,GAAG,WAAW,IAAIhqF,EAAE+iB,KAAc,QAAVpjB,EAAEogG,GAAGpgG,EAAEU,MAAcmqF,GAAG7qF,EAAEU,EAAEL,GAAGgvG,GAAGrvG,EAAEK,IAAI,SAASuqG,GAAG5qG,GAAG,IAAIU,EAAEV,EAAEkoF,cAAc7nF,EAAE,EAAE,OAAOK,IAAIL,EAAEK,EAAE49F,WAAWmT,GAAGzxG,EAAEK,GAC/Y,SAASmtG,GAAGxtG,EAAEU,GAAG,IAAIL,EAAE,EAAE,OAAOL,EAAEu/E,KAAK,KAAK,GAAG,IAAIp/E,EAAEH,EAAE2mF,UAAchnF,EAAEK,EAAEkoF,cAAc,OAAOvoF,IAAIU,EAAEV,EAAE2+F,WAAW,MAAM,KAAK,GAAGn+F,EAAEH,EAAE2mF,UAAU,MAAM,QAAQ,MAAM3vF,MAAMsJ,EAAE,MAAO,OAAOH,GAAGA,EAAE6rF,OAAOtrF,GAAG+wG,GAAGzxG,EAAEK,GAQuK,SAASwvG,GAAG7vG,EAAEU,GAAG,OAAOgoF,GAAG1oF,EAAEU,GAC/Y,SAAS+zE,GAAGz0E,EAAEU,EAAEL,EAAEF,GAAGhI,KAAKonF,IAAIv/E,EAAE7H,KAAKzC,IAAI2K,EAAElI,KAAKowF,QAAQpwF,KAAKmwF,MAAMnwF,KAAK2b,OAAO3b,KAAKwuF,UAAUxuF,KAAKP,KAAKO,KAAK8lG,YAAY,KAAK9lG,KAAKiK,MAAM,EAAEjK,KAAK4J,IAAI,KAAK5J,KAAKimG,aAAa19F,EAAEvI,KAAKunG,aAAavnG,KAAK+vF,cAAc/vF,KAAKmoG,YAAYnoG,KAAKwmG,cAAc,KAAKxmG,KAAKqoC,KAAKrgC,EAAEhI,KAAK4yG,aAAa5yG,KAAK6vF,MAAM,EAAE7vF,KAAK+lG,UAAU,KAAK/lG,KAAKqnG,WAAWrnG,KAAKynG,MAAM,EAAEznG,KAAK4vF,UAAU,KAAK,SAASiW,GAAGh+F,EAAEU,EAAEL,EAAEF,GAAG,OAAO,IAAIs0E,GAAGz0E,EAAEU,EAAEL,EAAEF,GAAG,SAAS0oG,GAAG7oG,GAAiB,UAAdA,EAAEA,EAAEnL,aAAuBmL,EAAEm5E,kBAEnc,SAAS/3D,GAAGphB,EAAEU,GAAG,IAAIL,EAAEL,EAAE+nF,UACuB,OADb,OAAO1nF,IAAGA,EAAE29F,GAAGh+F,EAAEu/E,IAAI7+E,EAAEV,EAAEtK,IAAIsK,EAAEwgC,OAAQy9D,YAAYj+F,EAAEi+F,YAAY59F,EAAEzI,KAAKoI,EAAEpI,KAAKyI,EAAEsmF,UAAU3mF,EAAE2mF,UAAUtmF,EAAE0nF,UAAU/nF,EAAEA,EAAE+nF,UAAU1nF,IAAIA,EAAE+9F,aAAa19F,EAAEL,EAAEzI,KAAKoI,EAAEpI,KAAKyI,EAAE2nF,MAAM,EAAE3nF,EAAE0qG,aAAa,EAAE1qG,EAAE69F,UAAU,MAAM79F,EAAE2nF,MAAc,SAARhoF,EAAEgoF,MAAe3nF,EAAEm/F,WAAWx/F,EAAEw/F,WAAWn/F,EAAEu/F,MAAM5/F,EAAE4/F,MAAMv/F,EAAEioF,MAAMtoF,EAAEsoF,MAAMjoF,EAAEs+F,cAAc3+F,EAAE2+F,cAAct+F,EAAE6nF,cAAcloF,EAAEkoF,cAAc7nF,EAAEigG,YAAYtgG,EAAEsgG,YAAY5/F,EAAEV,EAAE0/F,aAAar/F,EAAEq/F,aAAa,OAAOh/F,EAAE,KAAK,CAACk/F,MAAMl/F,EAAEk/F,MAAMD,aAAaj/F,EAAEi/F,cAC/et/F,EAAEkoF,QAAQvoF,EAAEuoF,QAAQloF,EAAE+B,MAAMpC,EAAEoC,MAAM/B,EAAE0B,IAAI/B,EAAE+B,IAAW1B,EACvD,SAASmiG,GAAGxiG,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,GAAG,IAAI2e,EAAE,EAAM,GAAJvf,EAAEH,EAAK,oBAAoBA,EAAE6oG,GAAG7oG,KAAK0f,EAAE,QAAQ,GAAG,kBAAkB1f,EAAE0f,EAAE,OAAO1f,EAAE,OAAOA,GAAG,KAAKo+E,EAAG,OAAOukB,GAAGtiG,EAAEqE,SAAS/E,EAAEoB,EAAEL,GAAG,KAAK29E,EAAG3+D,EAAE,EAAE/f,GAAG,EAAE,MAAM,KAAK2+E,EAAG,OAAOt+E,EAAEg+F,GAAG,GAAG39F,EAAEK,EAAI,EAAFf,IAAOs+F,YAAY3f,EAAGt+E,EAAE4/F,MAAM7+F,EAAEf,EAAE,KAAK0+E,EAAG,OAAO1+E,EAAEg+F,GAAG,GAAG39F,EAAEK,EAAEf,IAAKs+F,YAAYvf,EAAG1+E,EAAE4/F,MAAM7+F,EAAEf,EAAE,KAAK2+E,EAAG,OAAO3+E,EAAEg+F,GAAG,GAAG39F,EAAEK,EAAEf,IAAKs+F,YAAYtf,EAAG3+E,EAAE4/F,MAAM7+F,EAAEf,EAAE,KAAK8+E,EAAG,OAAOn+C,GAAGtgC,EAAEV,EAAEoB,EAAEL,GAAG,QAAQ,GAAG,kBAAkBV,GAAG,OAAOA,EAAE,OAAOA,EAAE05E,UAAU,KAAK6E,EAAG7+D,EAAE,GAAG,MAAM1f,EAAE,KAAKw+E,EAAG9+D,EAAE,EAAE,MAAM1f,EAAE,KAAKy+E,EAAG/+D,EAAE,GACpf,MAAM1f,EAAE,KAAK4+E,EAAGl/D,EAAE,GAAG,MAAM1f,EAAE,KAAK6+E,EAAGn/D,EAAE,GAAGvf,EAAE,KAAK,MAAMH,EAAE,MAAMhJ,MAAMsJ,EAAE,IAAI,MAAMN,EAAEA,SAASA,EAAE,KAAuD,OAAjDU,EAAEs9F,GAAGt+E,EAAErf,EAAEK,EAAEf,IAAKs+F,YAAYj+F,EAAEU,EAAE9I,KAAKuI,EAAEO,EAAEk/F,MAAM7+F,EAASL,EAAE,SAASiiG,GAAG3iG,EAAEU,EAAEL,EAAEF,GAA2B,OAAxBH,EAAEg+F,GAAG,EAAEh+F,EAAEG,EAAEO,IAAKk/F,MAAMv/F,EAASL,EAAE,SAAS2gC,GAAG3gC,EAAEU,EAAEL,EAAEF,GAAuE,OAApEH,EAAEg+F,GAAG,GAAGh+F,EAAEG,EAAEO,IAAKu9F,YAAYnf,EAAG9+E,EAAE4/F,MAAMv/F,EAAEL,EAAE2mF,UAAU,CAACinB,UAAS,GAAW5tG,EAAE,SAASuiG,GAAGviG,EAAEU,EAAEL,GAA8B,OAA3BL,EAAEg+F,GAAG,EAAEh+F,EAAE,KAAKU,IAAKk/F,MAAMv/F,EAASL,EAC3W,SAAS0iG,GAAG1iG,EAAEU,EAAEL,GAA8J,OAA3JK,EAAEs9F,GAAG,EAAE,OAAOh+F,EAAE0E,SAAS1E,EAAE0E,SAAS,GAAG1E,EAAEtK,IAAIgL,IAAKk/F,MAAMv/F,EAAEK,EAAEimF,UAAU,CAACiG,cAAc5sF,EAAE4sF,cAAc8kB,gBAAgB,KAAKjP,eAAeziG,EAAEyiG,gBAAuB/hG,EACrL,SAASi0E,GAAG30E,EAAEU,EAAEL,EAAEF,EAAER,GAAGxH,KAAKonF,IAAI7+E,EAAEvI,KAAKy0F,cAAc5sF,EAAE7H,KAAKo4G,aAAap4G,KAAKiwG,UAAUjwG,KAAKguC,QAAQhuC,KAAKu5G,gBAAgB,KAAKv5G,KAAKu4G,eAAe,EAAEv4G,KAAKm3G,aAAan3G,KAAK2xG,eAAe3xG,KAAKzB,QAAQ,KAAKyB,KAAKu3G,iBAAiB,EAAEv3G,KAAK2yF,WAAW3kB,GAAG,GAAGhuE,KAAKo3G,gBAAgBppC,IAAI,GAAGhuE,KAAKuyF,eAAevyF,KAAKq4G,cAAcr4G,KAAK64G,iBAAiB74G,KAAKq3G,aAAar3G,KAAKsyF,YAAYtyF,KAAKqyF,eAAeryF,KAAKoyF,aAAa,EAAEpyF,KAAKwyF,cAAcxkB,GAAG,GAAGhuE,KAAKkvG,iBAAiBlnG,EAAEhI,KAAKk5G,mBAAmB1xG,EAAExH,KAAKw5G,gCAC/e,KAAK,SAAS98B,GAAG70E,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,EAAEze,EAAE2U,GAAgN,OAA7M5V,EAAE,IAAI20E,GAAG30E,EAAEU,EAAEL,EAAEY,EAAE2U,GAAG,IAAIlV,GAAGA,EAAE,GAAE,IAAKK,IAAIL,GAAG,IAAIA,EAAE,EAAEK,EAAEi9F,GAAG,EAAE,KAAK,KAAKt9F,GAAGV,EAAEmmC,QAAQplC,EAAEA,EAAE4lF,UAAU3mF,EAAEe,EAAEmnF,cAAc,CAACxgB,QAAQvnE,EAAEwsF,aAAatsF,EAAE84D,MAAM,KAAKgwC,YAAY,KAAKyI,0BAA0B,MAAMp9B,GAAGzzE,GAAUf,EAAE,SAAS+0E,GAAG/0E,EAAEU,EAAEL,GAAG,IAAIF,EAAE,EAAE9B,UAAUzD,aAAQ,IAASyD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAACq7E,SAASyE,EAAGzoF,IAAI,MAAMyK,EAAE,KAAK,GAAGA,EAAEuE,SAAS1E,EAAE4sF,cAAclsF,EAAE+hG,eAAepiG,GACla,SAASynE,GAAG9nE,GAAG,IAAIA,EAAE,OAAO07F,GAAuB17F,EAAE,CAAC,GAAG8nF,GAA1B9nF,EAAEA,EAAEohG,mBAA8BphG,GAAG,IAAIA,EAAEu/E,IAAI,MAAMvoF,MAAMsJ,EAAE,MAAM,IAAII,EAAEV,EAAE,EAAE,CAAC,OAAOU,EAAE6+E,KAAK,KAAK,EAAE7+E,EAAEA,EAAEimF,UAAUjwF,QAAQ,MAAMsJ,EAAE,KAAK,EAAE,GAAGi8F,GAAGv7F,EAAE9I,MAAM,CAAC8I,EAAEA,EAAEimF,UAAU6V,0CAA0C,MAAMx8F,GAAGU,EAAEA,EAAEoT,aAAa,OAAOpT,GAAG,MAAM1J,MAAMsJ,EAAE,MAAO,GAAG,IAAIN,EAAEu/E,IAAI,CAAC,IAAIl/E,EAAEL,EAAEpI,KAAK,GAAGqkG,GAAG57F,GAAG,OAAOg8F,GAAGr8F,EAAEK,EAAEK,GAAG,OAAOA,EACnW,SAASw0E,GAAGl1E,EAAEU,EAAEL,EAAEF,EAAER,EAAEoB,EAAE2e,EAAEze,EAAE2U,GAAwK,OAArK5V,EAAE60E,GAAGx0E,EAAEF,GAAE,EAAGH,EAAEL,EAAEoB,EAAE2e,EAAEze,EAAE2U,IAAKlf,QAAQoxE,GAAG,MAAMznE,EAAEL,EAAEmmC,SAAsBplC,EAAE6zE,GAAhBz0E,EAAEijB,KAAIzjB,EAAE0hG,GAAGhhG,KAAemvC,cAAS,IAAS9uC,GAAG,OAAOA,EAAEA,EAAE,KAAKo0E,GAAGz0E,EAAEU,EAAEpB,GAAGK,EAAEmmC,QAAQy5D,MAAMjgG,EAAEkrF,GAAG7qF,EAAEL,EAAEQ,GAAGkvG,GAAGrvG,EAAEG,GAAUH,EAAE,SAASo1E,GAAGp1E,EAAEU,EAAEL,EAAEF,GAAG,IAAIR,EAAEe,EAAEylC,QAAQplC,EAAEqiB,KAAI1D,EAAE2hF,GAAG1hG,GAAsL,OAAnLU,EAAEynE,GAAGznE,GAAG,OAAOK,EAAEhK,QAAQgK,EAAEhK,QAAQ2J,EAAEK,EAAEopG,eAAezpG,GAAEK,EAAEk0E,GAAG7zE,EAAE2e,IAAKqhF,QAAQ,CAACr5B,QAAQ1nE,GAAuB,QAApBG,OAAE,IAASA,EAAE,KAAKA,KAAaO,EAAE8uC,SAASrvC,GAAe,QAAZH,EAAE80E,GAAGn1E,EAAEe,EAAEgf,MAAc4hF,GAAGthG,EAAEL,EAAE+f,EAAE3e,GAAGi0E,GAAGh1E,EAAEL,EAAE+f,IAAWA,EAC1b,SAASO,GAAGjgB,GAAe,OAAZA,EAAEA,EAAEmmC,SAAcmiD,OAAyBtoF,EAAEsoF,MAAM/I,IAAoDv/E,EAAEsoF,MAAM3B,WAAhF,KAA2F,SAAShX,GAAG3vE,EAAEU,GAAqB,GAAG,QAArBV,EAAEA,EAAEkoF,gBAA2B,OAAOloF,EAAEmoF,WAAW,CAAC,IAAI9nF,EAAEL,EAAEs+F,UAAUt+F,EAAEs+F,UAAU,IAAIj+F,GAAGA,EAAEK,EAAEL,EAAEK,GAAG,SAASkvE,GAAG5vE,EAAEU,GAAGivE,GAAG3vE,EAAEU,IAAIV,EAAEA,EAAE+nF,YAAYpY,GAAG3vE,EAAEU,GAnB3S2tG,GAAG,SAASruG,EAAEU,EAAEL,GAAG,GAAG,OAAOL,EAAE,GAAGA,EAAE2+F,gBAAgBj+F,EAAE09F,cAAczC,GAAGx1D,QAAQ05D,IAAG,MAAO,CAAC,GAAG,KAAK7/F,EAAE4/F,MAAMv/F,IAAI,KAAa,IAARK,EAAEsnF,OAAW,OAAO6X,IAAG,EAzE1I,SAAY7/F,EAAEU,EAAEL,GAAG,OAAOK,EAAE6+E,KAAK,KAAK,EAAEsqB,GAAGnpG,GAAGm+F,KAAK,MAAM,KAAK,EAAEyE,GAAG5iG,GAAG,MAAM,KAAK,EAAEu7F,GAAGv7F,EAAE9I,OAAO2kG,GAAG77F,GAAG,MAAM,KAAK,EAAEyiG,GAAGziG,EAAEA,EAAEimF,UAAUiG,eAAe,MAAM,KAAK,GAAG,IAAIzsF,EAAEO,EAAE9I,KAAKwjF,SAASz7E,EAAEe,EAAEi+F,cAAchpG,MAAM2xC,GAAE23D,GAAG9+F,EAAE06E,eAAe16E,EAAE06E,cAAcl7E,EAAE,MAAM,KAAK,GAAqB,GAAG,QAArBQ,EAAEO,EAAEwnF,eAA2B,OAAG,OAAO/nF,EAAEgoF,YAAkB7gD,GAAEhtB,GAAY,EAAVA,GAAE6rB,SAAWzlC,EAAEsnF,OAAO,IAAI,MAAQ,KAAK3nF,EAAEK,EAAE4nF,MAAMkX,YAAmB6K,GAAGrqG,EAAEU,EAAEL,IAAGinC,GAAEhtB,GAAY,EAAVA,GAAE6rB,SAA8B,QAAnBnmC,EAAE2oG,GAAG3oG,EAAEU,EAAEL,IAAmBL,EAAEuoF,QAAQ,MAAKjhD,GAAEhtB,GAAY,EAAVA,GAAE6rB,SAAW,MAAM,KAAK,GAC7d,GADgehmC,EAAE,KAAKE,EACrfK,EAAE8+F,YAAe,KAAa,IAARx/F,EAAEgoF,OAAW,CAAC,GAAG7nF,EAAE,OAAOqrG,GAAGxrG,EAAEU,EAAEL,GAAGK,EAAEsnF,OAAO,IAAgG,GAA1E,QAAlBroF,EAAEe,EAAEwnF,iBAAyBvoF,EAAEwrG,UAAU,KAAKxrG,EAAE2rG,KAAK,KAAK3rG,EAAEgmG,WAAW,MAAMr+D,GAAEhtB,GAAEA,GAAE6rB,SAAYhmC,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOO,EAAEk/F,MAAM,EAAEoJ,GAAGhpG,EAAEU,EAAEL,GAAG,OAAOsoG,GAAG3oG,EAAEU,EAAEL,GAwE3GwxG,CAAG7xG,EAAEU,EAAEL,GAAGw/F,GAAG,KAAa,OAAR7/F,EAAEgoF,YAAyB6X,IAAG,EAAG3+F,IAAG,KAAa,QAARR,EAAEsnF,QAAgByV,GAAG/8F,EAAEw8F,GAAGx8F,EAAE0B,OAAiB,OAAV1B,EAAEk/F,MAAM,EAASl/F,EAAE6+E,KAAK,KAAK,EAAE,IAAIp/E,EAAEO,EAAE9I,KAAK4xG,GAAGxpG,EAAEU,GAAGV,EAAEU,EAAE09F,aAAa,IAAIz+F,EAAEk8F,GAAGn7F,EAAE6qC,GAAEpF,SAASs5D,GAAG/+F,EAAEL,GAAGV,EAAE0kG,GAAG,KAAK3jG,EAAEP,EAAEH,EAAEL,EAAEU,GAAG,IAAIU,EAAEuT,KACvI,OAD4I5T,EAAEsnF,OAAO,EAAE,kBAAkBroF,GAAG,OAAOA,GAAG,oBAAoBA,EAAEy3E,aAAQ,IAASz3E,EAAE+5E,UAAUh5E,EAAE6+E,IAAI,EAAE7+E,EAAEwnF,cAAc,KAAKxnF,EAAE4/F,YAC1e,KAAKrE,GAAG97F,IAAIY,GAAE,EAAGw7F,GAAG77F,IAAIK,GAAE,EAAGL,EAAEwnF,cAAc,OAAOvoF,EAAE9I,YAAO,IAAS8I,EAAE9I,MAAM8I,EAAE9I,MAAM,KAAK29E,GAAG9zE,GAAGf,EAAEu5E,QAAQioB,GAAGzgG,EAAEimF,UAAUhnF,EAAEA,EAAEyhG,gBAAgB1gG,EAAEmhG,GAAGnhG,EAAEP,EAAEH,EAAEK,GAAGK,EAAEkpG,GAAG,KAAKlpG,EAAEP,GAAE,EAAGY,EAAEV,KAAKK,EAAE6+E,IAAI,EAAEr+E,IAAGH,GAAG28F,GAAGh9F,GAAG+nG,GAAG,KAAK/nG,EAAEf,EAAEU,GAAGK,EAAEA,EAAE4nF,OAAc5nF,EAAE,KAAK,GAAGP,EAAEO,EAAEu9F,YAAYj+F,EAAE,CAAqF,OAApFwpG,GAAGxpG,EAAEU,GAAGV,EAAEU,EAAE09F,aAAuBj+F,GAAVR,EAAEQ,EAAEu0B,OAAUv0B,EAAEs7E,UAAU/6E,EAAE9I,KAAKuI,EAAER,EAAEe,EAAE6+E,IAQtU,SAAYv/E,GAAG,GAAG,oBAAoBA,EAAE,OAAO6oG,GAAG7oG,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAE05E,YAAgB+E,EAAG,OAAO,GAAG,GAAGz+E,IAAI4+E,EAAG,OAAO,GAAG,OAAO,EAR4LkzB,CAAG3xG,GAAGH,EAAEg/F,GAAG7+F,EAAEH,GAAUL,GAAG,KAAK,EAAEe,EAAEqoG,GAAG,KAAKroG,EAAEP,EAAEH,EAAEK,GAAG,MAAML,EAAE,KAAK,EAAEU,EAAE6oG,GAAG,KAAK7oG,EAAEP,EAAEH,EAAEK,GAAG,MAAML,EAAE,KAAK,GAAGU,EAAEgoG,GAAG,KAAKhoG,EAAEP,EAAEH,EAAEK,GAAG,MAAML,EAAE,KAAK,GAAGU,EAAEkoG,GAAG,KAAKloG,EAAEP,EAAE6+F,GAAG7+F,EAAEvI,KAAKoI,GAAGK,GAAG,MAAML,EAAE,MAAMhJ,MAAMsJ,EAAE,IACvgBH,EAAE,KAAM,OAAOO,EAAE,KAAK,EAAE,OAAOP,EAAEO,EAAE9I,KAAK+H,EAAEe,EAAE09F,aAA2C2K,GAAG/oG,EAAEU,EAAEP,EAArCR,EAAEe,EAAEu9F,cAAc99F,EAAER,EAAEq/F,GAAG7+F,EAAER,GAAcU,GAAG,KAAK,EAAE,OAAOF,EAAEO,EAAE9I,KAAK+H,EAAEe,EAAE09F,aAA2CmL,GAAGvpG,EAAEU,EAAEP,EAArCR,EAAEe,EAAEu9F,cAAc99F,EAAER,EAAEq/F,GAAG7+F,EAAER,GAAcU,GAAG,KAAK,EAAEL,EAAE,CAAO,GAAN6pG,GAAGnpG,GAAM,OAAOV,EAAE,MAAMhJ,MAAMsJ,EAAE,MAAMH,EAAEO,EAAE09F,aAA+Bz+F,GAAlBoB,EAAEL,EAAEwnF,eAAkBxgB,QAAQgN,GAAG10E,EAAEU,GAAGy0E,GAAGz0E,EAAEP,EAAE,KAAKE,GAAG,IAAIqf,EAAEhf,EAAEwnF,cAA0B,GAAZ/nF,EAAEuf,EAAEgoD,QAAW3mE,EAAE4rF,aAAL,CAAkB,GAAG5rF,EAAE,CAAC2mE,QAAQvnE,EAAEwsF,cAAa,EAAGxzB,MAAMz5C,EAAEy5C,MAAMy4C,0BAA0BlyF,EAAEkyF,0BAA0BzI,YAAYzpF,EAAEypF,aAAazoG,EAAE4/F,YAAYC,UAChfx/F,EAAEL,EAAEwnF,cAAcnnF,EAAU,IAARL,EAAEsnF,MAAU,CAAuBtnF,EAAEqpG,GAAG/pG,EAAEU,EAAEP,EAAEE,EAAjCV,EAAE2nG,GAAGtwG,MAAMsJ,EAAE,MAAMI,IAAmB,MAAMV,EAAO,GAAGG,IAAIR,EAAE,CAAuBe,EAAEqpG,GAAG/pG,EAAEU,EAAEP,EAAEE,EAAjCV,EAAE2nG,GAAGtwG,MAAMsJ,EAAE,MAAMI,IAAmB,MAAMV,EAAO,IAAI69F,GAAG9C,GAAGr6F,EAAEimF,UAAUiG,cAAcnW,YAAYmnB,GAAGl9F,EAAEQ,IAAE,EAAG48F,GAAG,KAAKz9F,EAAEwiG,GAAGniG,EAAE,KAAKP,EAAEE,GAAGK,EAAE4nF,MAAMjoF,EAAEA,GAAGA,EAAE2nF,OAAe,EAAT3nF,EAAE2nF,MAAS,KAAK3nF,EAAEA,EAAEkoF,YAAY,CAAM,GAALsW,KAAQ1+F,IAAIR,EAAE,CAACe,EAAEioG,GAAG3oG,EAAEU,EAAEL,GAAG,MAAML,EAAEyoG,GAAGzoG,EAAEU,EAAEP,EAAEE,GAAGK,EAAEA,EAAE4nF,MAAM,OAAO5nF,EAAE,KAAK,EAAE,OAAO4iG,GAAG5iG,GAAG,OAAOV,GAAGw+F,GAAG99F,GAAGP,EAAEO,EAAE9I,KAAK+H,EAAEe,EAAE09F,aAAar9F,EAAE,OAAOf,EAAEA,EAAE2+F,cAAc,KAAKj/E,EAAE/f,EAAE+E,SAAS21F,GAAGl6F,EAAER,GAAG+f,EAAE,KAAK,OAAO3e,GAAGs5F,GAAGl6F,EAAEY,KAAKL,EAAEsnF,OAAO,IACnfshB,GAAGtpG,EAAEU,GAAG+nG,GAAGzoG,EAAEU,EAAEgf,EAAErf,GAAGK,EAAE4nF,MAAM,KAAK,EAAE,OAAO,OAAOtoF,GAAGw+F,GAAG99F,GAAG,KAAK,KAAK,GAAG,OAAO2pG,GAAGrqG,EAAEU,EAAEL,GAAG,KAAK,EAAE,OAAO8iG,GAAGziG,EAAEA,EAAEimF,UAAUiG,eAAezsF,EAAEO,EAAE09F,aAAa,OAAOp+F,EAAEU,EAAE4nF,MAAMsa,GAAGliG,EAAE,KAAKP,EAAEE,GAAGooG,GAAGzoG,EAAEU,EAAEP,EAAEE,GAAGK,EAAE4nF,MAAM,KAAK,GAAG,OAAOnoF,EAAEO,EAAE9I,KAAK+H,EAAEe,EAAE09F,aAA2CsK,GAAG1oG,EAAEU,EAAEP,EAArCR,EAAEe,EAAEu9F,cAAc99F,EAAER,EAAEq/F,GAAG7+F,EAAER,GAAcU,GAAG,KAAK,EAAE,OAAOooG,GAAGzoG,EAAEU,EAAEA,EAAE09F,aAAa/9F,GAAGK,EAAE4nF,MAAM,KAAK,EAAmD,KAAK,GAAG,OAAOmgB,GAAGzoG,EAAEU,EAAEA,EAAE09F,aAAa15F,SAASrE,GAAGK,EAAE4nF,MAAM,KAAK,GAAGtoF,EAAE,CACxZ,GADyZG,EAAEO,EAAE9I,KAAKwjF,SAASz7E,EAAEe,EAAE09F,aAAar9F,EAAEL,EAAEi+F,cAClfj/E,EAAE/f,EAAEhK,MAAM2xC,GAAE23D,GAAG9+F,EAAE06E,eAAe16E,EAAE06E,cAAcn7D,EAAK,OAAO3e,EAAE,GAAGy0F,GAAGz0F,EAAEpL,MAAM+pB,IAAI,GAAG3e,EAAE2D,WAAW/E,EAAE+E,WAAWi3F,GAAGx1D,QAAQ,CAACzlC,EAAEioG,GAAG3oG,EAAEU,EAAEL,GAAG,MAAML,QAAQ,IAAc,QAAVe,EAAEL,EAAE4nF,SAAiBvnF,EAAE+S,OAAOpT,GAAG,OAAOK,GAAG,CAAC,IAAIE,EAAEF,EAAE2+F,aAAa,GAAG,OAAOz+F,EAAE,CAACye,EAAE3e,EAAEunF,MAAM,IAAI,IAAI1yE,EAAE3U,EAAE0+F,aAAa,OAAO/pF,GAAG,CAAC,GAAGA,EAAElf,UAAUyJ,EAAE,CAAC,GAAG,IAAIY,EAAEw+E,IAAI,EAAC3pE,EAAEg/D,IAAI,EAAEv0E,GAAGA,IAAKk/E,IAAI,EAAE,IAAIh/E,EAAEQ,EAAEu/F,YAAY,GAAG,OAAO//F,EAAE,CAAY,IAAIC,GAAfD,EAAEA,EAAEmgG,QAAeC,QAAQ,OAAOngG,EAAEoV,EAAEjc,KAAKic,GAAGA,EAAEjc,KAAK6G,EAAE7G,KAAK6G,EAAE7G,KAAKic,GAAGrV,EAAEogG,QAAQ/qF,GAAG7U,EAAE6+F,OAAOv/F,EAAgB,QAAduV,EAAE7U,EAAEgnF,aAAqBnyE,EAAEgqF,OAAOv/F,GAAGk/F,GAAGx+F,EAAE+S,OAClfzT,EAAEK,GAAGO,EAAE2+F,OAAOv/F,EAAE,MAAMuV,EAAEA,EAAEjc,WAAW,GAAG,KAAKoH,EAAEw+E,IAAI7/D,EAAE3e,EAAEnJ,OAAO8I,EAAE9I,KAAK,KAAKmJ,EAAEunF,WAAW,GAAG,KAAKvnF,EAAEw+E,IAAI,CAAY,GAAG,QAAd7/D,EAAE3e,EAAE+S,QAAmB,MAAM9c,MAAMsJ,EAAE,MAAMof,EAAEkgF,OAAOv/F,EAAgB,QAAdY,EAAEye,EAAEqoE,aAAqB9mF,EAAE2+F,OAAOv/F,GAAGk/F,GAAG7/E,EAAErf,EAAEK,GAAGgf,EAAE3e,EAAEwnF,aAAa7oE,EAAE3e,EAAEunF,MAAM,GAAG,OAAO5oE,EAAEA,EAAE5L,OAAO/S,OAAO,IAAI2e,EAAE3e,EAAE,OAAO2e,GAAG,CAAC,GAAGA,IAAIhf,EAAE,CAACgf,EAAE,KAAK,MAAkB,GAAG,QAAf3e,EAAE2e,EAAE6oE,SAAoB,CAACxnF,EAAE+S,OAAO4L,EAAE5L,OAAO4L,EAAE3e,EAAE,MAAM2e,EAAEA,EAAE5L,OAAO/S,EAAE2e,EAAE+oF,GAAGzoG,EAAEU,EAAEf,EAAE+E,SAASrE,GAAGK,EAAEA,EAAE4nF,MAAM,OAAO5nF,EAAE,KAAK,EAAE,OAAOf,EAAEe,EAAE9I,KAAKuI,EAAEO,EAAE09F,aAAa15F,SAAS+6F,GAAG/+F,EAAEL,GAAWF,EAAEA,EAAVR,EAAEmgG,GAAGngG,IAAUe,EAAEsnF,OAAO,EAAEygB,GAAGzoG,EAAEU,EAAEP,EAAEE,GACpfK,EAAE4nF,MAAM,KAAK,GAAG,OAAgB3oF,EAAEq/F,GAAX7+F,EAAEO,EAAE9I,KAAY8I,EAAE09F,cAA6BwK,GAAG5oG,EAAEU,EAAEP,EAAtBR,EAAEq/F,GAAG7+F,EAAEvI,KAAK+H,GAAcU,GAAG,KAAK,GAAG,OAAOyoG,GAAG9oG,EAAEU,EAAEA,EAAE9I,KAAK8I,EAAE09F,aAAa/9F,GAAG,KAAK,GAAG,OAAOF,EAAEO,EAAE9I,KAAK+H,EAAEe,EAAE09F,aAAaz+F,EAAEe,EAAEu9F,cAAc99F,EAAER,EAAEq/F,GAAG7+F,EAAER,GAAG6pG,GAAGxpG,EAAEU,GAAGA,EAAE6+E,IAAI,EAAE0c,GAAG97F,IAAIH,GAAE,EAAGu8F,GAAG77F,IAAIV,GAAE,EAAGy/F,GAAG/+F,EAAEL,GAAGi+B,GAAG59B,EAAEP,EAAER,GAAGkiG,GAAGnhG,EAAEP,EAAER,EAAEU,GAAGupG,GAAG,KAAKlpG,EAAEP,GAAE,EAAGH,EAAEK,GAAG,KAAK,GAAG,OAAOmrG,GAAGxrG,EAAEU,EAAEL,GAAG,KAAK,GAAG,OAAO2oG,GAAGhpG,EAAEU,EAAEL,GAAG,MAAMrJ,MAAMsJ,EAAE,IAAII,EAAE6+E,OAYlC,IAAIwyB,GAAG,oBAAoBC,YAAYA,YAAY,SAAShyG,GAAG0zB,QAAQt6B,MAAM4G,IAAI,SAASiyG,GAAGjyG,GAAG7H,KAAK+5G,cAAclyG,EAChI,SAASmyG,GAAGnyG,GAAG7H,KAAK+5G,cAAclyG,EAC3J,SAASoyG,GAAGpyG,GAAG,SAASA,GAAG,IAAIA,EAAEoiF,UAAU,IAAIpiF,EAAEoiF,UAAU,KAAKpiF,EAAEoiF,UAAU,SAASiwB,GAAGryG,GAAG,SAASA,GAAG,IAAIA,EAAEoiF,UAAU,IAAIpiF,EAAEoiF,UAAU,KAAKpiF,EAAEoiF,WAAW,IAAIpiF,EAAEoiF,UAAU,iCAAiCpiF,EAAEqiF,YAAY,SAASiwB,MAEna,SAASC,GAAGvyG,EAAEU,EAAEL,EAAEF,EAAER,GAAG,IAAIoB,EAAEV,EAAE2sG,oBAAoB,GAAGjsG,EAAE,CAAC,IAAI2e,EAAE3e,EAAE,GAAG,oBAAoBpB,EAAE,CAAC,IAAIsB,EAAEtB,EAAEA,EAAE,WAAW,IAAIK,EAAEigB,GAAGP,GAAGze,EAAElJ,KAAKiI,IAAIo1E,GAAG10E,EAAEgf,EAAE1f,EAAEL,QAAQ+f,EADxJ,SAAY1f,EAAEU,EAAEL,EAAEF,EAAER,GAAG,GAAGA,EAAE,CAAC,GAAG,oBAAoBQ,EAAE,CAAC,IAAIY,EAAEZ,EAAEA,EAAE,WAAW,IAAIH,EAAEigB,GAAGP,GAAG3e,EAAEhJ,KAAKiI,IAAI,IAAI0f,EAAEw1D,GAAGx0E,EAAEP,EAAEH,EAAE,EAAE,MAAK,EAAG,EAAG,GAAGsyG,IAAmF,OAA/EtyG,EAAEgtG,oBAAoBttF,EAAE1f,EAAEo5F,IAAI15E,EAAEymB,QAAQ6yD,GAAG,IAAIh5F,EAAEoiF,SAASpiF,EAAEmpE,WAAWnpE,GAAG4wG,KAAYlxF,EAAE,KAAK/f,EAAEK,EAAEmiF,WAAWniF,EAAE+hF,YAAYpiF,GAAG,GAAG,oBAAoBQ,EAAE,CAAC,IAAIc,EAAEd,EAAEA,EAAE,WAAW,IAAIH,EAAEigB,GAAGrK,GAAG3U,EAAElJ,KAAKiI,IAAI,IAAI4V,EAAEi/D,GAAG70E,EAAE,GAAE,EAAG,KAAK,GAAK,EAAG,EAAG,GAAGsyG,IAA0G,OAAtGtyG,EAAEgtG,oBAAoBp3F,EAAE5V,EAAEo5F,IAAIxjF,EAAEuwB,QAAQ6yD,GAAG,IAAIh5F,EAAEoiF,SAASpiF,EAAEmpE,WAAWnpE,GAAG4wG,IAAG,WAAWx7B,GAAG10E,EAAEkV,EAAEvV,EAAEF,MAAYyV,EACnU48F,CAAGnyG,EAAEK,EAAEV,EAAEL,EAAEQ,GAAG,OAAO8f,GAAGP,GAHlLyyF,GAAGt9G,UAAUuiF,OAAO66B,GAAGp9G,UAAUuiF,OAAO,SAASp3E,GAAG,IAAIU,EAAEvI,KAAK+5G,cAAc,GAAG,OAAOxxG,EAAE,MAAM1J,MAAMsJ,EAAE,MAAM80E,GAAGp1E,EAAEU,EAAE,KAAK,OAAOyxG,GAAGt9G,UAAU49G,QAAQR,GAAGp9G,UAAU49G,QAAQ,WAAW,IAAIzyG,EAAE7H,KAAK+5G,cAAc,GAAG,OAAOlyG,EAAE,CAAC7H,KAAK+5G,cAAc,KAAK,IAAIxxG,EAAEV,EAAE4sF,cAAcgkB,IAAG,WAAWx7B,GAAG,KAAKp1E,EAAE,KAAK,SAAQU,EAAE04F,IAAI,OACpT+Y,GAAGt9G,UAAU69G,2BAA2B,SAAS1yG,GAAG,GAAGA,EAAE,CAAC,IAAIU,EAAE0qF,KAAKprF,EAAE,CAACosF,UAAU,KAAKlvF,OAAO8C,EAAE0sF,SAAShsF,GAAG,IAAI,IAAIL,EAAE,EAAEA,EAAEwrF,GAAGjxF,QAAQ,IAAI8F,GAAGA,EAAEmrF,GAAGxrF,GAAGqsF,SAASrsF,KAAKwrF,GAAG94C,OAAO1yC,EAAE,EAAEL,GAAG,IAAIK,GAAGmsF,GAAGxsF,KAERirF,GAAG,SAASjrF,GAAG,OAAOA,EAAEu/E,KAAK,KAAK,EAAE,IAAI7+E,EAAEV,EAAE2mF,UAAU,GAAGjmF,EAAEylC,QAAQ+hD,cAAcyE,aAAa,CAAC,IAAItsF,EAAEiqF,GAAG5pF,EAAE6pF,cAAc,IAAIlqF,IAAI0qF,GAAGrqF,EAAI,EAAFL,GAAKgvG,GAAG3uG,EAAE4gC,MAAK,KAAO,EAAFxhB,MAAOksF,GAAG1qE,KAAI,IAAIw7D,OAAO,MAAM,KAAK,GAAG8T,IAAG,WAAW,IAAIlwG,EAAE0/F,GAAGpgG,EAAE,GAAG,GAAG,OAAOU,EAAE,CAAC,IAAIL,EAAE+iB,KAAIk+E,GAAG5gG,EAAEV,EAAE,EAAEK,OAAMuvE,GAAG5vE,EAAE,KAC5bkrF,GAAG,SAASlrF,GAAG,GAAG,KAAKA,EAAEu/E,IAAI,CAAC,IAAI7+E,EAAE0/F,GAAGpgG,EAAE,WAAW,GAAG,OAAOU,EAAa4gG,GAAG5gG,EAAEV,EAAE,UAAXojB,MAAwBwsD,GAAG5vE,EAAE,aAAamrF,GAAG,SAASnrF,GAAG,GAAG,KAAKA,EAAEu/E,IAAI,CAAC,IAAI7+E,EAAE2gG,GAAGrhG,GAAGK,EAAE+/F,GAAGpgG,EAAEU,GAAG,GAAG,OAAOL,EAAaihG,GAAGjhG,EAAEL,EAAEU,EAAX0iB,MAAgBwsD,GAAG5vE,EAAEU,KAAK0qF,GAAG,WAAW,OAAOpqF,IAAGqqF,GAAG,SAASrrF,EAAEU,GAAG,IAAIL,EAAEW,GAAE,IAAI,OAAOA,GAAEhB,EAAEU,IAAf,QAA2BM,GAAEX,IAChSimF,GAAG,SAAStmF,EAAEU,EAAEL,GAAG,OAAOK,GAAG,IAAK,QAAyB,GAAjBmgF,EAAG7gF,EAAEK,GAAGK,EAAEL,EAAElF,KAAQ,UAAUkF,EAAEzI,MAAM,MAAM8I,EAAE,CAAC,IAAIL,EAAEL,EAAEK,EAAE8oE,YAAY9oE,EAAEA,EAAE8oE,WAAsF,IAA3E9oE,EAAEA,EAAEunE,iBAAiB,cAAct4B,KAAKlH,UAAU,GAAG1nC,GAAG,mBAAuBA,EAAE,EAAEA,EAAEL,EAAEzF,OAAO8F,IAAI,CAAC,IAAIP,EAAEE,EAAEK,GAAG,GAAGP,IAAIH,GAAGG,EAAEiwC,OAAOpwC,EAAEowC,KAAK,CAAC,IAAIzwC,EAAEinF,GAAGzmF,GAAG,IAAIR,EAAE,MAAM3I,MAAMsJ,EAAE,KAAK4/E,EAAG//E,GAAG0gF,EAAG1gF,EAAER,KAAK,MAAM,IAAK,WAAW6hF,GAAGxhF,EAAEK,GAAG,MAAM,IAAK,SAAmB,OAAVK,EAAEL,EAAE1K,QAAeurF,GAAGlhF,IAAIK,EAAEoxD,SAAS/wD,GAAE,KAAMqmF,GAAG4pB,GAAG3pB,GAAG4pB,GACpa,IAAIzvF,GAAG,CAACwxF,uBAAsB,EAAGC,OAAO,CAAClsB,GAAGzxB,GAAG2xB,GAAGC,GAAGC,GAAG6pB,KAAKkC,GAAG,CAACC,wBAAwBrmB,GAAGsmB,WAAW,EAAEnpF,QAAQ,SAASopF,oBAAoB,aAC1IC,GAAG,CAACF,WAAWF,GAAGE,WAAWnpF,QAAQipF,GAAGjpF,QAAQopF,oBAAoBH,GAAGG,oBAAoBE,eAAeL,GAAGK,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,gBAAgB,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqBljC,EAAGsJ,uBAAuB65B,wBAAwB,SAAS7zG,GAAW,OAAO,QAAfA,EAAEqoF,GAAGroF,IAAmB,KAAKA,EAAE2mF,WAAWmsB,wBAAwBD,GAAGC,yBARjN,WAAc,OAAO,MAShUgB,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,KAAKC,kBAAkB,kCAAkC,GAAG,qBAAqB1gF,+BAA+B,CAAC,IAAInS,GAAGmS,+BAA+B,IAAInS,GAAG/e,YAAY+e,GAAG8yF,cAAc,IAAIrqB,GAAGzoE,GAAG+yF,OAAOpB,IAAIjpB,GAAG1oE,GAAG,MAAMthB,MAAKtL,EAAQgmF,mDAAmDv5D,GAC9YzsB,EAAQ4/G,aAAa,SAASt0G,EAAEU,GAAG,IAAIL,EAAE,EAAEhC,UAAUzD,aAAQ,IAASyD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAI+zG,GAAG1xG,GAAG,MAAM1J,MAAMsJ,EAAE,MAAM,OAAOy0E,GAAG/0E,EAAEU,EAAE,KAAKL,IAAI3L,EAAQ6/G,WAAW,SAASv0G,EAAEU,GAAG,IAAI0xG,GAAGpyG,GAAG,MAAMhJ,MAAMsJ,EAAE,MAAM,IAAID,GAAE,EAAGF,EAAE,GAAGR,EAAEoyG,GAA4P,OAAzP,OAAOrxG,QAAG,IAASA,KAAI,IAAKA,EAAE8zG,sBAAsBn0G,GAAE,QAAI,IAASK,EAAE2mG,mBAAmBlnG,EAAEO,EAAE2mG,uBAAkB,IAAS3mG,EAAE2wG,qBAAqB1xG,EAAEe,EAAE2wG,qBAAqB3wG,EAAEm0E,GAAG70E,EAAE,GAAE,EAAG,KAAK,EAAKK,EAAE,EAAGF,EAAER,GAAGK,EAAEo5F,IAAI14F,EAAEylC,QAAQ6yD,GAAG,IAAIh5F,EAAEoiF,SAASpiF,EAAEmpE,WAAWnpE,GAAU,IAAIiyG,GAAGvxG,IACnfhM,EAAQ+/G,YAAY,SAASz0G,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEoiF,SAAS,OAAOpiF,EAAE,IAAIU,EAAEV,EAAEohG,gBAAgB,QAAG,IAAS1gG,EAAE,CAAC,GAAG,oBAAoBV,EAAEo3E,OAAO,MAAMpgF,MAAMsJ,EAAE,MAAiC,MAA3BN,EAAEpL,OAAO+G,KAAKqE,GAAG8N,KAAK,KAAW9W,MAAMsJ,EAAE,IAAIN,IAAyC,OAA5BA,EAAE,QAAVA,EAAEqoF,GAAG3nF,IAAc,KAAKV,EAAE2mF,WAAoBjyF,EAAQggH,UAAU,SAAS10G,GAAG,OAAO4wG,GAAG5wG,IAAItL,EAAQigH,QAAQ,SAAS30G,EAAEU,EAAEL,GAAG,IAAIgyG,GAAG3xG,GAAG,MAAM1J,MAAMsJ,EAAE,MAAM,OAAOiyG,GAAG,KAAKvyG,EAAEU,GAAE,EAAGL,IAC7Y3L,EAAQkgH,YAAY,SAAS50G,EAAEU,EAAEL,GAAG,IAAI+xG,GAAGpyG,GAAG,MAAMhJ,MAAMsJ,EAAE,MAAM,IAAIH,EAAE,MAAME,GAAGA,EAAEw0G,iBAAiB,KAAKl1G,GAAE,EAAGoB,EAAE,GAAG2e,EAAEqyF,GAAyO,GAAtO,OAAO1xG,QAAG,IAASA,KAAI,IAAKA,EAAEm0G,sBAAsB70G,GAAE,QAAI,IAASU,EAAEgnG,mBAAmBtmG,EAAEV,EAAEgnG,uBAAkB,IAAShnG,EAAEgxG,qBAAqB3xF,EAAErf,EAAEgxG,qBAAqB3wG,EAAEw0E,GAAGx0E,EAAE,KAAKV,EAAE,EAAE,MAAMK,EAAEA,EAAE,KAAKV,EAAE,EAAGoB,EAAE2e,GAAG1f,EAAEo5F,IAAI14F,EAAEylC,QAAQ6yD,GAAGh5F,GAAMG,EAAE,IAAIH,EAAE,EAAEA,EAAEG,EAAEvF,OAAOoF,IAA2BL,GAAhBA,GAAPU,EAAEF,EAAEH,IAAO80G,aAAgBz0G,EAAE00G,SAAS,MAAMr0G,EAAEixG,gCAAgCjxG,EAAEixG,gCAAgC,CAACtxG,EAAEV,GAAGe,EAAEixG,gCAAgCt3G,KAAKgG,EACvhBV,GAAG,OAAO,IAAIwyG,GAAGzxG,IAAIhM,EAAQ0iF,OAAO,SAASp3E,EAAEU,EAAEL,GAAG,IAAIgyG,GAAG3xG,GAAG,MAAM1J,MAAMsJ,EAAE,MAAM,OAAOiyG,GAAG,KAAKvyG,EAAEU,GAAE,EAAGL,IAAI3L,EAAQsgH,uBAAuB,SAASh1G,GAAG,IAAIqyG,GAAGryG,GAAG,MAAMhJ,MAAMsJ,EAAE,KAAK,QAAON,EAAEgtG,sBAAqB4D,IAAG,WAAW2B,GAAG,KAAK,KAAKvyG,GAAE,GAAG,WAAWA,EAAEgtG,oBAAoB,KAAKhtG,EAAEo5F,IAAI,YAAS,IAAQ1kG,EAAQugH,wBAAwBtE,GAC/Uj8G,EAAQwgH,oCAAoC,SAASl1G,EAAEU,EAAEL,EAAEF,GAAG,IAAIkyG,GAAGhyG,GAAG,MAAMrJ,MAAMsJ,EAAE,MAAM,GAAG,MAAMN,QAAG,IAASA,EAAEohG,gBAAgB,MAAMpqG,MAAMsJ,EAAE,KAAK,OAAOiyG,GAAGvyG,EAAEU,EAAEL,GAAE,EAAGF,IAAIzL,EAAQk1B,QAAQ,kC,6BC/T3L/qB,EAAOnK,QAAUoK,EAAQ,M,8BCH3B,YASa,SAASiC,EAAEf,EAAEU,GAAG,IAAIL,EAAEL,EAAEpF,OAAOoF,EAAE3F,KAAKqG,GAAGV,EAAE,KAAK,EAAEK,GAAG,CAAC,IAAIF,EAAEE,EAAE,IAAI,EAAEV,EAAEK,EAAEG,GAAG,KAAG,EAAEuf,EAAE/f,EAAEe,IAA0B,MAAMV,EAA7BA,EAAEG,GAAGO,EAAEV,EAAEK,GAAGV,EAAEU,EAAEF,GAAgB,SAASc,EAAEjB,GAAG,OAAO,IAAIA,EAAEpF,OAAO,KAAKoF,EAAE,GAAG,SAAS4V,EAAE5V,GAAG,GAAG,IAAIA,EAAEpF,OAAO,OAAO,KAAK,IAAI8F,EAAEV,EAAE,GAAGK,EAAEL,EAAElE,MAAM,GAAGuE,IAAIK,EAAE,CAACV,EAAE,GAAGK,EAAEL,EAAE,IAAI,IAAIG,EAAE,EAAER,EAAEK,EAAEpF,OAAO46B,EAAE71B,IAAI,EAAEQ,EAAEq1B,GAAG,CAAC,IAAIh1B,EAAE,GAAGL,EAAE,GAAG,EAAEa,EAAEhB,EAAEQ,GAAGN,EAAEM,EAAE,EAAEC,EAAET,EAAEE,GAAG,GAAG,EAAEwf,EAAE1e,EAAEX,GAAGH,EAAEP,GAAG,EAAE+f,EAAEjf,EAAEO,IAAIhB,EAAEG,GAAGM,EAAET,EAAEE,GAAGG,EAAEF,EAAED,IAAIF,EAAEG,GAAGa,EAAEhB,EAAEQ,GAAGH,EAAEF,EAAEK,OAAQ,MAAGN,EAAEP,GAAG,EAAE+f,EAAEjf,EAAEJ,IAA0B,MAAML,EAA7BA,EAAEG,GAAGM,EAAET,EAAEE,GAAGG,EAAEF,EAAED,IAAgB,OAAOQ,EAC1c,SAASgf,EAAE1f,EAAEU,GAAG,IAAIL,EAAEL,EAAEm1G,UAAUz0G,EAAEy0G,UAAU,OAAO,IAAI90G,EAAEA,EAAEL,EAAEuB,GAAGb,EAAEa,GAAG,GAAG,kBAAkB6zG,aAAa,oBAAoBA,YAAYrsE,IAAI,CAAC,IAAIxoC,EAAE60G,YAAY1gH,EAAQw0F,aAAa,WAAW,OAAO3oF,EAAEwoC,WAAW,CAAC,IAAIzoC,EAAEwoC,KAAKnoC,EAAEL,EAAEyoC,MAAMr0C,EAAQw0F,aAAa,WAAW,OAAO5oF,EAAEyoC,MAAMpoC,GAAG,IAAIb,EAAE,GAAGD,EAAE,GAAGO,EAAE,EAAEU,EAAE,KAAKO,EAAE,EAAE+W,GAAE,EAAGgC,GAAE,EAAGknB,GAAE,EAAGlgC,EAAE,oBAAoBsnB,WAAWA,WAAW,KAAKzmB,EAAE,oBAAoB0mB,aAAaA,aAAa,KAAK9V,EAAE,qBAAqBwiG,EAAaA,EAAa,KACnT,SAAS/tE,EAAEtnC,GAAG,IAAI,IAAIU,EAAEO,EAAEpB,GAAG,OAAOa,GAAG,CAAC,GAAG,OAAOA,EAAE8uC,SAAS55B,EAAE/V,OAAQ,MAAGa,EAAE40G,WAAWt1G,GAAgD,MAA9C4V,EAAE/V,GAAGa,EAAEy0G,UAAUz0G,EAAE60G,eAAex0G,EAAEjB,EAAEY,GAAcA,EAAEO,EAAEpB,IAAI,SAAS0rC,EAAEvrC,GAAa,GAAVshC,GAAE,EAAGgG,EAAEtnC,IAAOoa,EAAE,GAAG,OAAOnZ,EAAEnB,GAAGsa,GAAE,EAAGlZ,EAAEmzD,OAAO,CAAC,IAAI3zD,EAAEO,EAAEpB,GAAG,OAAOa,GAAGof,EAAEyrB,EAAE7qC,EAAE40G,UAAUt1G,IACla,SAASq0D,EAAEr0D,EAAEU,GAAG0Z,GAAE,EAAGknB,IAAIA,GAAE,EAAGr/B,EAAEmhB,GAAGA,GAAG,GAAGhL,GAAE,EAAG,IAAI/X,EAAEgB,EAAE,IAAS,IAALimC,EAAE5mC,GAAOI,EAAEG,EAAEnB,GAAG,OAAOgB,MAAMA,EAAEy0G,eAAe70G,IAAIV,IAAIsa,MAAM,CAAC,IAAIna,EAAEW,EAAE0uC,SAAS,GAAG,oBAAoBrvC,EAAE,CAACW,EAAE0uC,SAAS,KAAKnuC,EAAEP,EAAE00G,cAAc,IAAI71G,EAAEQ,EAAEW,EAAEy0G,gBAAgB70G,GAAGA,EAAEhM,EAAQw0F,eAAe,oBAAoBvpF,EAAEmB,EAAE0uC,SAAS7vC,EAAEmB,IAAIG,EAAEnB,IAAI8V,EAAE9V,GAAGwnC,EAAE5mC,QAAQkV,EAAE9V,GAAGgB,EAAEG,EAAEnB,GAAG,GAAG,OAAOgB,EAAE,IAAI00B,GAAE,MAAO,CAAC,IAAIh1B,EAAES,EAAEpB,GAAG,OAAOW,GAAGsf,EAAEyrB,EAAE/qC,EAAE80G,UAAU50G,GAAG80B,GAAE,EAAG,OAAOA,EAA1V,QAAoW10B,EAAE,KAAKO,EAAEhB,EAAE+X,GAAE,GADva,qBAAqB2T,gBAAW,IAASA,UAAU0pF,iBAAY,IAAS1pF,UAAU0pF,WAAWC,gBAAgB3pF,UAAU0pF,WAAWC,eAAe7qF,KAAKkB,UAAU0pF,YAC2Q,IACzP34F,EAD6PmR,GAAE,EAAGC,EAAE,KAAK9K,GAAG,EAAE+jB,EAAE,EAAEmtB,GAAG,EACvc,SAASh6C,IAAI,QAAO5lB,EAAQw0F,eAAe50B,EAAEntB,GAAQ,SAASF,IAAI,GAAG,OAAO/Y,EAAE,CAAC,IAAIluB,EAAEtL,EAAQw0F,eAAe50B,EAAEt0D,EAAE,IAAIU,GAAE,EAAG,IAAIA,EAAEwtB,GAAE,EAAGluB,GAAX,QAAsBU,EAAEoc,KAAKmR,GAAE,EAAGC,EAAE,YAAYD,GAAE,EAAS,GAAG,oBAAoBpb,EAAEiK,EAAE,WAAWjK,EAAEo0B,SAAS,GAAG,qBAAqB0uE,eAAe,CAAC,IAAI/0G,EAAE,IAAI+0G,eAAezuE,EAAEtmC,EAAEg1G,MAAMh1G,EAAEi1G,MAAMC,UAAU7uE,EAAEnqB,EAAE,WAAWoqB,EAAEiwB,YAAY,YAAYr6C,EAAE,WAAW1b,EAAE6lC,EAAE,IAAI,SAAS/lC,EAAElB,GAAGkuB,EAAEluB,EAAEiuB,IAAIA,GAAE,EAAGnR,KAAK,SAASgD,EAAE9f,EAAEU,GAAG0iB,EAAEhiB,GAAE,WAAWpB,EAAEtL,EAAQw0F,kBAAiBxoF,GAC1dhM,EAAQo1F,sBAAsB,EAAEp1F,EAAQ40F,2BAA2B,EAAE50F,EAAQk1F,qBAAqB,EAAEl1F,EAAQg1F,wBAAwB,EAAEh1F,EAAQqhH,mBAAmB,KAAKrhH,EAAQ80F,8BAA8B,EAAE90F,EAAQm0F,wBAAwB,SAAS7oF,GAAGA,EAAEwvC,SAAS,MAAM96C,EAAQshH,2BAA2B,WAAW57F,GAAGhC,IAAIgC,GAAE,EAAGlZ,EAAEmzD,KACvU3/D,EAAQuhH,wBAAwB,SAASj2G,GAAG,EAAEA,GAAG,IAAIA,EAAE0zB,QAAQt6B,MAAM,mHAAmH+tC,EAAE,EAAEnnC,EAAEwL,KAAKoF,MAAM,IAAI5Q,GAAG,GAAGtL,EAAQ00F,iCAAiC,WAAW,OAAO/nF,GAAG3M,EAAQwhH,8BAA8B,WAAW,OAAOj1G,EAAEnB,IAAIpL,EAAQyhH,cAAc,SAASn2G,GAAG,OAAOqB,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAIX,EAAE,EAAE,MAAM,QAAQA,EAAEW,EAAE,IAAIhB,EAAEgB,EAAEA,EAAEX,EAAE,IAAI,OAAOV,IAAX,QAAuBqB,EAAEhB,IAAI3L,EAAQ0hH,wBAAwB,aACnf1hH,EAAQu0F,sBAAsB,aAAav0F,EAAQ2hH,yBAAyB,SAASr2G,EAAEU,GAAG,OAAOV,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIK,EAAEgB,EAAEA,EAAErB,EAAE,IAAI,OAAOU,IAAX,QAAuBW,EAAEhB,IAC9L3L,EAAQi0F,0BAA0B,SAAS3oF,EAAEU,EAAEL,GAAG,IAAIF,EAAEzL,EAAQw0F,eAA8F,OAA/E,kBAAkB7oF,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAEi2G,QAA6B,EAAEj2G,EAAEF,EAAEE,EAAEF,EAAGE,EAAEF,EAASH,GAAG,KAAK,EAAE,IAAIL,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAAmN,OAAzMK,EAAE,CAACuB,GAAGnB,IAAIovC,SAAS9uC,EAAE80G,cAAcx1G,EAAEs1G,UAAUj1G,EAAEk1G,eAAvD51G,EAAEU,EAAEV,EAAoEw1G,WAAW,GAAG90G,EAAEF,GAAGH,EAAEm1G,UAAU90G,EAAEU,EAAElB,EAAEG,GAAG,OAAOiB,EAAEnB,IAAIE,IAAIiB,EAAEpB,KAAKyhC,GAAGr/B,EAAEmhB,GAAGA,GAAG,GAAGke,GAAE,EAAGxhB,EAAEyrB,EAAElrC,EAAEF,MAAMH,EAAEm1G,UAAUx1G,EAAEoB,EAAEjB,EAAEE,GAAGoa,GAAGhC,IAAIgC,GAAE,EAAGlZ,EAAEmzD,KAAYr0D,GACletL,EAAQq0F,qBAAqBzuE,EAAE5lB,EAAQ6hH,sBAAsB,SAASv2G,GAAG,IAAIU,EAAEW,EAAE,OAAO,WAAW,IAAIhB,EAAEgB,EAAEA,EAAEX,EAAE,IAAI,OAAOV,EAAE1B,MAAMnG,KAAKkG,WAAxB,QAA2CgD,EAAEhB,O,iDClB5J,gBAAIm2G,EAA2B,qBAAX/pG,GAA0BA,GACjB,qBAATrW,MAAwBA,MAChC8xB,OACR5pB,EAAQ2pB,SAASpzB,UAAUyJ,MAiB/B,SAASm4G,EAAQl1G,EAAIm1G,GACnBv+G,KAAKw+G,IAAMp1G,EACXpJ,KAAKy+G,SAAWF,EAflBhiH,EAAQg0B,WAAa,WACnB,OAAO,IAAI+tF,EAAQn4G,EAAMvG,KAAK2wB,WAAY8tF,EAAOn4G,WAAYsqB,eAE/Dj0B,EAAQmjE,YAAc,WACpB,OAAO,IAAI4+C,EAAQn4G,EAAMvG,KAAK8/D,YAAa2+C,EAAOn4G,WAAYy5D,gBAEhEpjE,EAAQi0B,aACRj0B,EAAQojE,cAAgB,SAAS5uC,GAC3BA,GACFA,EAAQ8tC,SAQZy/C,EAAQ5hH,UAAUgiH,MAAQJ,EAAQ5hH,UAAUkN,IAAM,aAClD00G,EAAQ5hH,UAAUmiE,MAAQ,WACxB7+D,KAAKy+G,SAAS7+G,KAAKy+G,EAAOr+G,KAAKw+G,MAIjCjiH,EAAQoiH,OAAS,SAASxkF,EAAMuW,GAC9BlgB,aAAa2J,EAAKykF,gBAClBzkF,EAAK0kF,aAAenuE,GAGtBn0C,EAAQuiH,SAAW,SAAS3kF,GAC1B3J,aAAa2J,EAAKykF,gBAClBzkF,EAAK0kF,cAAgB,GAGvBtiH,EAAQwiH,aAAexiH,EAAQyiH,OAAS,SAAS7kF,GAC/C3J,aAAa2J,EAAKykF,gBAElB,IAAIluE,EAAQvW,EAAK0kF,aACbnuE,GAAS,IACXvW,EAAKykF,eAAiBruF,YAAW,WAC3B4J,EAAK8kF,YACP9kF,EAAK8kF,eACNvuE,KAKP/pC,EAAQ,KAIRpK,EAAQ2gH,aAAgC,qBAATj/G,MAAwBA,KAAKi/G,cAClB,qBAAX5oG,GAA0BA,EAAO4oG,cACxCl9G,MAAQA,KAAKk9G,aACrC3gH,EAAQ2iH,eAAkC,qBAATjhH,MAAwBA,KAAKihH,gBAClB,qBAAX5qG,GAA0BA,EAAO4qG,gBACxCl/G,MAAQA,KAAKk/G,iB,mCC9DtC,wBAAU5qG,EAAQlT,GACf,aAEA,IAAIkT,EAAO4oG,aAAX,CAIA,IAIIiC,EAJAC,EAAa,EACbC,EAAgB,GAChBC,GAAwB,EACxBC,EAAMjrG,EAAO4pD,SAoJbshD,EAAW/iH,OAAOyD,gBAAkBzD,OAAOyD,eAAeoU,GAC9DkrG,EAAWA,GAAYA,EAASjvF,WAAaivF,EAAWlrG,EAGf,qBAArC,GAAGtE,SAASpQ,KAAK0U,EAAO4b,SApFxBivF,EAAoB,SAAS/6G,GACzB8rB,EAAQmB,UAAS,WAAcouF,EAAar7G,OAIpD,WAGI,GAAIkQ,EAAO0qD,cAAgB1qD,EAAOorG,cAAe,CAC7C,IAAIC,GAA4B,EAC5BC,EAAetrG,EAAOqpG,UAM1B,OALArpG,EAAOqpG,UAAY,WACfgC,GAA4B,GAEhCrrG,EAAO0qD,YAAY,GAAI,KACvB1qD,EAAOqpG,UAAYiC,EACZD,GAwEJE,GApEX,WAKI,IAAIC,EAAgB,gBAAkBzsG,KAAKo9B,SAAW,IAClDsvE,EAAkB,SAAS99C,GACvBA,EAAM76D,SAAWkN,GACK,kBAAf2tD,EAAMryD,MACyB,IAAtCqyD,EAAMryD,KAAKuB,QAAQ2uG,IACnBL,GAAcx9C,EAAMryD,KAAK7L,MAAM+7G,EAAcr9G,UAIjD6R,EAAOylC,iBACPzlC,EAAOylC,iBAAiB,UAAWgmE,GAAiB,GAEpDzrG,EAAO6oF,YAAY,YAAa4iB,GAGpCZ,EAAoB,SAAS/6G,GACzBkQ,EAAO0qD,YAAY8gD,EAAgB17G,EAAQ,MAiD/C47G,GAEO1rG,EAAOkpG,eA/ClB,WACI,IAAI7+C,EAAU,IAAI6+C,eAClB7+C,EAAQ++C,MAAMC,UAAY,SAAS17C,GAE/Bw9C,EADax9C,EAAMryD,OAIvBuvG,EAAoB,SAAS/6G,GACzBu6D,EAAQ8+C,MAAMz+C,YAAY56D,IAyC9B67G,GAEOV,GAAO,uBAAwBA,EAAI51G,cAAc,UAvC5D,WACI,IAAIu2G,EAAOX,EAAIphD,gBACfghD,EAAoB,SAAS/6G,GAGzB,IAAI+7G,EAASZ,EAAI51G,cAAc,UAC/Bw2G,EAAOnmE,mBAAqB,WACxBylE,EAAar7G,GACb+7G,EAAOnmE,mBAAqB,KAC5BkmE,EAAKt2B,YAAYu2B,GACjBA,EAAS,MAEbD,EAAKlgD,YAAYmgD,IA6BrBC,GAxBAjB,EAAoB,SAAS/6G,GACzBmsB,WAAWkvF,EAAc,EAAGr7G,IA8BpCo7G,EAAStC,aA1KT,SAAsB7lE,GAEI,oBAAbA,IACTA,EAAW,IAAIvnB,SAAS,GAAKunB,IAI/B,IADA,IAAI5wC,EAAO,IAAI8G,MAAMrH,UAAUzD,OAAS,GAC/BC,EAAI,EAAGA,EAAI+D,EAAKhE,OAAQC,IAC7B+D,EAAK/D,GAAKwD,UAAUxD,EAAI,GAG5B,IAAI29G,EAAO,CAAEhpE,SAAUA,EAAU5wC,KAAMA,GAGvC,OAFA44G,EAAcD,GAAciB,EAC5BlB,EAAkBC,GACXA,KA6JTI,EAASN,eAAiBA,EA1J1B,SAASA,EAAe96G,UACbi7G,EAAcj7G,GAyBzB,SAASq7G,EAAar7G,GAGlB,GAAIk7G,EAGA/uF,WAAWkvF,EAAc,EAAGr7G,OACzB,CACH,IAAIi8G,EAAOhB,EAAcj7G,GACzB,GAAIi8G,EAAM,CACNf,GAAwB,EACxB,KAjCZ,SAAae,GACT,IAAIhpE,EAAWgpE,EAAKhpE,SAChB5wC,EAAO45G,EAAK55G,KAChB,OAAQA,EAAKhE,QACb,KAAK,EACD40C,IACA,MACJ,KAAK,EACDA,EAAS5wC,EAAK,IACd,MACJ,KAAK,EACD4wC,EAAS5wC,EAAK,GAAIA,EAAK,IACvB,MACJ,KAAK,EACD4wC,EAAS5wC,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAChC,MACJ,QACI4wC,EAASlxC,WAnDpB,EAmDqCM,IAiBlBuqB,CAAIqvF,GADR,QAGInB,EAAe96G,GACfk7G,GAAwB,MAvE3C,CAyLiB,qBAATrhH,KAAyC,qBAAXqW,EAAyBtU,KAAOsU,EAASrW,Q,qDCzLnE,SAASuJ,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAII,EAAEJ,EAAEb,EAAQ,KAAUe,EAAEF,EAAEb,EAAQ,KAAeA,EAAQ,IAAQ,IAAIgB,EAAEhB,EAAQ,IAAaA,EAAQ,IAAwC,IAAIkB,EAAElB,EAAQ,IAAiB,SAASyB,EAAEZ,GAAG,IAAIG,EAAEH,EAAE2C,gBAAgBtC,EAAEL,EAAE/H,KAAK2I,EAAEZ,EAAEkU,QAAQrT,EAAEb,EAAEgC,OAAO,OAAO5B,EAAE+B,cAAc,IAAI,CAAC,cAActB,EAAEwB,UAAUnC,EAAE,qBAAqBC,EAAE,0BAA0BE,IAAIO,GAAG1B,EAAOnK,QAAQ,SAASiL,GAAG,IAAIa,EAAEb,EAAE84G,MAAM59G,EAAE8E,EAAE+4G,WAAWz4G,EAAEN,EAAEg5G,SAASz4G,EAAEP,EAAE2C,gBAAgBjC,EAAEV,EAAE+E,SAASvE,EAAER,EAAEi5G,cAAcx4G,EAAET,EAAEk5G,eAAe93G,EAAEpB,EAAEgC,OAAOR,EAAEgyB,QAAQ,MAAMhzB,OAAE,EAAOA,EAAEvF,QAAQ8kB,EAAEyT,QAAQ,MAAM/yB,OAAE,EAAOA,EAAExF,QAAQ0F,EAAET,EAAE,aAAaK,EAAE,CAAC,wBAAwBiB,IAAI,OAAOpB,EAAE+B,cAAc,MAAM,CAACE,UAAU1B,EAAE,cAAcS,GAAGhB,EAAE+B,cAAc,QAAQ,CAACP,GAAG1G,EAAEs2D,QAAQlxD,EAAE+B,UAAU,qBAAqBmxB,QAAQ3yB,IAAIT,EAAE+B,cAAc,OAAO,CAACE,UAAU,qBAAqBxB,GAAGH,GAAGc,GAAGpB,EAAE+B,cAAchC,EAAE,CAAC6B,OAAOZ,EAAE,kBAAkBuB,gBAAgB,iCAAiCiC,MAAMpE,IAAI,SAASR,EAAEE,GAAG,OAAOE,EAAE+B,cAAc9B,EAAE,CAACsC,gBAAgB,wCAAwCvC,EAAE+B,cAAcvB,EAAE,CAAC3I,KAAK,QAAQic,QAAQlU,EAAEgC,OAAO9B,SAASsB,GAAGue,GAAG3f,EAAE+B,cAAchC,EAAE,CAAC6B,OAAOZ,EAAE,mBAAmBuB,gBAAgB,kCAAkCiC,MAAMnE,IAAI,SAAST,EAAEE,GAAG,OAAOE,EAAE+B,cAAc9B,EAAE,CAACsC,gBAAgB,yCAAyCvC,EAAE+B,cAAcvB,EAAE,CAAC3I,KAAK,SAASic,QAAQlU,EAAEgC,OAAO9B,W,6BCA54C,SAASF,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIG,EAAEhB,EAAQ,IAASiB,EAAEJ,EAAEG,GAAGD,EAAEF,EAAEb,EAAQ,KAAekB,EAAElB,EAAQ,IAAwBA,EAAQ,IAA6B,IAAImB,EAAEnB,EAAQ,IAAcA,EAAQ,IAAgB,IAAIjE,EAAEiE,EAAQ,IAAeD,EAAOnK,QAAQ,SAASiL,GAAG,IAAIO,EAAEP,EAAEgC,OAAOvB,EAAET,EAAExE,KAAKoF,EAAEZ,EAAEhK,MAAM0K,EAAEV,EAAEonC,SAAS5mC,EAAER,EAAE8mC,SAASnmC,EAAEX,EAAEgzB,YAAYnyB,EAAEb,EAAE2C,gBAAgBrB,EAAEtB,EAAEm5G,SAASh4G,EAAEnB,EAAEo5G,WAAWvjF,EAAEx1B,EAAE4E,OAAO9E,EAAE+E,UAAS,GAAI,GAAGnE,EAAE80B,EAAE,GAAGz0B,EAAEy0B,EAAE,GAAG70B,EAAEd,EAAE,uBAAuB,CAAC,mCAAmCszB,QAAQ5yB,KAAKY,EAAEtB,EAAE,iBAAiBW,GAAGK,EAAE,gBAAgBG,EAAEF,EAAE4e,EAAE,WAAW,OAAOhf,IAAIG,EAAE,gBAAgBG,EAAEC,EAAEye,EAAE,QAAQ3f,EAAE+B,cAAc7B,EAAE,CAAC0B,OAAOzB,EAAEtI,KAAK8nB,EAAEvkB,KAAKiF,EAAEkC,gBAAgBnB,EAAExL,MAAM4K,EAAEkmC,SAAStmC,EAAEwyB,YAAYryB,EAAEymC,SAAS1mC,EAAEsmC,UAAU7lC,GAAGG,GAAGlB,EAAE+B,cAAcjH,EAAE,CAAC8G,OAAOzB,EAAE,4BAA4BoC,gBAAgB3B,EAAE,aAAaE,EAAEsB,QAAQ,WAAWpB,GAAGL,IAAIsyB,uBAAsB,EAAGD,sBAAqB,GAAI/xB,O,8DCAx6B,SAASrB,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEF,EAAEb,EAAQ,KAAUyB,EAAEZ,EAAEb,EAAQ,KAAe,SAASoB,IAAI,OAAOA,EAAEtL,OAAOof,QAAQ,SAASrU,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAExB,UAAUzD,OAAOiF,IAAI,CAAC,IAAIU,EAAElC,UAAUwB,GAAG,IAAI,IAAIK,KAAKK,EAAE3L,OAAOC,UAAUE,eAAegD,KAAKwI,EAAEL,KAAKP,EAAEO,GAAGK,EAAEL,IAAI,OAAOP,IAAIrB,MAAMnG,KAAKkG,WAAW,IAAI2B,EAAE,SAAC,GAAD,EAAEoyD,OAAF,IAAiB7xD,EAAjB,cAAsBV,EAAEiC,cAAc,MAAM5B,EAAE,CAACmuB,MAAM,KAAKC,OAAO,IAAIthB,KAAK,OAAOwhB,MAAM,8BAA8BjuB,GAAGV,EAAEiC,cAAc,OAAO,CAAC2sB,SAAS,UAAUC,SAAS,UAAUvuB,EAAE,oEAAoE6M,KAAK,WAAUnO,EAAOnK,QAAQ,SAASiL,GAAG,IAAIO,EAAEP,EAAE2yB,KAAKjyB,EAAEV,EAAE+xD,SAAS72D,EAAE8E,EAAE2C,gBAAgBvC,EAAEJ,EAAEgyD,WAAW7xD,EAAEH,EAAE4C,WAAWtC,EAAEN,EAAEq5G,WAAW54G,EAAET,EAAEgC,OAAOxB,EAAED,EAAE0xD,WAAWpxD,EAAEL,EAAEhF,KAAKmF,EAAEH,EAAExK,MAAMsL,EAAEd,EAAEgxD,QAAQzwD,EAAER,EAAEwC,QAAQ3B,EAAER,EAAE,uBAAuB1F,EAAE,CAAC,oCAAoCkF,EAAE,oCAAoCD,IAAIgB,EAAEb,GAAGJ,EAAEiC,cAAc9B,EAAE,MAAM,OAAOH,EAAEiC,cAAc,QAAQ,CAAC,cAAc1B,EAAE+wD,QAAQlwD,EAAEe,UAAUjB,GAAGlB,EAAEiC,cAAc,QAAQ,CAAClK,KAAK,WAAW2J,GAAGN,EAAE9F,KAAKqF,EAAE7K,MAAM2K,EAAE0B,UAAU,iBAAiB+kC,SAAS,SAASpnC,GAAGU,EAAEH,EAAEP,IAAIiI,QAAQ7H,EAAEwzB,SAASzzB,IAAID,EAAEiC,cAAc,OAAO,CAACE,UAAU,8BAA8BlB,GAAGJ,K,cCelsC7B,EAAOnK,QAfP,SAAuC6K,EAAQ2yB,GAC7C,GAAc,MAAV3yB,EAAgB,MAAO,GAC3B,IAEI7J,EAAKmF,EAFLqC,EAAS,GACT2uC,EAAaj3C,OAAO+G,KAAK4D,GAG7B,IAAK1E,EAAI,EAAGA,EAAIgxC,EAAWjxC,OAAQC,IACjCnF,EAAMm2C,EAAWhxC,GACbq3B,EAAS5oB,QAAQ5T,IAAQ,IAC7BwH,EAAOxH,GAAO6J,EAAO7J,IAGvB,OAAOwH,GAGuC2B,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,6BCfxG,SAASiL,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEF,EAAEb,EAAQ,KAAUiB,EAAEJ,EAAEb,EAAQ,KAAeA,EAAQ,IAAQ,IAAIgB,EAAEhB,EAAQ,IAAaA,EAAQ,IAAwC,IAAIjE,EAAEiE,EAAQ,IAAiBkB,EAAElB,EAAQ,KAAcD,EAAOnK,QAAQ,SAASiL,GAAG,IAAIS,EAAET,EAAE4E,MAAMtE,EAAEN,EAAEgC,OAAOtB,EAAEV,EAAE+xD,SAASxxD,EAAEP,EAAEs5G,aAAa94G,EAAER,EAAE2C,gBAAgB/B,EAAEZ,EAAE4C,WAAW,OAAO1C,EAAEiC,cAAchC,EAAE,CAAC6B,OAAO1B,EAAEsE,MAAMnE,EAAEkC,gBAAgBvC,EAAE,cAAcI,KAAK,SAASR,EAAEG,GAAG,OAAOD,EAAEiC,cAAcjH,EAAE,CAACyH,gBAAgBvC,EAAE,oBAAoBJ,EAAE2C,kBAAkBzC,EAAEiC,cAAc9B,EAAE,CAAC2B,OAAO7B,EAAEyC,WAAWhC,GAAGZ,EAAE4C,WAAW+vB,KAAK3yB,EAAE+xD,SAASrxD,EAAEsxD,WAAWx+B,QAAQjzB,GAAGA,EAAEqB,KAAK5B,EAAE4B,Y,8DCA5pB,SAAS5B,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEf,EAAQ,IAASoB,EAAEP,EAAEE,GAAGG,EAAEL,EAAEb,EAAQ,KAAemB,EAAEnB,EAAQ,IAAwCiB,EAAEjB,EAAQ,IAAiBgB,EAAEhB,EAAQ,IAAwBA,EAAQ,IAA6BA,EAAQ,IAAc,IAAIjE,EAAEiE,EAAQ,IAAgBA,EAAQ,IAAe,IAAIyB,EAAEzB,EAAQ,KAAuBuB,EAAEvB,EAAQ,KAA0BsB,EAAEtB,EAAQ,IAA4B,SAASqB,EAAER,GAAG,MAAM,CAAC4B,GAAG5B,EAAE4B,GAAGmB,QAAQ/C,EAAE6B,MAAM9K,QAAQiJ,GAAG,SAASW,IAAI,OAAOA,EAAE1L,OAAOof,QAAQ,SAASrU,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAExB,UAAUzD,OAAOiF,IAAI,CAAC,IAAIK,EAAE7B,UAAUwB,GAAG,IAAI,IAAIG,KAAKE,EAAEtL,OAAOC,UAAUE,eAAegD,KAAKmI,EAAEF,KAAKL,EAAEK,GAAGE,EAAEF,IAAI,OAAOL,IAAIrB,MAAMnG,KAAKkG,WAAW,IAAImC,EAAE,SAAC,GAAD,EAAE4xD,OAAF,IAAiBvyD,EAAjB,cAAsBK,EAAE4B,cAAc,MAAMxB,EAAE,CAACiuB,QAAQ,YAAYvhB,KAAK,OAAOwhB,MAAM,8BAA8B3uB,GAAGK,EAAE4B,cAAc,OAAO,CAAC3B,EAAE,sBAAsB+4G,OAAO,UAAUl0B,YAAY,UAAS,SAAS/jF,EAAEtB,GAAG,IAAIE,EAAEF,EAAEgC,OAAO5B,EAAEJ,EAAE4/E,IAAIz/E,EAAEH,EAAEw5G,SAASt+G,EAAE8E,EAAE2C,gBAAgB/B,EAAEP,EAAE,MAAMnF,EAAE,CAAC,oBAAoBiF,IAAI,OAAOI,EAAE4B,cAAc,MAAM,CAACF,KAAK,SAASiqB,SAAS,EAAE,cAAchsB,EAAEkyD,UAAU,SAASpyD,GAAG,OAAOA,EAAE2zB,kBAAkB3zB,EAAEjK,KAAK,KAAKuK,EAAE8qB,mBAAmBC,MAAM,KAAK/qB,EAAE8qB,mBAAmBK,UAAU/qB,MAAM2B,UAAUzB,EAAE4B,QAAQ9B,GAAGH,EAAE4B,cAAc,MAAM,CAACE,UAAU,aAAajC,EAAE2C,SAAS5C,GAAGI,EAAE4B,cAActB,EAAE,CAACwB,UAAU,kBAAkB,eAAc,KAAM,SAAS3B,IAAIP,GAAGA,EAAEC,IAAI,SAASsB,EAAE1B,GAAG,IAAIE,EAAEF,EAAEy5G,KAAKn5G,EAAEN,EAAE2C,gBAAgBxC,EAAEH,EAAE05G,gBAAgBx+G,EAAE8E,EAAEkxB,MAAM,OAAO3wB,EAAE4B,cAAc,KAAK,CAACE,UAAUhC,EAAE,oCAAoCC,IAAIJ,EAAE8tB,KAAK,SAAShuB,GAAG,OAAOO,EAAE4B,cAAc/B,EAAE,CAACrK,IAAIiK,EAAE4B,GAAGe,gBAAgB,2CAA2CpC,EAAE4B,cAAcb,EAAE,CAACk4G,SAASr5G,EAAEwC,gBAAgB,+CAA+Ci9E,IAAI5/E,QAAQ9E,GAAGgE,EAAOnK,QAAQ,SAASiL,GAAG,IAAII,EAAEJ,EAAEgC,OAAOrB,EAAEX,EAAE25G,gBAAgB94G,EAAEb,EAAE45G,gBAAgBt4G,EAAEtB,EAAE65G,eAAez4G,EAAEpB,EAAE85G,YAAYt4G,EAAExB,EAAE+5G,gBAAgBz3G,EAAEtC,EAAE+xD,SAAShyC,EAAE/f,EAAE2C,gBAAgBxB,EAAEnB,EAAEg6G,oBAAoBnkF,EAAE71B,EAAEi6G,6BAA6B54G,OAAE,IAASw0B,GAAGA,EAAEtH,EAAEvuB,EAAEk6G,6BAA6Bn5G,OAAE,IAASwtB,GAAGA,EAAED,EAAEtuB,EAAE4C,WAAWnB,EAAEzB,EAAEy0D,uBAAuBt0C,OAAE,IAAS1e,GAAGA,EAAE0b,EAAEnd,EAAE40D,oBAAoB1zD,OAAE,IAASic,GAAGA,EAAEwkB,EAAE3hC,EAAEq0D,mBAAmBrzD,EAAEhB,EAAEmzB,cAAclyB,EAAEjB,EAAEm6G,eAAe7yE,OAAE,IAASrmC,EAAE,GAAGA,EAAEgV,EAAEjW,EAAEo6G,kBAAkBt5G,EAAEZ,EAAEsyD,OAAO,MAAM/3C,EAAEta,EAAE8E,OAAO/E,EAAEgF,UAAS,GAAI,GAAG3D,EAAEkZ,EAAE,GAAGvH,EAAEuH,EAAE,GAAG+sB,EAAErnC,EAAE8E,OAAO/E,EAAEgF,SAASvE,GAAG,GAAG6U,EAAEgyB,EAAE,GAAG/jB,EAAE+jB,EAAE,GAAG7sB,EAAExa,EAAE8E,OAAO/E,EAAEgF,UAAS,GAAI,GAAGwiC,EAAE/sB,EAAE,GAAGg6C,EAAEh6C,EAAE,GAAG4sB,EAAEpnC,EAAE8E,OAAO/E,EAAEgF,SAASoiC,GAAG,GAAGwE,EAAEvE,EAAE,GAAGqE,EAAErE,EAAE,GAAGmtB,EAAE,iBAAiBz+C,EAAEA,EAAE61B,EAAErzB,EAAE5X,EAAEmtB,IAAIxtB,GAAGmnC,EAAEnU,QAAQryB,GAAGN,EAAE5F,QAAQkG,GAAGoU,GAAGpU,GAAGA,EAAE,EAAEuZ,GAAGnF,GAAGie,QAAQryB,GAAGN,EAAE5F,QAAQkG,EAAE,GAAGymC,EAAEvnC,EAAE,mBAAmB0f,EAAE,CAAC,yCAAyCyT,QAAQ3yB,EAAE5F,QAAQ,wCAAwCsa,EAAE,0CAA0ChU,IAAIszD,GAAG7zD,GAAGT,EAAE4B,cAAcjH,EAAE,CAACyH,gBAAgB,8BAA8BzC,EAAE2nC,WAAW,WAAWpkB,EAAE9iB,KAAK,CAACA,IAAIT,EAAE2nC,WAAW,WAAW,IAAI7nC,EAAE,OAAO0nC,IAAI1nC,EAAE+oB,YAAY,WAAWjoB,EAAE0lC,UAAU1lC,EAAE0lC,QAAQ+P,QAAQoe,GAAE,QAAS,WAAW3rC,aAAahpB,MAAM,CAAC0nC,IAAI,IAAIotB,GAAGv0D,EAAE4B,cAAc,MAAM,CAACE,UAAU,sCAAsC9B,EAAE4B,cAAcT,EAAE,CAAC+3G,KAAKp4G,EAAEoX,EAAE,GAAGihG,gBAAgB,SAAS15G,GAAGoB,IAAIA,EAAEpB,EAAEjJ,SAAS49D,GAAE,KAAMzjC,OAAOyW,GAAGpnC,EAAE4B,cAAcvB,EAAE,CAACoB,OAAO5B,EAAE,UAAUuC,gBAAgB,0BAA0Bf,GAAGN,EAAEM,GAAGpG,KAAK8F,EAAE9F,KAAKvD,KAAKqJ,EAAErJ,KAAK+6B,YAAY1xB,EAAE0xB,YAAYh9B,MAAM0+D,EAAErC,cAAc,SAASryD,GAAGe,GAAG0iB,EAAE,SAASzjB,EAAEE,GAAG,IAAIK,EAAEP,EAAE,OAAOE,IAAIK,EAAEP,EAAER,QAAQ,SAASQ,GAAG,OAAOA,EAAE6B,OAAO7B,EAAE6B,MAAMgH,cAAc2F,SAAStO,EAAE2I,mBAAmBtI,EAA7H,CAAgII,EAAEX,IAAIwB,GAAGA,EAAExB,QAAG,IAASiW,GAAG21B,EAAE5rC,IAAIoyD,UAAU,SAASpyD,GAAGA,EAAEjK,MAAMuK,EAAE8qB,mBAAmBK,YAAYipC,GAAGtzD,GAAGP,EAAE5F,SAAS+E,EAAE2zB,kBAAkBvyB,EAAEP,EAAEA,EAAE5F,OAAO,MAAM+rC,UAAUrF,EAAEkzB,GAAGt0D,EAAE4B,cAAczB,EAAEozD,cAAc,CAAC,eAAc,IAAK5B,QAAQ,SAASlyD,GAAGkB,IAAIotB,GAAGpb,GAAE,GAAI5R,EAAE4wD,SAAS5wD,EAAE4wD,QAAQlyD,IAAI4C,WAAW0rB,OAAO,OAAO/tB,EAAE4B,cAAczB,EAAEkD,SAAS,CAAC5B,OAAO5B,EAAEuC,gBAAgBilC,EAAEssB,oBAAoBY,GAAG7yD,KAAK,UAAU6mC,QAAQroC,EAAEwyC,oBAAoBz9B,EAAE,KAAK3U,GAAGkxD,SAAS,SAAS/xD,GAAG2nC,IAAIrlC,EAAEtC,GAAGyjB,EAAE9iB,GAAGirC,EAAE,IAAI+oB,GAAE,KAAMhC,eAAe,KAAKsB,eAAe,CAAC1yD,EAAE2R,GAAG8gD,mBAAkB,EAAGG,oBAAoBz5C,EAAE85C,mBAAkB,EAAG5xD,WAAW0rB,EAAE+lC,mBAAmB1yB,EAAE8yB,uBAAuBt0C,EAAEy0C,oBAAoB1zD,M,6BCA5iI,SAASlB,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEF,EAAEb,EAAQ,KAAUkB,EAAEL,EAAEb,EAAQ,KAAeyB,EAAEzB,EAAQ,IAAwBA,EAAQ,IAAgB,IAAIgB,EAAEhB,EAAQ,KAAkBiB,EAAEF,EAAEyB,YAAY,SAAS3B,EAAEI,GAAG,IAAIK,EAAET,EAAEq6G,aAAa95G,EAAEP,EAAE+E,SAASzE,EAAEN,EAAE2C,gBAAgBzH,EAAE8E,EAAE0xD,qBAAqBhxD,EAAEE,EAAE0T,OAAOtU,EAAE,CAAC,eAAe,WAAW,kBAAkB,yBAAyB,OAAOE,EAAEiC,cAAchC,EAAES,EAAEwT,SAAS,GAAG1T,EAAE,CAAC0B,IAAIhC,EAAEuC,gBAAgBtC,EAAE,qBAAqBC,GAAGoxD,qBAAqBrxD,EAAE,4BAA4B,SAASnF,GAAGksC,SAAS,SAASpnC,GAAG,IAAIE,EAAEF,EAAE8nC,cAAcwyE,MAAM75G,IAAI,MAAMP,OAAE,EAAOA,EAAEjF,SAASwF,EAAEP,MAAMK,MAAMrB,EAAOnK,QAAQqL,G,6BCA1pB,SAASJ,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEf,EAAQ,IAASkB,EAAEL,EAAEE,GAAGI,EAAEN,EAAEb,EAAQ,KAAegB,EAAEhB,EAAQ,IAAwCiB,EAAEjB,EAAQ,IAAwBoB,EAAEP,EAAEb,EAAQ,MAA4BD,EAAOnK,QAAQ,SAASiL,GAAG,IAAI9E,EAAE8E,EAAExE,KAAKiF,EAAET,EAAEhK,MAAM4K,EAAEZ,EAAE4C,WAAWpC,EAAER,EAAE+B,iBAAiBrB,EAAEV,EAAEgC,OAAOnB,EAAEb,EAAEu6G,QAAQj4G,EAAEtC,EAAEusB,MAAM7qB,EAAE1B,EAAEw6G,cAAch5G,EAAExB,EAAEy6G,mBAAmBt5G,EAAEnB,EAAE06G,WAAWt5G,EAAEpB,EAAE26G,aAAah6G,EAAEX,EAAE8mC,SAAS3mB,EAAEngB,EAAEoyD,UAAU/wD,EAAErB,EAAEknC,aAAapmC,OAAE,IAASO,EAAE,MAAMA,EAAEI,EAAEzB,EAAEmnC,YAAYG,OAAE,IAAS7lC,EAAE,MAAMA,EAAEV,EAAEf,EAAEyzB,UAAUnyB,OAAE,IAASP,GAAGA,EAAEC,EAAEZ,EAAEkU,OAAOtU,EAAE,CAAC,OAAO,QAAQ,aAAa,mBAAmB,SAAS,UAAU,QAAQ,gBAAgB,qBAAqB,aAAa,eAAe,WAAW,YAAY,eAAe,cAAc,cAAcsuB,EAAEluB,EAAE6E,OAAO/E,EAAEgF,UAAS,GAAI,GAAG6a,EAAEuO,EAAE,GAAGuH,EAAEvH,EAAE,GAAGnR,EAAE7c,EAAE,qBAAqB,MAAME,OAAE,EAAOA,EAAE0B,UAAU,CAAC,sBAAsBvB,EAAE,wBAAwBC,IAAIK,EAAEX,EAAE,WAAW,MAAME,OAAE,EAAOA,EAAEo6G,UAAU,OAAOv6G,EAAE8B,cAAc,MAAM,CAAC,cAAc,qBAAqBE,UAAU8a,GAAGzb,EAAErB,EAAE8B,cAAc5B,EAAEH,EAAEgU,SAAS,CAAC/R,UAAUpB,EAAE,cAAcP,EAAElF,KAAKN,EAAElF,MAAMyK,EAAEymC,aAAapmC,EAAEqmC,YAAYG,EAAE1T,SAAShzB,EAAEwxD,UAAUl/C,EAAEqnG,QAAQ/kG,EAAE+W,MAAM7qB,EAAE6qB,MAAMkhD,QAAQ/rE,EAAE+rE,QAAQC,QAAQhsE,EAAEgsE,QAAQG,eAAensE,EAAEmsE,eAAegtC,SAAS15G,EAAEsyB,UAAUnyB,GAAGN,IAAIX,EAAE8B,cAAc,WAAW/B,EAAEgU,SAAS,CAAC/R,UAAUpB,EAAE,cAAcP,EAAElF,KAAKN,EAAElF,MAAMyK,EAAEymC,aAAapmC,EAAEqmC,YAAYG,EAAE1T,SAAShzB,EAAEwxD,UAAUl/C,EAAEqnG,QAAQ/kG,EAAE+W,MAAMjqB,EAAEu4G,SAAS15G,EAAEsyB,UAAUnyB,GAAGN,KAAK,SAASkS,EAAElT,GAAG,IAAIE,EAAEF,EAAEjK,IAAIsK,EAAED,EAAEgU,SAAS,GAAGpU,GAAGK,EAAEynC,cAActsC,KAAKN,EAAEgF,IAAIC,EAAEirB,mBAAmBC,OAAOtL,GAAGve,GAAGxB,EAAE0zB,iBAAiBlyB,KAAKue,GAAG3e,IAAIpB,EAAE0zB,iBAAiBtyB,KAAKlB,IAAIC,EAAEirB,mBAAmBW,OAAO8J,GAAE,GAAI1V,GAAGA,EAAE9f,GAAG,SAASmV,EAAExV,GAAGA,EAAEjK,MAAMoK,EAAEirB,mBAAmBW,OAAO8J,GAAE,GAAIh1B,GAAGA,EAAEb,M,6BCA9tD,SAASA,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE/K,OAAOgB,eAAelB,EAAQ,aAAa,CAACiB,OAAM,IAAK,IAAIkK,EAAEf,EAAQ,IAASyB,EAAEZ,EAAEE,GAAGI,EAAEN,EAAEb,EAAQ,KAAeA,EAAQ,IAAwC,IAAIjE,EAAEiE,EAAQ,IAAiBiB,EAAEjB,EAAQ,IAAwBgB,EAAED,EAAE+6E,cAAc,CAAC6/B,cAAc,GAAGC,SAAS,aAAaC,mBAAkB,IAAK,SAASz6G,EAAEP,GAAG,IAAIE,EAAEF,EAAE+E,SAAS7J,EAAE8E,EAAE+6G,SAAS36G,EAAEJ,EAAE86G,cAAcv6G,OAAE,IAASH,EAAE,GAAGA,EAAEC,EAAEL,EAAEg7G,kBAAkBt6G,OAAE,IAASL,GAAGA,EAAEI,EAAET,EAAE+vB,SAAShQ,OAAE,IAAStf,EAAE,aAAaA,EAAED,EAAER,EAAE4C,WAAW/B,EAAEb,EAAE2C,gBAAgBhC,EAAEL,EAAE,SAASO,EAAE,CAAC,wBAAwB,eAAekf,EAAE,sBAAsB,aAAaA,EAAE,sBAAsBvf,IAAI,OAAOI,EAAEuB,cAAc,KAAK,CAACE,UAAU1B,GAAGC,EAAEuB,cAAchC,EAAEk7E,SAAS,CAACrlF,MAAM,CAAC8kH,cAAcv6G,EAAEw6G,SAAS7/G,EAAE8/G,kBAAkBt6G,IAAIR,IAAIC,EAAEhF,YAAY,gBAAgBoF,EAAEopB,KAAK,SAAS3pB,GAAG,IAAIO,EAAEP,EAAE+E,SAAS1E,EAAEL,EAAEi7G,OAAOv6G,EAAEV,EAAE2C,gBAAgBlC,EAAET,EAAE4C,WAAWmd,EAAE/f,EAAEgC,OAAOxB,EAAE,WAAW,IAAIR,EAAEE,EAAEg8E,WAAW/7E,GAAG,IAAIH,EAAE,MAAM,IAAI3I,MAAM,4DAA4D,OAAO2I,EAA1H,GAA+Ha,EAAEL,EAAEs6G,cAAcn6G,EAAEH,EAAEu6G,SAAS55G,EAAEX,EAAEw6G,kBAAkB55G,EAAEP,EAAE2N,SAASnO,GAAGU,EAAET,EAAE,cAAcI,EAAE,CAAC,2BAA2BU,EAAE,2BAA2BX,IAAI,OAAOG,EAAEuB,cAAcjH,EAAE,CAAC8G,OAAO+d,EAAEpd,gBAAgB5B,GAAGH,EAAEuB,cAAc,QAAQ,CAACE,UAAU,sBAAsBzB,EAAEuB,cAAc,QAAQ,CAAClK,KAAK,WAAWoK,UAAU,eAAe4F,QAAQ7G,EAAEwyB,SAASnzB,EAAE2mC,SAAS,WAAW,IAAIpnC,EAAEA,EAAEoB,EAAEP,EAAErB,QAAQ,SAASQ,GAAG,OAAOA,IAAIK,KAAKc,EAAEf,EAAEoU,SAAS3T,EAAE,CAACR,IAAI,CAACA,GAAGM,EAAEX,MAAMO,KAAKxL,EAAQiP,OAAOzD,EAAExL,EAAQmmH,cAAc/6G,G,6BCA5hD,SAASH,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEF,EAAEb,EAAQ,KAAUkB,EAAEL,EAAEb,EAAQ,KAAeD,EAAOnK,QAAQ,SAASiL,GAAG,IAAII,EAAEJ,EAAE+6G,SAASr6G,EAAEV,EAAEm7G,YAAYjgH,EAAE8E,EAAE4C,WAAWhC,EAAEZ,EAAE2C,gBAAgBxC,EAAEH,EAAEgC,OAAOzB,EAAEF,EAAE,SAASO,EAAE,CAAC,sBAAsB1F,IAAI,OAAOgF,EAAEiC,cAAc,QAAQ,CAAC,cAAchC,EAAEkC,UAAU9B,GAAGL,EAAEiC,cAAc,QAAQ,CAACE,UAAU,qBAAqBpK,KAAK,WAAWgQ,QAAQvH,EAAEkzB,SAAS14B,EAAEksC,SAAShnC,EAAE6B,KAAK,SAAS,eAAevB,EAAE,gBAAgBxF,IAAIgF,EAAEiC,cAAc,OAAO,CAACE,UAAU,sB,6BCAzgB,SAASrC,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIE,EAAEf,EAAQ,IAASgB,EAAEH,EAAEE,GAAGK,EAAEP,EAAEb,EAAQ,KAAekB,EAAElB,EAAQ,IAAamB,EAAEnB,EAAQ,IAAiBjE,EAAEiE,EAAQ,IAAwB,SAASsB,EAAET,GAAG,MAAM,CAACA,EAAE,GAAGA,EAAE,IAAI2iD,MAAM,SAAS3iD,EAAEE,GAAG,OAAOF,EAAEynD,UAAUvnD,EAAEunD,aAAa,SAASrnD,EAAEJ,EAAEE,EAAEC,GAAG,IAAII,EAAEF,EAAEC,OAAE,IAASJ,IAAIA,EAAE,QAAG,IAASC,IAAIA,EAAE,QAAQH,EAAE/E,OAAO,GAAG,OAAOkF,GAAGE,GAAGE,EAAErF,EAAE+J,OAAOxE,EAAE,CAACT,EAAE,GAAGA,EAAE,IAAI,IAAImpC,OAAO,IAAI,GAAG7oC,EAAEC,EAAE,KAAKD,EAAEN,EAAE,GAAGK,EAAE,IAAI8oC,MAAM,IAAI/oC,EAAEE,EAAEmnD,UAAUpnD,EAAEonD,UAAU/mD,GAAGN,EAAEF,GAAG,IAAI,MAAM,CAACkiC,MAAMhiC,EAAEg7G,KAAKvvG,KAAKoF,MAAMvQ,EAAE,OAAO26G,MAAMxvG,KAAKoF,MAAMvQ,EAAE,KAAK,IAAI46G,QAAQzvG,KAAKoF,MAAMvQ,EAAE,KAAK,IAAI66G,QAAQ1vG,KAAKoF,MAAMvQ,EAAE,KAAK,KAAK,SAASA,EAAEV,GAAG,IAAIG,EAAEH,EAAEi1F,MAAM10F,EAAEP,EAAEw7G,QAAQn7G,OAAE,IAASE,EAAE,IAAIA,EAAED,EAAEN,EAAEy7G,UAAUh7G,OAAE,IAASH,EAAE,OAAOA,EAAEI,EAAEV,EAAE07G,MAAMl7G,EAAEN,EAAEsyD,OAAO,GAAG5xD,EAAEV,EAAEsyD,SAAS3xD,EAAE3F,EAAE+J,OAAO/E,EAAEgF,SAAS9E,EAAED,EAAEK,EAAEgmC,QAAQ/lC,IAAI,GAAGW,EAAEP,EAAE,GAAGM,EAAEN,EAAE,GAAGF,EAAEzF,EAAE+J,OAAO9E,EAAE,GAAGmB,EAAEX,EAAE,GAAGk1B,EAAEl1B,EAAE,GAAGof,EAAE7f,EAAEsyD,SAAS,OAAOtyD,EAAEuzD,iBAAiB,WAAW1zC,EAAEymB,QAAQ9lC,IAAI,CAACA,IAAIR,EAAEuzD,iBAAiB,WAAW,OAAO7yD,EAAE4lC,QAAQ0xB,aAAa,WAAWriC,IAAIr1B,EAAEgmC,SAASnmC,GAAG,IAAIL,EAAEI,EAAE,CAACkB,EAAEu0B,GAAGr1B,EAAEgmC,QAAQ/lC,GAAGT,EAAEoiC,OAAO,IAAIjhC,EAAEnB,IAAIm4D,cAAcv3D,EAAE4lC,SAASrlC,EAAE,CAACihC,MAAM,EAAEg5E,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,OAAOl7G,GAAG,WAAW83D,cAAcv3D,EAAE4lC,YAAY,CAACnmC,EAAEiB,EAAEu0B,EAAEp1B,IAAIP,EAAE2nC,WAAW,WAAWzmC,EAAEghC,OAAO,IAAI+1B,cAAcv3D,EAAE4lC,SAASzmB,EAAEymB,SAASzmB,EAAEymB,aAAa,CAACplC,EAAEghC,QAAQhhC,EAAErM,EAAQmP,UAAU,SAASlE,GAAG,IAAII,EAAEJ,EAAEgC,OAAOxB,EAAER,EAAEi1F,MAAMr0F,EAAEZ,EAAE27G,cAAc96G,OAAE,IAASD,EAAE,EAAEA,EAAEQ,EAAEpB,EAAEy7G,UAAUt6G,OAAE,IAASC,EAAE,OAAOA,EAAET,EAAEX,EAAE47G,kBAAkBt6G,OAAE,IAASX,GAAGA,EAAEk1B,EAAE71B,EAAE67G,SAAS97F,EAAE/f,EAAE07G,MAAMh6G,EAAE1B,EAAE2C,gBAAgB1B,EAAE,SAASjB,EAAEE,GAAG,IAAIC,EAAEH,EAAE67G,SAASt7G,EAAEP,EAAE47G,kBAAkBv7G,EAAE,GAAG,OAAOA,EAAEH,EAAEk7G,MAAM,EAAE,CAAC,OAAO,QAAQ,WAAWl7G,EAAEm7G,OAAO,EAAE,CAAC,QAAQ,WAAW,CAAC,UAAU,WAAW96G,GAAGL,EAAEm7G,OAAO,GAAGh7G,EAAE3F,KAAK,WAAW2F,EAAE2tB,KAAK,SAAShuB,GAAG,MAAM,CAAC4B,GAAG5B,EAAE2wB,MAAMzwB,EAAEF,GAAGwI,WAAW0jD,SAAS,EAAE,KAAKrqD,OAAO1B,EAAEA,EAAEH,QAAG,IAASA,MAA1R,CAAiS,CAAC67G,SAAShmF,EAAE+lF,kBAAkBt6G,GAAGZ,EAAE,CAACu0F,MAAMz0F,EAAEg7G,QAAQ,IAAI36G,EAAE46G,UAAUt6G,EAAEu6G,MAAM37F,KAAK,OAAO7f,EAAE2nC,WAAW,WAAW,IAAI7nC,EAAE9E,EAAE+J,OAAOxE,EAAE,CAACD,EAAE,GAAGA,EAAE,IAAI,IAAI2oC,OAAO,GAAG,GAAG,OAAOhoC,GAAGnB,EAAEynD,WAAW,IAAIte,MAAMse,WAAW1zB,QAAQt6B,MAAM,qDAAqD+G,GAAG,SAASW,GAAGnB,EAAEynD,WAAW,IAAIte,MAAMse,WAAW1zB,QAAQt6B,MAAM,yDAAyD+G,KAAK,CAACA,EAAEW,IAAIhB,EAAEgC,cAAc9B,EAAE,CAACsC,gBAAgBpC,EAAE,aAAamB,GAAGM,OAAO5B,EAAEwE,MAAM3D,IAAI,SAASjB,EAAEE,GAAG,OAAOC,EAAEgC,cAAc7B,EAAE,CAACqC,gBAAgB,kBAAkBxC,EAAEgC,cAAc,IAAI,CAAC,cAAcjC,EAAE,IAAIF,EAAE4B,GAAG,SAASS,UAAU,yBAAyBrC,EAAE2wB,OAAOxwB,EAAEgC,cAAc,IAAI,CAAC,cAAcjC,EAAE,IAAIF,EAAE4B,GAAG,SAASS,UAAU,yBAAyBrC,EAAE6B,YAAY9M,EAAQoP,aAAazD,G,6BCA3/E,SAASV,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAEC,QAAQD,EAAE,IAAIK,EAAEL,EAAEb,EAAQ,KAAUgB,EAAEH,EAAEb,EAAQ,KAAeD,EAAOnK,QAAQ,SAASiL,GAAG,IAAIE,EAAEF,EAAEqzD,eAAezyD,EAAEZ,EAAE87G,UAAU5gH,EAAE8E,EAAE6B,MAAMvB,EAAEN,EAAE+7G,cAAc37G,EAAEJ,EAAEg8G,gBAAgBt7G,EAAEV,EAAEgC,OAAOxB,EAAER,EAAEi8G,WAAW17G,EAAEP,EAAEusB,MAAM9rB,EAAET,EAAE+E,SAAShE,EAAEf,EAAE2C,gBAAgB9B,EAAEV,EAAE,eAAeY,GAAGI,EAAEX,GAAG,IAAI,IAAIA,EAAEuf,EAAExf,GAAG,GAAGmB,EAAEqe,EAAEm8F,WAAWv7G,OAAE,IAASe,EAAE,OAAOA,EAAEuU,EAAE8J,EAAEo8F,gBAAgB96G,OAAE,IAAS4U,EAAE,OAAOA,EAAE7U,EAAE2e,EAAEq8F,eAAet7G,OAAE,IAASM,EAAE,QAAQA,EAAE,OAAOf,EAAE8B,cAAc,MAAM,CAACE,UAAUxB,EAAE0rB,MAAM,CAAC4vF,gBAAgB96G,GAAGY,KAAK,cAAc,gBAAgBd,EAAE,gBAAgB,EAAE,gBAAgB,IAAI,kBAAkBjB,EAAE,aAAaU,EAAEiB,MAAM3G,EAAE,iBAAiBoF,EAAE,mBAAmBF,EAAE,cAAcM,GAAGL,EAAE8B,cAAc,MAAM,CAACE,UAAU,sBAAsBkqB,MAAM,CAACmC,MAAMvtB,EAAE,IAAIg7G,gBAAgB,MAAMh7G,EAAEL,EAAEH,GAAG,cAAcD,EAAE,WAAWD,GAAGJ,EAAE8B,cAAc,MAAM,CAACE,UAAU,yBAAyB5B,M,6BCAx4B,SAASP,EAAEA,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAED,QAAQC,EAAE,IAAIF,EAAEb,EAAQ,IAASkB,EAAEH,EAAEF,GAAGI,EAAEF,EAAEf,EAAQ,KAAemB,EAAEnB,EAAQ,IAAagB,EAAEhB,EAAQ,IAAiBoB,EAAEpB,EAAQ,IAAwBjE,EAAEiE,EAAQ,IAA6BsB,EAAEtB,EAAQ,IAAeuB,EAAEvB,EAAQ,IAA4BqB,EAAEN,EAAEf,EAAQ,KAAkByB,EAAEZ,EAAEi7E,cAAc,CAACohC,QAAQ,KAAK,SAAS76G,EAAEtB,GAAG,IAAIE,EAAEF,EAAEo8G,aAAan8G,EAAEI,EAAE0E,OAAO9D,IAAI,GAAG,GAAGjG,EAAEqF,EAAE0E,OAAOjF,EAAEkF,SAAS,MAAM,GAAGzE,EAAEvF,EAAE,GAAGwF,EAAExF,EAAE,GAAG,OAAO8E,EAAEyzD,iBAAiB,WAAW,IAAIvzD,EAAEE,GAAGs2D,SAASgB,cAAc,IAAIt3D,GAAG,GAAGF,EAAEQ,EAAER,OAAO,CAAC,IAAIF,EAAE02D,SAASv0D,cAAc,OAAOnC,EAAEu4D,aAAa,KAAK,cAAc7B,SAAShpB,KAAKJ,OAAOttC,GAAGU,EAAEV,MAAM,CAACI,IAAIK,GAAGD,EAAEm0G,aAAax0G,EAAEo8G,WAAWthH,OAAOoF,EAAE8B,cAAc7B,EAAE,CAAC0B,OAAO,aAAa4C,MAAMzE,EAAEo8G,WAAW55G,gBAAgB,gBAAgB,SAASzC,EAAEF,GAAG,OAAOK,EAAE8B,cAAc4d,EAAE,CAAC/d,OAAOhC,EAAEoI,KAAKlI,OAAOG,EAAE8B,cAAcnC,EAAE8yB,SAAS,MAAMryB,GAAGG,EAAEzF,YAAY,mBAAmB,IAAI0F,EAAE,CAAC07G,WAAW,GAAGC,iBAAgB,EAAGC,wBAAwB,KAAK,SAASr7G,EAAElB,GAAG,OAAO,SAASF,GAAG,OAAOE,EAAEF,IAAI,SAASiB,EAAEf,GAAG,OAAO,SAASF,GAAG,OAAOE,IAAIF,EAAE4B,IAAI,SAASP,EAAEnB,EAAEF,GAAG,IAAIK,EAAEH,EAAE,OAAOF,EAAE/H,MAAM,IAAI,UAAU,IAAImI,EAAEJ,EAAE08G,UAAUp8G,EAAEC,EAAEiU,SAAStU,EAAEq8G,WAAW/8G,OAAO4B,EAAEH,EAAEb,EAAEwB,MAAM,CAACxB,IAAIC,EAAEE,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,GAAG,CAACq8G,WAAW77G,EAAEwyC,2BAA2BhzC,EAAEqR,MAAMjR,KAAK,MAAM,IAAI,OAAOD,EAAEE,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,GAAG,CAACq8G,WAAWr8G,EAAEq8G,WAAW/8G,OAAO4B,EAAEH,EAAEjB,EAAEq8G,aAAa,MAAM,IAAI,WAAWh8G,EAAEE,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,GAAG,CAACq8G,WAAW,KAAK,MAAM,IAAI,SAAS,IAAIp8G,EAAED,EAAEq8G,WAAW1oD,UAAU5yD,EAAEjB,EAAEq8G,UAAU,KAAKl8G,GAAG,GAAG,MAAM,IAAI9I,MAAM,oDAAoDgJ,EAAEE,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,GAAG,CAACq8G,WAAW77G,EAAEyyC,cAAcjzC,EAAEq8G,WAAWp8G,EAAEI,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,EAAEq8G,WAAWp8G,IAAIH,EAAE08G,cAAc,MAAM,IAAI,YAAY,IAAIj8G,EAAET,EAAEuR,MAAMlR,EAAEE,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,GAAG,CAACqR,MAAM9Q,EAAE87G,WAAW77G,EAAEwyC,2BAA2BzyC,EAAEP,EAAEq8G,cAAc,MAAM,IAAI,iBAAiBl8G,EAAEE,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,GAAG,CAACs8G,gBAAgBx8G,EAAEw8G,kBAAkB,MAAM,IAAI,gDAAgD,IAAIh8G,EAAER,EAAEupB,QAAQruB,EAAE4yB,oBAAoBttB,KAAKH,EAAEE,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGlU,GAAG,CAACu8G,wBAAwBj8G,KAAK,OAAOH,EAAE,IAAIiC,EAAEtC,EAAEi7E,cAAc,CAACp6E,EAAE,eAAe,SAASM,IAAI,IAAIjB,EAAEF,EAAEk8E,WAAW55E,GAAG,IAAIpC,EAAE,MAAM,IAAI7I,MAAM,2DAA2D,OAAO6I,EAAE,SAASid,IAAI,IAAIjd,EAAEiB,IAAI,GAAG,MAAM,CAACitG,QAAQpuG,EAAEqsE,aAAa,SAASrsE,GAAG,IAAMI,EAAEE,EAAEH,EAAEjF,EAAEuF,EAAEC,EAAEV,EAAE4B,KAAuBzB,OAAE,KAApBG,GAAGF,EAAK,IAAIu8G,OAAmB,GAAGr8G,EAA0BG,OAAE,KAA1BvF,EAAEkF,EAAEw8G,qBAAiC,EAAE1hH,EAAE2Q,KAAKo9B,SAASzgC,SAASrI,GAAGwgE,UAAUlgE,IAAI,OAAOP,EAAE,CAACjI,KAAK,UAAUykH,UAAUn8G,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGpU,GAAG,CAAC4B,GAAGlB,MAAMA,IAAI,CAACR,IAAIiqE,KAAKnqE,EAAEqsE,aAAa,SAASrsE,GAAGE,EAAE,CAACjI,KAAK,OAAOokH,QAAQr8G,MAAM,CAACE,IAAI2Z,OAAO7Z,EAAEqsE,aAAa,SAASrsE,EAAEK,GAAGH,EAAE,CAACjI,KAAK,SAASokH,QAAQr8G,EAAE08G,UAAUr8G,MAAM,CAACH,IAAI28G,QAAQ78G,EAAEqsE,aAAa,WAAWnsE,EAAE,CAACjI,KAAK,eAAe,CAACiI,KAAK,SAAS6f,EAAE7f,GAAG,IAAII,EAAEJ,EAAE8B,OAAO9G,EAAEgF,EAAEkI,KAAK3H,EAAEF,EAAE0E,OAAO9D,IAAI,GAAG,GAAGT,EAAEyc,IAAIgtD,KAAK3pE,EAAEtF,EAAEquB,QAAQ/nB,OAAE,IAAShB,EAAEC,EAAEg8G,wBAAwBj8G,EAAEK,EAAE3F,EAAEu8E,OAAOr2E,EAAElG,EAAEyH,gBAAgB1B,EAAE/F,EAAE0G,GAAGP,EAAE,kBAAkBnG,EAAE4hH,UAAU5hH,EAAE4hH,UAAUr8G,EAAE+7G,gBAAgB,OAAOx8G,EAAEyzD,iBAAiB,WAAW,IAAIvzD,EAAE,OAAOmB,IAAInB,EAAE6oB,YAAY,WAAWroB,EAAEO,KAAKO,IAAI,WAAWtB,GAAG8oB,aAAa9oB,MAAM,CAACmB,EAAEG,EAAEd,EAAEO,IAAIZ,EAAE8B,cAAcvB,EAAEy6E,SAAS,CAACrlF,MAAM,CAACqmH,QAAQp7G,IAAIZ,EAAE8B,cAAchC,EAAE,CAAC6B,OAAO1B,EAAEqC,gBAAgBvC,EAAE,QAAQgB,IAAIP,MAAMyB,EAAEnH,YAAY,eAAe4kB,EAAEg9F,YAAY,SAAS78G,GAAG,IAAIE,EAAEF,EAAE6E,SAASzE,EAAEJ,EAAE8B,OAAO7B,EAAEgd,IAAIgtD,KAAK5pE,EAAE,WAAW,IAAIL,EAAEF,EAAEk8E,WAAWt7E,GAAG,IAAIV,EAAE,MAAM,IAAI7I,MAAM,8DAA8D,OAAO6I,EAA5H,GAAiIm8G,QAAQ,OAAOh8G,EAAE8B,cAAc1B,EAAE,CAACuB,OAAO1B,EAAEkC,QAAQ,WAAWrC,EAAEI,IAAIoC,gBAAgB,sBAAsBvC,IAAIrL,EAAQsP,MAAM0b,EAAEhrB,EAAQuP,aAAahC,EAAEvN,EAAQwP,qBAAqB,SAASrE,GAAG,IAAIE,EAAEF,EAAE6E,SAASzE,EAAEJ,EAAEo8G,aAAan8G,EAAED,EAAEs8G,gBAAgB/7G,OAAE,IAASN,GAAGA,EAAEO,EAAER,EAAEqR,MAAM/Q,EAAEN,EAAEu8G,wBAAwB77G,OAAE,IAASJ,EAAE,IAAIA,EAAEY,EAAEb,EAAE0E,OAAOjF,EAAEy8E,WAAWp7E,EAAEd,EAAE6T,SAAS7T,EAAE6T,SAAS,GAAGvT,GAAG,CAAC27G,gBAAgB/7G,EAAE8Q,MAAM7Q,EAAE+7G,wBAAwB77G,KAAK,GAAGK,EAAEG,EAAE,GAAGD,EAAEC,EAAE,GAAG,OAAOpB,EAAE6nC,WAAW,WAAW3sC,EAAE4yB,oBAAoBptB,IAAIS,EAAE,CAAClJ,KAAK,YAAYsZ,MAAM7Q,MAAM,CAACA,IAAIV,EAAE6nC,WAAW,WAAW1mC,EAAE,CAAClJ,KAAK,iBAAiBukH,gBAAgB/7G,MAAM,CAACA,IAAIT,EAAE6nC,WAAW,WAAW1mC,EAAE,CAAClJ,KAAK,gDAAgDsxB,QAAQ3oB,MAAM,CAACA,IAAIP,EAAE8B,cAAcG,EAAE+4E,SAAS,CAACrlF,MAAM,CAACiL,EAAEE,IAAIf,EAAEC,EAAE8B,cAAcX,EAAE,CAAC86G,aAAah8G,MAAMvL,EAAQyP,gBAAgBrD,EAAEpM,EAAQ0P,WAAW0Y,G,8BCEhwIpoB,EAAQuS,WAuCR,SAAqB01G,GACnB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAuC,GAA9BE,EAAWC,GAAuB,EAAKA,GA1ClDroH,EAAQyd,YAiDR,SAAsBwqG,GACpB,IAAIz1F,EAcArsB,EAbA+hH,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAEvBn3G,EAAM,IAAIu3G,EAVhB,SAAsBL,EAAKG,EAAUC,GACnC,OAAuC,GAA9BD,EAAWC,GAAuB,EAAKA,EAS9BE,CAAYN,EAAKG,EAAUC,IAEzCG,EAAU,EAGVv1G,EAAMo1G,EAAkB,EACxBD,EAAW,EACXA,EAGJ,IAAKjiH,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBqsB,EACGi2F,EAAUR,EAAI7xG,WAAWjQ,KAAO,GAChCsiH,EAAUR,EAAI7xG,WAAWjQ,EAAI,KAAO,GACpCsiH,EAAUR,EAAI7xG,WAAWjQ,EAAI,KAAO,EACrCsiH,EAAUR,EAAI7xG,WAAWjQ,EAAI,IAC/B4K,EAAIy3G,KAAch2F,GAAO,GAAM,IAC/BzhB,EAAIy3G,KAAch2F,GAAO,EAAK,IAC9BzhB,EAAIy3G,KAAmB,IAANh2F,EAGK,IAApB61F,IACF71F,EACGi2F,EAAUR,EAAI7xG,WAAWjQ,KAAO,EAChCsiH,EAAUR,EAAI7xG,WAAWjQ,EAAI,KAAO,EACvC4K,EAAIy3G,KAAmB,IAANh2F,GAGK,IAApB61F,IACF71F,EACGi2F,EAAUR,EAAI7xG,WAAWjQ,KAAO,GAChCsiH,EAAUR,EAAI7xG,WAAWjQ,EAAI,KAAO,EACpCsiH,EAAUR,EAAI7xG,WAAWjQ,EAAI,KAAO,EACvC4K,EAAIy3G,KAAch2F,GAAO,EAAK,IAC9BzhB,EAAIy3G,KAAmB,IAANh2F,GAGnB,OAAOzhB,GA3FT/Q,EAAQ6W,cAkHR,SAAwB6xG,GAQtB,IAPA,IAAIl2F,EACAvf,EAAMy1G,EAAMxiH,OACZ+jD,EAAah3C,EAAM,EACnB8oC,EAAQ,GACR4sE,EAAiB,MAGZxiH,EAAI,EAAGyiH,EAAO31G,EAAMg3C,EAAY9jD,EAAIyiH,EAAMziH,GAAKwiH,EACtD5sE,EAAMp2C,KAAKkjH,EAAYH,EAAOviH,EAAIA,EAAIwiH,EAAkBC,EAAOA,EAAQziH,EAAIwiH,IAI1D,IAAf1+D,GACFz3B,EAAMk2F,EAAMz1G,EAAM,GAClB8oC,EAAMp2C,KACJmjH,EAAOt2F,GAAO,GACds2F,EAAQt2F,GAAO,EAAK,IACpB,OAEsB,IAAfy3B,IACTz3B,GAAOk2F,EAAMz1G,EAAM,IAAM,GAAKy1G,EAAMz1G,EAAM,GAC1C8oC,EAAMp2C,KACJmjH,EAAOt2F,GAAO,IACds2F,EAAQt2F,GAAO,EAAK,IACpBs2F,EAAQt2F,GAAO,EAAK,IACpB,MAIJ,OAAOupB,EAAM3iC,KAAK,KAzIpB,IALA,IAAI0vG,EAAS,GACTL,EAAY,GACZH,EAA4B,qBAAfj4G,WAA6BA,WAAaW,MAEvDJ,EAAO,mEACFzK,EAAI,EAAG8M,EAAMrC,EAAK1K,OAAQC,EAAI8M,IAAO9M,EAC5C2iH,EAAO3iH,GAAKyK,EAAKzK,GACjBsiH,EAAU73G,EAAKwF,WAAWjQ,IAAMA,EAQlC,SAASgiH,EAASF,GAChB,IAAIh1G,EAAMg1G,EAAI/hH,OAEd,GAAI+M,EAAM,EAAI,EACZ,MAAM,IAAI3Q,MAAM,kDAKlB,IAAI8lH,EAAWH,EAAIrzG,QAAQ,KAO3B,OANkB,IAAdwzG,IAAiBA,EAAWn1G,GAMzB,CAACm1G,EAJcA,IAAan1G,EAC/B,EACA,EAAKm1G,EAAW,GAsEtB,SAASS,EAAaH,EAAO10G,EAAOC,GAGlC,IAFA,IAAIue,EARoBrD,EASpB8hB,EAAS,GACJ9qC,EAAI6N,EAAO7N,EAAI8N,EAAK9N,GAAK,EAChCqsB,GACIk2F,EAAMviH,IAAM,GAAM,WAClBuiH,EAAMviH,EAAI,IAAM,EAAK,QACP,IAAfuiH,EAAMviH,EAAI,IACb8qC,EAAOtrC,KAdFmjH,GADiB35F,EAeMqD,IAdT,GAAK,IACxBs2F,EAAO35F,GAAO,GAAK,IACnB25F,EAAO35F,GAAO,EAAI,IAClB25F,EAAa,GAAN35F,IAaT,OAAO8hB,EAAO73B,KAAK,IAjGrBqvG,EAAU,IAAIryG,WAAW,IAAM,GAC/BqyG,EAAU,IAAIryG,WAAW,IAAM,I,cClB/BpW,EAAQkV,KAAO,SAAU9B,EAAQoC,EAAQuzG,EAAMC,EAAMC,GACnD,IAAIh+G,EAAGa,EACHo9G,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTljH,EAAI4iH,EAAQE,EAAS,EAAK,EAC1Bx9G,EAAIs9G,GAAQ,EAAI,EAChB19G,EAAI+H,EAAOoC,EAASrP,GAOxB,IALAA,GAAKsF,EAELR,EAAII,GAAM,IAAOg+G,GAAU,EAC3Bh+G,KAAQg+G,EACRA,GAASH,EACFG,EAAQ,EAAGp+G,EAAS,IAAJA,EAAWmI,EAAOoC,EAASrP,GAAIA,GAAKsF,EAAG49G,GAAS,GAKvE,IAHAv9G,EAAIb,GAAM,IAAOo+G,GAAU,EAC3Bp+G,KAAQo+G,EACRA,GAASL,EACFK,EAAQ,EAAGv9G,EAAS,IAAJA,EAAWsH,EAAOoC,EAASrP,GAAIA,GAAKsF,EAAG49G,GAAS,GAEvE,GAAU,IAANp+G,EACFA,EAAI,EAAIm+G,MACH,IAAIn+G,IAAMk+G,EACf,OAAOr9G,EAAIgsB,IAAsBva,KAAdlS,GAAK,EAAI,GAE5BS,GAAQgL,KAAKsE,IAAI,EAAG4tG,GACpB/9G,GAAQm+G,EAEV,OAAQ/9G,GAAK,EAAI,GAAKS,EAAIgL,KAAKsE,IAAI,EAAGnQ,EAAI+9G,IAG5ChpH,EAAQ8S,MAAQ,SAAUM,EAAQnS,EAAOuU,EAAQuzG,EAAMC,EAAMC,GAC3D,IAAIh+G,EAAGa,EAAGH,EACNu9G,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBG,EAAe,KAATN,EAAclyG,KAAKsE,IAAI,GAAI,IAAMtE,KAAKsE,IAAI,GAAI,IAAM,EAC1DjV,EAAI4iH,EAAO,EAAKE,EAAS,EACzBx9G,EAAIs9G,EAAO,GAAK,EAChB19G,EAAIpK,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQ6V,KAAKssB,IAAIniC,GAEbgF,MAAMhF,IAAUA,IAAUsc,KAC5BzR,EAAI7F,MAAMhF,GAAS,EAAI,EACvBgK,EAAIk+G,IAEJl+G,EAAI6L,KAAKoF,MAAMpF,KAAKkuD,IAAI/jE,GAAS6V,KAAK2+E,KAClCx0F,GAAS0K,EAAImL,KAAKsE,IAAI,GAAInQ,IAAM,IAClCA,IACAU,GAAK,IAGL1K,GADEgK,EAAIm+G,GAAS,EACNE,EAAK39G,EAEL29G,EAAKxyG,KAAKsE,IAAI,EAAG,EAAIguG,IAEpBz9G,GAAK,IACfV,IACAU,GAAK,GAGHV,EAAIm+G,GAASD,GACfr9G,EAAI,EACJb,EAAIk+G,GACKl+G,EAAIm+G,GAAS,GACtBt9G,GAAM7K,EAAQ0K,EAAK,GAAKmL,KAAKsE,IAAI,EAAG4tG,GACpC/9G,GAAQm+G,IAERt9G,EAAI7K,EAAQ6V,KAAKsE,IAAI,EAAGguG,EAAQ,GAAKtyG,KAAKsE,IAAI,EAAG4tG,GACjD/9G,EAAI,IAID+9G,GAAQ,EAAG51G,EAAOoC,EAASrP,GAAS,IAAJ2F,EAAU3F,GAAKsF,EAAGK,GAAK,IAAKk9G,GAAQ,GAI3E,IAFA/9G,EAAKA,GAAK+9G,EAAQl9G,EAClBo9G,GAAQF,EACDE,EAAO,EAAG91G,EAAOoC,EAASrP,GAAS,IAAJ8E,EAAU9E,GAAKsF,EAAGR,GAAK,IAAKi+G,GAAQ,GAE1E91G,EAAOoC,EAASrP,EAAIsF,IAAU,IAAJJ,I,cCnF5B,IAAIoI,EAAW,GAAGA,SAElBtJ,EAAOnK,QAAUgR,MAAMC,SAAW,SAAUF,GAC1C,MAA6B,kBAAtB0C,EAASpQ,KAAK0N,K,cCCvB5G,EAAOnK,QAJP,SAA2BoD,GACzB,OAAgE,IAAzDmwB,SAAS9f,SAASpQ,KAAKD,GAAIwR,QAAQ,kBAGRzK,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCJzG,IAAI2G,EAAiB,EAAQ,KAEzBi2B,EAA2B,EAAQ,KAEvC,SAAS2sF,EAAW7sF,EAAQxyB,EAAMyyB,GAchC,OAbIC,KACFzyB,EAAOnK,QAAUupH,EAAa9/G,QAAQC,UAAUysB,OAAQhsB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,UAE7HmK,EAAOnK,QAAUupH,EAAa,SAAoB7sF,EAAQxyB,EAAMyyB,GAC9D,IAAIrxB,EAAI,CAAC,MACTA,EAAE3F,KAAKiE,MAAM0B,EAAGpB,GAChB,IACIlB,EAAW,IADGuqB,SAAS4C,KAAKvsB,MAAM8yB,EAAQpxB,IAG9C,OADIqxB,GAAOh2B,EAAeqC,EAAU2zB,EAAMx8B,WACnC6I,GACNmB,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,SAGnEupH,EAAW3/G,MAAM,KAAMD,WAGhCQ,EAAOnK,QAAUupH,EAAYp/G,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCrBlGmK,EAAOnK,QAAU,SAASmK,GAoBzB,OAnBKA,EAAOq/G,kBACXr/G,EAAOs/G,UAAY,aACnBt/G,EAAOu/G,MAAQ,GAEVv/G,EAAO6F,WAAU7F,EAAO6F,SAAW,IACxC9P,OAAOgB,eAAeiJ,EAAQ,SAAU,CACvChJ,YAAY,EACZg4B,IAAK,WACJ,OAAOhvB,EAAO0B,KAGhB3L,OAAOgB,eAAeiJ,EAAQ,KAAM,CACnChJ,YAAY,EACZg4B,IAAK,WACJ,OAAOhvB,EAAOhE,KAGhBgE,EAAOq/G,gBAAkB,GAEnBr/G,I,8BCpBR,khCAgBA,IAAIw/G,EAAgB,SAASl+G,EAAGO,GAI5B,OAHA29G,EAAgBzpH,OAAOyG,gBAClB,CAAEC,UAAW,cAAgBoK,OAAS,SAAUvF,EAAGO,GAAKP,EAAE7E,UAAYoF,IACvE,SAAUP,EAAGO,GAAK,IAAK,IAAIJ,KAAKI,EAAOA,EAAE3L,eAAeuL,KAAIH,EAAEG,GAAKI,EAAEJ,KAClE+9G,EAAcl+G,EAAGO,IAGrB,SAAS49G,EAAUn+G,EAAGO,GAEzB,SAAS69G,IAAOpmH,KAAK+C,YAAciF,EADnCk+G,EAAcl+G,EAAGO,GAEjBP,EAAEtL,UAAkB,OAAN6L,EAAa9L,OAAO6B,OAAOiK,IAAM69G,EAAG1pH,UAAY6L,EAAE7L,UAAW,IAAI0pH,GAG5E,IAAIxqG,EAAW,WAQlB,OAPAA,EAAWnf,OAAOof,QAAU,SAAkBnU,GAC1C,IAAK,IAAIE,EAAGlF,EAAI,EAAGqF,EAAI7B,UAAUzD,OAAQC,EAAIqF,EAAGrF,IAE5C,IAAK,IAAIyF,KADTP,EAAI1B,UAAUxD,GACOjG,OAAOC,UAAUE,eAAegD,KAAKgI,EAAGO,KAAIT,EAAES,GAAKP,EAAEO,IAE9E,OAAOT,GAEJkU,EAASzV,MAAMnG,KAAMkG,YAGzB,SAAS4V,EAAOlU,EAAGJ,GACtB,IAAIE,EAAI,GACR,IAAK,IAAIS,KAAKP,EAAOnL,OAAOC,UAAUE,eAAegD,KAAKgI,EAAGO,IAAMX,EAAE2J,QAAQhJ,GAAK,IAC9ET,EAAES,GAAKP,EAAEO,IACb,GAAS,MAALP,GAAqD,oBAAjCnL,OAAOqK,sBACtB,KAAIpE,EAAI,EAAb,IAAgByF,EAAI1L,OAAOqK,sBAAsBc,GAAIlF,EAAIyF,EAAE1F,OAAQC,IAC3D8E,EAAE2J,QAAQhJ,EAAEzF,IAAM,GAAKjG,OAAOC,UAAUqf,qBAAqBnc,KAAKgI,EAAGO,EAAEzF,MACvEgF,EAAES,EAAEzF,IAAMkF,EAAEO,EAAEzF,KAE1B,OAAOgF,EAGJ,SAAS2+G,EAAWC,EAAYvhH,EAAQxH,EAAKijF,GAChD,IAA2Hx4E,EAAvHE,EAAIhC,UAAUzD,OAAQkF,EAAIO,EAAI,EAAInD,EAAkB,OAATy7E,EAAgBA,EAAO/jF,OAAOyK,yBAAyBnC,EAAQxH,GAAOijF,EACrH,GAAuB,kBAAZx6E,SAAoD,oBAArBA,QAAQugH,SAAyB5+G,EAAI3B,QAAQugH,SAASD,EAAYvhH,EAAQxH,EAAKijF,QACpH,IAAK,IAAI99E,EAAI4jH,EAAW7jH,OAAS,EAAGC,GAAK,EAAGA,KAASsF,EAAIs+G,EAAW5jH,MAAIiF,GAAKO,EAAI,EAAIF,EAAEL,GAAKO,EAAI,EAAIF,EAAEjD,EAAQxH,EAAKoK,GAAKK,EAAEjD,EAAQxH,KAASoK,GAChJ,OAAOO,EAAI,GAAKP,GAAKlL,OAAOgB,eAAesH,EAAQxH,EAAKoK,GAAIA,EAGzD,SAAS6+G,EAAQC,EAAYC,GAChC,OAAO,SAAU3hH,EAAQxH,GAAOmpH,EAAU3hH,EAAQxH,EAAKkpH,IAGpD,SAASE,EAAWC,EAAaC,GACpC,GAAuB,kBAAZ7gH,SAAoD,oBAArBA,QAAQ8gH,SAAyB,OAAO9gH,QAAQ8gH,SAASF,EAAaC,GAG7G,SAASE,EAAUzvE,EAAS0vE,EAAYh4E,EAAG3wC,GAE9C,OAAO,IAAK2wC,IAAMA,EAAI1rC,WAAU,SAAU3C,EAASC,GAC/C,SAASqmH,EAAUzpH,GAAS,IAAMqd,EAAKxc,EAAUmD,KAAKhE,IAAW,MAAOgK,GAAK5G,EAAO4G,IACpF,SAASkvC,EAASl5C,GAAS,IAAMqd,EAAKxc,EAAS,MAAUb,IAAW,MAAOgK,GAAK5G,EAAO4G,IACvF,SAASqT,EAAKha,GAJlB,IAAerD,EAIaqD,EAAOnB,KAAOiB,EAAQE,EAAOrD,QAJ1CA,EAIyDqD,EAAOrD,MAJhDA,aAAiBwxC,EAAIxxC,EAAQ,IAAIwxC,GAAE,SAAUruC,GAAWA,EAAQnD,OAITuD,KAAKkmH,EAAWvwE,GAClG77B,GAAMxc,EAAYA,EAAU8H,MAAMmxC,EAAS0vE,GAAc,KAAKxlH,WAI/D,SAAS0lH,EAAY5vE,EAASpC,GACjC,IAAsGtsC,EAAGM,EAAGxB,EAAG6f,EAA3Gve,EAAI,CAAEs3G,MAAO,EAAGnhH,KAAM,WAAa,GAAW,EAAPuI,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOy/G,KAAM,GAAIC,IAAK,IAChG,OAAO7/F,EAAI,CAAE/lB,KAAM6lH,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXvqH,SAA0ByqB,EAAEzqB,OAAOE,UAAY,WAAa,OAAOgD,OAAUunB,EACvJ,SAAS8/F,EAAKt/G,GAAK,OAAO,SAAUY,GAAK,OACzC,SAAc2+G,GACV,GAAI1+G,EAAG,MAAM,IAAIvH,UAAU,mCAC3B,KAAO2H,GAAG,IACN,GAAIJ,EAAI,EAAGM,IAAMxB,EAAY,EAAR4/G,EAAG,GAASp+G,EAAC,OAAao+G,EAAG,GAAKp+G,EAAC,SAAexB,EAAIwB,EAAC,SAAexB,EAAE9H,KAAKsJ,GAAI,GAAKA,EAAE1H,SAAWkG,EAAIA,EAAE9H,KAAKsJ,EAAGo+G,EAAG,KAAK5nH,KAAM,OAAOgI,EAE3J,OADIwB,EAAI,EAAGxB,IAAG4/G,EAAK,CAAS,EAARA,EAAG,GAAQ5/G,EAAElK,QACzB8pH,EAAG,IACP,KAAK,EAAG,KAAK,EAAG5/G,EAAI4/G,EAAI,MACxB,KAAK,EAAc,OAAXt+G,EAAEs3G,QAAgB,CAAE9iH,MAAO8pH,EAAG,GAAI5nH,MAAM,GAChD,KAAK,EAAGsJ,EAAEs3G,QAASp3G,EAAIo+G,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKt+G,EAAEo+G,IAAIzjH,MAAOqF,EAAEm+G,KAAKxjH,MAAO,SACxC,QACI,KAAkB+D,GAAZA,EAAIsB,EAAEm+G,MAAY1kH,OAAS,GAAKiF,EAAEA,EAAEjF,OAAS,MAAkB,IAAV6kH,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEt+G,EAAI,EAAG,SACjG,GAAc,IAAVs+G,EAAG,MAAc5/G,GAAM4/G,EAAG,GAAK5/G,EAAE,IAAM4/G,EAAG,GAAK5/G,EAAE,IAAM,CAAEsB,EAAEs3G,MAAQgH,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYt+G,EAAEs3G,MAAQ54G,EAAE,GAAI,CAAEsB,EAAEs3G,MAAQ54G,EAAE,GAAIA,EAAI4/G,EAAI,MAC7D,GAAI5/G,GAAKsB,EAAEs3G,MAAQ54G,EAAE,GAAI,CAAEsB,EAAEs3G,MAAQ54G,EAAE,GAAIsB,EAAEo+G,IAAIllH,KAAKolH,GAAK,MACvD5/G,EAAE,IAAIsB,EAAEo+G,IAAIzjH,MAChBqF,EAAEm+G,KAAKxjH,MAAO,SAEtB2jH,EAAKpyE,EAAKt1C,KAAK03C,EAAStuC,GAC1B,MAAOxB,GAAK8/G,EAAK,CAAC,EAAG9/G,GAAI0B,EAAI,EAjBrB,QAiBoCN,EAAIlB,EAAI,EACtD,GAAY,EAAR4/G,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE9pH,MAAO8pH,EAAG,GAAKA,EAAG,QAAK,EAAQ5nH,MAAM,GArB9Bmb,CAAK,CAAC9S,EAAGY,MAyBtD,SAAS4+G,EAAgBz/G,EAAGO,EAAGoV,EAAG+pG,QAC1BpmH,IAAPomH,IAAkBA,EAAK/pG,GAC3B3V,EAAE0/G,GAAMn/G,EAAEoV,GAGP,SAASgqG,EAAap/G,EAAG9L,GAC5B,IAAK,IAAI4L,KAAKE,EAAa,YAANF,GAAoB5L,EAAQK,eAAeuL,KAAI5L,EAAQ4L,GAAKE,EAAEF,IAGhF,SAASu/G,EAAS5/G,GACrB,IAAIF,EAAsB,oBAAX9K,QAAyBA,OAAOE,SAAUqL,EAAIT,GAAKE,EAAEF,GAAIlF,EAAI,EAC5E,GAAI2F,EAAG,OAAOA,EAAEzI,KAAKkI,GACrB,GAAIA,GAAyB,kBAAbA,EAAErF,OAAqB,MAAO,CAC1CjB,KAAM,WAEF,OADIsG,GAAKpF,GAAKoF,EAAErF,SAAQqF,OAAI,GACrB,CAAEtK,MAAOsK,GAAKA,EAAEpF,KAAMhD,MAAOoI,KAG5C,MAAM,IAAIzG,UAAUuG,EAAI,0BAA4B,mCAGjD,SAAS6E,EAAO3E,EAAGC,GACtB,IAAIM,EAAsB,oBAAXvL,QAAyBgL,EAAEhL,OAAOE,UACjD,IAAKqL,EAAG,OAAOP,EACf,IAAmBH,EAAYH,EAA3B9E,EAAI2F,EAAEzI,KAAKkI,GAAO6/G,EAAK,GAC3B,IACI,WAAc,IAAN5/G,GAAgBA,KAAM,MAAQJ,EAAIjF,EAAElB,QAAQ9B,MAAMioH,EAAGzlH,KAAKyF,EAAEnK,OAExE,MAAOyD,GAASuG,EAAI,CAAEvG,MAAOA,GAH7B,QAKI,IACQ0G,IAAMA,EAAEjI,OAAS2I,EAAI3F,EAAC,SAAa2F,EAAEzI,KAAK8C,GADlD,QAGU,GAAI8E,EAAG,MAAMA,EAAEvG,OAE7B,OAAO0mH,EAGJ,SAAS3rG,IACZ,IAAK,IAAI2rG,EAAK,GAAIjlH,EAAI,EAAGA,EAAIwD,UAAUzD,OAAQC,IAC3CilH,EAAKA,EAAG1yG,OAAOxI,EAAOvG,UAAUxD,KACpC,OAAOilH,EAGJ,SAASpwC,IACZ,IAAK,IAAI3vE,EAAI,EAAGlF,EAAI,EAAG80E,EAAKtxE,UAAUzD,OAAQC,EAAI80E,EAAI90E,IAAKkF,GAAK1B,UAAUxD,GAAGD,OACxE,IAAIkF,EAAI4F,MAAM3F,GAAI6V,EAAI,EAA3B,IAA8B/a,EAAI,EAAGA,EAAI80E,EAAI90E,IACzC,IAAK,IAAImF,EAAI3B,UAAUxD,GAAIgG,EAAI,EAAG+uE,EAAK5vE,EAAEpF,OAAQiG,EAAI+uE,EAAI/uE,IAAK+U,IAC1D9V,EAAE8V,GAAK5V,EAAEa,GACjB,OAAOf,EAGJ,SAAS7G,EAAQ6H,GACpB,OAAO3I,gBAAgBc,GAAWd,KAAK2I,EAAIA,EAAG3I,MAAQ,IAAIc,EAAQ6H,GAG/D,SAASi/G,EAAiBtwE,EAAS0vE,EAAY3oH,GAClD,IAAKvB,OAAOI,cAAe,MAAM,IAAImE,UAAU,wCAC/C,IAAoDqB,EAAhD6kB,EAAIlpB,EAAU8H,MAAMmxC,EAAS0vE,GAAc,IAAQx+G,EAAI,GAC3D,OAAO9F,EAAI,GAAI2kH,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW3kH,EAAE5F,OAAOI,eAAiB,WAAc,OAAO8C,MAAS0C,EACpH,SAAS2kH,EAAKt/G,GAASwf,EAAExf,KAAIrF,EAAEqF,GAAK,SAAUY,GAAK,OAAO,IAAIrF,SAAQ,SAAUuE,EAAGU,GAAKC,EAAEtG,KAAK,CAAC6F,EAAGY,EAAGd,EAAGU,IAAM,GAAKs/G,EAAO9/G,EAAGY,QAC9H,SAASk/G,EAAO9/G,EAAGY,GAAK,KACVhB,EADqB4f,EAAExf,GAAGY,IACnBnL,iBAAiBsD,EAAUwC,QAAQ3C,QAAQgH,EAAEnK,MAAMmL,GAAG5H,KAAK+mH,EAASlnH,GAAUmnH,EAAOv/G,EAAE,GAAG,GAAIb,GADpE,MAAOH,GAAKugH,EAAOv/G,EAAE,GAAG,GAAIhB,GAC3E,IAAcG,EACd,SAASmgH,EAAQtqH,GAASqqH,EAAO,OAAQrqH,GACzC,SAASoD,EAAOpD,GAASqqH,EAAO,QAASrqH,GACzC,SAASuqH,EAAOn/G,EAAGD,GAASC,EAAED,GAAIH,EAAE2/B,QAAS3/B,EAAE/F,QAAQolH,EAAOr/G,EAAE,GAAG,GAAIA,EAAE,GAAG,KAGzE,SAASw/G,EAAiBlgH,GAC7B,IAAIpF,EAAGyF,EACP,OAAOzF,EAAI,GAAI2kH,EAAK,QAASA,EAAK,SAAS,SAAU7/G,GAAK,MAAMA,KAAO6/G,EAAK,UAAW3kH,EAAE5F,OAAOE,UAAY,WAAc,OAAOgD,MAAS0C,EAC1I,SAAS2kH,EAAKt/G,EAAGa,GAAKlG,EAAEqF,GAAKD,EAAEC,GAAK,SAAUY,GAAK,OAAQR,GAAKA,GAAK,CAAE3K,MAAOsD,EAAQgH,EAAEC,GAAGY,IAAKjJ,KAAY,WAANqI,GAAmBa,EAAIA,EAAED,GAAKA,GAAOC,GAGxI,SAASq/G,EAAcngH,GAC1B,IAAKhL,OAAOI,cAAe,MAAM,IAAImE,UAAU,wCAC/C,IAAiCqB,EAA7B2F,EAAIP,EAAEhL,OAAOI,eACjB,OAAOmL,EAAIA,EAAEzI,KAAKkI,IAAMA,EAAqC4/G,EAAS5/G,GAA2BpF,EAAI,GAAI2kH,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW3kH,EAAE5F,OAAOI,eAAiB,WAAc,OAAO8C,MAAS0C,GAC9M,SAAS2kH,EAAKt/G,GAAKrF,EAAEqF,GAAKD,EAAEC,IAAM,SAAUY,GAAK,OAAO,IAAIrF,SAAQ,SAAU3C,EAASC,IACvF,SAAgBD,EAASC,EAAQoH,EAAGW,GAAKrF,QAAQ3C,QAAQgI,GAAG5H,MAAK,SAAS4H,GAAKhI,EAAQ,CAAEnD,MAAOmL,EAAGjJ,KAAMsI,MAASpH,IADJmnH,CAAOpnH,EAASC,GAA7B+H,EAAIb,EAAEC,GAAGY,IAA8BjJ,KAAMiJ,EAAEnL,YAI7I,SAAS0qH,EAAqBC,EAAQC,GAEzC,OADI3rH,OAAOgB,eAAkBhB,OAAOgB,eAAe0qH,EAAQ,MAAO,CAAE3qH,MAAO4qH,IAAiBD,EAAOC,IAAMA,EAClGD,EAGJ,SAASE,EAAa5qF,GACzB,GAAIA,GAAOA,EAAI5G,WAAY,OAAO4G,EAClC,IAAI58B,EAAS,GACb,GAAW,MAAP48B,EAAa,IAAK,IAAIhgB,KAAKggB,EAAShhC,OAAOG,eAAegD,KAAK69B,EAAKhgB,KAAI5c,EAAO4c,GAAKggB,EAAIhgB,IAE5F,OADA5c,EAAO4G,QAAUg2B,EACV58B,EAGJ,SAASynH,EAAgB7qF,GAC5B,OAAQA,GAAOA,EAAI5G,WAAc4G,EAAM,CAAEh2B,QAASg2B,GAG/C,SAAS8qF,EAAuBhoC,EAAUioC,GAC7C,IAAKA,EAAWnvF,IAAIknD,GAChB,MAAM,IAAIl/E,UAAU,kDAExB,OAAOmnH,EAAW9yF,IAAI6qD,GAGnB,SAASkoC,EAAuBloC,EAAUioC,EAAYhrH,GACzD,IAAKgrH,EAAWnvF,IAAIknD,GAChB,MAAM,IAAIl/E,UAAU,kDAGxB,OADAmnH,EAAW5uG,IAAI2mE,EAAU/iF,GAClBA,I,0CCxNX,SAAgB,IAEd,OAAa,OAAN,QAAM,IAAN,OAAM,EAAN,EAAQ,UAAgB,OAAN,QAAM,IAAN,OAAM,EAAN,EAAQ,WAAY,GAG/C,SAAgB,IACd,IAAM,EAAgB,IAEtB,OAAO,EAAc,QAAU,EAAc,a,uHAR/C,oBAKA,oBAMAjB,EAAQ,yBAAR,WACE,QAAS,OAAuB,O,4D9GZlC,SAAgB,IACd,MACsB,qBAAb,UACc,qBAAd,WACe,gBAAtB,UAAU,QAId,SAAgB,IACd,MACqB,qBAAZ,GACqB,qBAArB,EAAQ,UACkB,qBAA1B,EAAQ,SAAS,K,6FAZ5B,kBAQAA,EAAQ,OAAR,EAQA,uBACE,OAAQ,MAAoB,O,kC+GjB9B,IAAImsH,EAAiB,EAAQ,KAEzBC,EAAuB,EAAQ,KAE/B56G,EAA6B,EAAQ,KAErC66G,EAAkB,EAAQ,KAM9BliH,EAAOnK,QAJP,SAAwB+Q,EAAK5K,GAC3B,OAAOgmH,EAAep7G,IAAQq7G,EAAqBr7G,EAAK5K,IAAMqL,EAA2BT,EAAK5K,IAAMkmH,KAGrEliH,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCRtGmK,EAAOnK,QAJP,SAAyB+Q,GACvB,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,GAGC5G,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cC0BvGmK,EAAOnK,QA9BP,SAA+B+Q,EAAK5K,GAClC,IAAI+K,EAAY,MAAPH,EAAc,KAAyB,qBAAXxQ,QAA0BwQ,EAAIxQ,OAAOE,WAAasQ,EAAI,cAE3F,GAAU,MAANG,EAAJ,CACA,IAIIC,EAAIC,EAJJC,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAKL,EAAKA,EAAG7N,KAAK0N,KAAQO,GAAMH,EAAKD,EAAGjM,QAAQ9B,QAC9CkO,EAAK1L,KAAKwL,EAAGlQ,QAETkF,GAAKkL,EAAKnL,SAAWC,GAH4BmL,GAAK,IAK5D,MAAOhQ,GACPiQ,GAAK,EACLH,EAAK9P,EACL,QACA,IACOgQ,GAAsB,MAAhBJ,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIK,EAAI,MAAMH,GAIlB,OAAOC,IAG+BlH,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cC1B7GmK,EAAOnK,QAJP,WACE,MAAM,IAAI8E,UAAU,8IAGaqF,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBCJxG,IAAIwR,EAA6B,EAAQ,KA2DzCrH,EAAOnK,QAzDP,SAAoCuL,EAAG0S,GACrC,IAAIC,EAAuB,qBAAX3d,QAA0BgL,EAAEhL,OAAOE,WAAa8K,EAAE,cAElE,IAAK2S,EAAI,CACP,GAAIlN,MAAMC,QAAQ1F,KAAO2S,EAAK1M,EAA2BjG,KAAO0S,GAAkB1S,GAAyB,kBAAbA,EAAErF,OAAqB,CAC/GgY,IAAI3S,EAAI2S,GACZ,IAAI/X,EAAI,EAEJgY,EAAI,aAER,MAAO,CACL9S,EAAG8S,EACH3S,EAAG,WACD,OAAIrF,GAAKoF,EAAErF,OAAe,CACxB/C,MAAM,GAED,CACLA,MAAM,EACNlC,MAAOsK,EAAEpF,OAGb8E,EAAG,SAAWmG,GACZ,MAAMA,GAER/E,EAAG8R,GAIP,MAAM,IAAIrZ,UAAU,yIAGtB,IAEIxD,EAFA8c,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLhT,EAAG,WACD6S,EAAKA,EAAG7a,KAAKkI,IAEfC,EAAG,WACD,IAAI8S,EAAOJ,EAAGjZ,OAEd,OADAmZ,EAAmBE,EAAKnb,KACjBmb,GAETrT,EAAG,SAAWsT,GACZF,GAAS,EACT/c,EAAMid,GAERlS,EAAG,WACD,IACO+R,GAAoC,MAAhBF,EAAW,QAAWA,EAAW,SAC1D,QACA,GAAIG,EAAQ,MAAM/c,MAMmB6I,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,gBC3DlH,IAAIgf,EAAmB,EAAQ,KAM/B7U,EAAOnK,QAJP,SAA4B+Q,GAC1B,GAAIC,MAAMC,QAAQF,GAAM,OAAOiO,EAAiBjO,IAGb5G,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCF1GmK,EAAOnK,QAJP,SAA0BgH,GACxB,GAAsB,qBAAXzG,QAAmD,MAAzByG,EAAKzG,OAAOE,WAA2C,MAAtBuG,EAAK,cAAuB,OAAOgK,MAAMmB,KAAKnL,IAGnFmD,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,cCAxGmK,EAAOnK,QAJP,WACE,MAAM,IAAI8E,UAAU,yIAGeqF,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,6BCH1GmK,EAAOnK,QAAU,SAAAkW,GAAG,OAAI4+B,mBAAmB5+B,GAAKyH,QAAQ,YAAY,SAAA5R,GAAC,iBAAQA,EAAEqK,WAAW,GAAG3C,SAAS,IAAI8nC,oB,6BCA1G,IAAI+wE,EAAQ,eACRC,EAAgB,IAAIjzF,OAAOgzF,EAAO,MAClCE,EAAe,IAAIlzF,OAAO,IAAMgzF,EAAQ,KAAM,MAElD,SAASG,EAAiBC,EAAYr0F,GACrC,IAEC,OAAOsjB,mBAAmB+wE,EAAWtzG,KAAK,KACzC,MAAO9X,IAIT,GAA0B,IAAtBorH,EAAWxmH,OACd,OAAOwmH,EAGRr0F,EAAQA,GAAS,EAGjB,IAAI+H,EAAOssF,EAAWllH,MAAM,EAAG6wB,GAC3BgI,EAAQqsF,EAAWllH,MAAM6wB,GAE7B,OAAOrnB,MAAM7Q,UAAUuY,OAAOrV,KAAK,GAAIopH,EAAiBrsF,GAAOqsF,EAAiBpsF,IAGjF,SAASvE,EAAOK,GACf,IACC,OAAOwf,mBAAmBxf,GACzB,MAAO76B,GAGR,IAFA,IAAIqrH,EAASxwF,EAAMhjB,MAAMozG,GAEhBpmH,EAAI,EAAGA,EAAIwmH,EAAOzmH,OAAQC,IAGlCwmH,GAFAxwF,EAAQswF,EAAiBE,EAAQxmH,GAAGiT,KAAK,KAE1BD,MAAMozG,GAGtB,OAAOpwF,GAyCThyB,EAAOnK,QAAU,SAAU4sH,GAC1B,GAA0B,kBAAfA,EACV,MAAM,IAAI9nH,UAAU,6DAA+D8nH,EAAa,KAGjG,IAIC,OAHAA,EAAaA,EAAWjvG,QAAQ,MAAO,KAGhCg+B,mBAAmBixE,GACzB,MAAOtrH,GAER,OAjDF,SAAkC66B,GAQjC,IANA,IAAI0wF,EAAa,CAChB,SAAU,eACV,SAAU,gBAGP1zG,EAAQqzG,EAAah+D,KAAKryB,GACvBhjB,GAAO,CACb,IAEC0zG,EAAW1zG,EAAM,IAAMwiC,mBAAmBxiC,EAAM,IAC/C,MAAO7X,GACR,IAAIgD,EAASw3B,EAAO3iB,EAAM,IAEtB7U,IAAW6U,EAAM,KACpB0zG,EAAW1zG,EAAM,IAAM7U,GAIzB6U,EAAQqzG,EAAah+D,KAAKryB,GAI3B0wF,EAAW,OAAS,SAIpB,IAFA,IAAI7xE,EAAU96C,OAAO+G,KAAK4lH,GAEjB1mH,EAAI,EAAGA,EAAI60C,EAAQ90C,OAAQC,IAAK,CAExC,IAAInF,EAAMg6C,EAAQ70C,GAClBg2B,EAAQA,EAAMxe,QAAQ,IAAI2b,OAAOt4B,EAAK,KAAM6rH,EAAW7rH,IAGxD,OAAOm7B,EAeC2wF,CAAyBF,M,6BCzFlCziH,EAAOnK,QAAU,SAAC0S,EAAQq6G,GACzB,GAAwB,kBAAXr6G,GAA4C,kBAAdq6G,EAC1C,MAAM,IAAIjoH,UAAU,iDAGrB,GAAkB,KAAdioH,EACH,MAAO,CAACr6G,GAGT,IAAMs6G,EAAiBt6G,EAAOkC,QAAQm4G,GAEtC,OAAwB,IAApBC,EACI,CAACt6G,GAGF,CACNA,EAAOlL,MAAM,EAAGwlH,GAChBt6G,EAAOlL,MAAMwlH,EAAiBD,EAAU7mH,W,6BCjB1CiE,EAAOnK,QAAU,WACf,MAAM,IAAIsC,MACR,2F,iBCJJ,IAAIwmE,EAAY1+D,EAAQ,KAmKpBwwC,EAAOzwC,EAAOnK,SAEjB,WACG,aAOA,IAEIitH,EACAC,EAUAn7C,EAZAo7C,EAAY,2HAGZh8B,EAAO,CACH,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,IAAM,MACN,KAAM,QAKd,SAASi8B,EAAM16G,GAQX,OADAy6G,EAAUE,UAAY,EACfF,EAAU18G,KAAKiC,GAAU,IAAMA,EAAOiL,QAAQwvG,GAAW,SAAU7hH,GACtE,IAAIK,EAAIwlF,EAAK7lF,GACb,MAAoB,kBAANK,EACRA,EACA,OAAS,OAASL,EAAE8K,WAAW,GAAG3C,SAAS,KAAKjM,OAAO,MAC5D,IAAM,IAAMkL,EAAS,IAI9B,SAASwD,EAAIlV,EAAKssH,GAId,IAAInnH,EACA+a,EACA9U,EACAlG,EAEA+0B,EADAsyF,EAAON,EAEPhsH,EAAQqsH,EAAOtsH,GACfksE,EAAuB,MAATjsE,IAAkBA,aAAiB6nE,GAAaA,EAAUoE,YAAYjsE,IAkBxF,OAdIA,GAA0B,kBAAVA,GACY,oBAAjBA,EAAM0Y,SACjB1Y,EAAQA,EAAM0Y,OAAO3Y,IAMN,oBAAR+wE,IACP9wE,EAAQ8wE,EAAI1uE,KAAKiqH,EAAQtsH,EAAKC,WAKnBA,GACf,IAAK,SACD,OAAIisE,EACOjsE,EAEAmsH,EAAMnsH,GAGrB,IAAK,SAID,OAAOyY,SAASzY,GAASgU,OAAOhU,GAAS,OAE7C,IAAK,UACL,IAAK,OACL,IAAK,SAMD,OAAOgU,OAAOhU,GAKlB,IAAK,SAKD,IAAKA,EACD,MAAO,OAUX,GALAgsH,GAAOC,EACPjyF,EAAU,GAIqC,mBAA3C/6B,OAAOC,UAAUsT,SAAS7J,MAAM3I,GAA6B,CAM7D,IADAiF,EAASjF,EAAMiF,OACVC,EAAI,EAAGA,EAAID,EAAQC,GAAK,EACzB80B,EAAQ90B,GAAK+P,EAAI/P,EAAGlF,IAAU,OAYlC,OANAmL,EAAuB,IAAnB6uB,EAAQ/0B,OACN,KACA+mH,EACA,MAAQA,EAAMhyF,EAAQ7hB,KAAK,MAAQ6zG,GAAO,KAAOM,EAAO,IACxD,IAAMtyF,EAAQ7hB,KAAK,KAAO,IAChC6zG,EAAMM,EACCnhH,EAKX,GAAI2lE,GAAsB,kBAARA,EAEd,IADA7rE,EAAS6rE,EAAI7rE,OACRC,EAAI,EAAGA,EAAID,EAAQC,GAAK,EACH,kBAAX4rE,EAAI5rE,KAEXiG,EAAI8J,EADJgL,EAAI6wD,EAAI5rE,GACGlF,KAEPg6B,EAAQt1B,KAAKynH,EAAMlsG,IAAM+rG,EAAM,KAAO,KAAO7gH,QAQzDlM,OAAO+G,KAAKhG,GAAO+C,SAAQ,SAASkd,GAChC,IAAI9U,EAAI8J,EAAIgL,EAAGjgB,GACXmL,GACA6uB,EAAQt1B,KAAKynH,EAAMlsG,IAAM+rG,EAAM,KAAO,KAAO7gH,MAczD,OANAA,EAAuB,IAAnB6uB,EAAQ/0B,OACN,KACA+mH,EACA,MAAQA,EAAMhyF,EAAQ7hB,KAAK,MAAQ6zG,GAAO,KAAOM,EAAO,IACxD,IAAMtyF,EAAQ7hB,KAAK,KAAO,IAChC6zG,EAAMM,EACCnhH,GAMe,oBAAnBwuC,EAAKlH,YACZkH,EAAKlH,UAAY,SAAUzyC,EAAOusH,EAAUC,GAQxC,IAAItnH,EAOJ,GANA8mH,EAAM,GACNC,EAAS,GAKY,kBAAVO,EACP,IAAKtnH,EAAI,EAAGA,EAAIsnH,EAAOtnH,GAAK,EACxB+mH,GAAU,QAKU,kBAAVO,IACdP,EAASO,GAOb,GADA17C,EAAMy7C,EACFA,GAAgC,oBAAbA,IACM,kBAAbA,GACmB,kBAApBA,EAAStnH,QACpB,MAAM,IAAI5D,MAAM,kBAMpB,OAAO4T,EAAI,GAAI,CAAC,GAAIjV,MAvN/B,I,gBCrKD,IAAI6nE,EAAY,KAMV4kD,EAAiB,0IACjBC,EAAuB,2JAmb7BxjH,EAAOnK,QAnXU,SAAU+zC,GACzB,aAWA,IAAI65E,EAAW,CACbzmE,QAAQ,EACR0mE,eAAe,EACfC,kBAAkB,EAClBC,iBAAiB,EACjBC,YAAa,QACbC,kBAAmB,SAIrB,QAAgBppH,IAAZkvC,GAAqC,OAAZA,EAAkB,CAY7C,IAXuB,IAAnBA,EAAQoT,SACVymE,EAASzmE,QAAS,IAEU,IAA1BpT,EAAQ85E,gBACVD,EAASC,eAAgB,GAE3BD,EAASE,kBACsB,IAA7B/5E,EAAQ+5E,kBAA4B/5E,EAAQ+5E,iBAC9CF,EAASG,iBACqB,IAA5Bh6E,EAAQg6E,iBAA2Bh6E,EAAQg6E,gBAEJ,qBAA9Bh6E,EAAQk6E,kBAAmC,CACpD,GACgC,UAA9Bl6E,EAAQk6E,mBACsB,WAA9Bl6E,EAAQk6E,mBACsB,aAA9Bl6E,EAAQk6E,kBAIR,MAAM,IAAI3rH,MAAJ,0GAC+FyxC,EAAQk6E,oBAH7GL,EAASK,kBAAoBl6E,EAAQk6E,kBAQzC,GAAmC,qBAAxBl6E,EAAQi6E,YAA6B,CAC9C,GAC0B,UAAxBj6E,EAAQi6E,aACgB,WAAxBj6E,EAAQi6E,aACgB,aAAxBj6E,EAAQi6E,YAIR,MAAM,IAAI1rH,MAAJ,oGACyFyxC,EAAQi6E,cAHvGJ,EAASI,YAAcj6E,EAAQi6E,aASrC,IAAIE,EACFhuC,EAWA7lC,EAyJAp5C,EAnKAktH,EAAU,CACR,IAAK,IACL,KAAM,KACN,IAAK,IACLniH,EAAG,KACHK,EAAG,KACHb,EAAG,KACHJ,EAAG,KACHD,EAAG,MAGLzG,EAAQ,SAAUoH,GAGhB,KAAM,CACJrF,KAAM,cACN0Y,QAASrT,EACToiH,GAAIA,EACJ7zE,KAAMA,IAGVp1C,EAAO,SAAU0G,GAYf,OATIA,GAAKA,IAAMu0E,GACbx7E,EAAM,aAAeiH,EAAI,iBAAmBu0E,EAAK,KAMnDA,EAAK7lC,EAAK9yC,OAAO2mH,GACjBA,GAAM,EACChuC,GAETxgD,EAAS,WAGP,IAAIA,EACFhtB,EAAS,GAMX,IAJW,MAAPwtE,IACFxtE,EAAS,IACTzN,EAAK,MAEAi7E,GAAM,KAAOA,GAAM,KACxBxtE,GAAUwtE,EACVj7E,IAEF,GAAW,MAAPi7E,EAEF,IADAxtE,GAAU,IACHzN,KAAUi7E,GAAM,KAAOA,GAAM,KAClCxtE,GAAUwtE,EAGd,GAAW,MAAPA,GAAqB,MAAPA,EAOhB,IANAxtE,GAAUwtE,EACVj7E,IACW,MAAPi7E,GAAqB,MAAPA,IAChBxtE,GAAUwtE,EACVj7E,KAEKi7E,GAAM,KAAOA,GAAM,KACxBxtE,GAAUwtE,EACVj7E,IAIJ,GADAy6B,GAAUhtB,EACLgH,SAASgmB,GAMZ,OAHiB,MAAbopC,IAAmBA,EAAY1+D,EAAQ,MAGvCsI,EAAOxM,OAAS,GACX0nH,EAASC,cACZn7G,EACAk7G,EAASG,gBACTh8D,OAAOr/C,GACP,IAAIo2D,EAAUp2D,GAEVk7G,EAASE,iBAEbF,EAASG,gBACTh8D,OAAOryB,GACP,IAAIopC,EAAUppC,GAHdA,EAbNh7B,EAAM,eAmBVgO,EAAS,WAGP,IAAIsjC,EACF7vC,EAEAioH,EADA17G,EAAS,GAKX,GAAW,MAAPwtE,EAEF,IADA,IAAImuC,EAAUH,EACPjpH,KAAQ,CACb,GAAW,MAAPi7E,EAGF,OAFIguC,EAAK,EAAIG,IAAS37G,GAAU2nC,EAAKuxB,UAAUyiD,EAASH,EAAK,IAC7DjpH,IACOyN,EAET,GAAW,OAAPwtE,EAAa,CAGf,GAFIguC,EAAK,EAAIG,IAAS37G,GAAU2nC,EAAKuxB,UAAUyiD,EAASH,EAAK,IAC7DjpH,IACW,MAAPi7E,EAAY,CAEd,IADAkuC,EAAQ,EACHjoH,EAAI,EAAGA,EAAI,IACd6vC,EAAMngC,SAAS5Q,IAAQ,IAClByU,SAASs8B,IAFG7vC,GAAK,EAKtBioH,EAAgB,GAARA,EAAap4E,EAEvBtjC,GAAUuC,OAAOyC,aAAa02G,OACzB,IAA2B,kBAAhBD,EAAQjuC,GAGxB,MAFAxtE,GAAUy7G,EAAQjuC,GAIpBmuC,EAAUH,GAIhBxpH,EAAM,eAER4pH,EAAQ,WAGN,KAAOpuC,GAAMA,GAAM,KACjBj7E,KA8BJoN,EAAQ,WAGN,IAAIA,EAAQ,GAEZ,GAAW,MAAP6tE,EAAY,CAGd,GAFAj7E,EAAK,KACLqpH,IACW,MAAPpuC,EAEF,OADAj7E,EAAK,KACEoN,EAET,KAAO6tE,GAAI,CAGT,GAFA7tE,EAAM1M,KAAK1E,KACXqtH,IACW,MAAPpuC,EAEF,OADAj7E,EAAK,KACEoN,EAETpN,EAAK,KACLqpH,KAGJ5pH,EAAM,cAERwC,EAAS,WAGP,IAAIlG,EACFkG,EAAShH,OAAO6B,OAAO,MAEzB,GAAW,MAAPm+E,EAAY,CAGd,GAFAj7E,EAAK,KACLqpH,IACW,MAAPpuC,EAEF,OADAj7E,EAAK,KACEiC,EAET,KAAOg5E,GAAI,CAgCT,GA/BAl/E,EAAM0R,IACN47G,IACArpH,EAAK,MAEiB,IAApB2oH,EAASzmE,QACTjnD,OAAOG,eAAegD,KAAK6D,EAAQlG,IAEnC0D,EAAM,kBAAoB1D,EAAM,MAGD,IAA7B0sH,EAAej9G,KAAKzP,GACO,UAAzB4sH,EAASI,YACXtpH,EAAM,gDAC4B,WAAzBkpH,EAASI,YAClB/sH,IAEAiG,EAAOlG,GAAOC,KAE4B,IAAnC0sH,EAAqBl9G,KAAKzP,GACA,UAA/B4sH,EAASK,kBACXvpH,EAAM,kDACkC,WAA/BkpH,EAASK,kBAClBhtH,IAEAiG,EAAOlG,GAAOC,IAGhBiG,EAAOlG,GAAOC,IAGhBqtH,IACW,MAAPpuC,EAEF,OADAj7E,EAAK,KACEiC,EAETjC,EAAK,KACLqpH,KAGJ5pH,EAAM,eAyBV,OAtBAzD,EAAQ,WAKN,OADAqtH,IACQpuC,GACN,IAAK,IACH,OAAOh5E,IACT,IAAK,IACH,OAAOmL,IACT,IAAK,IACH,OAAOK,IACT,IAAK,IACH,OAAOgtB,IACT,QACE,OAAOwgD,GAAM,KAAOA,GAAM,IAAMxgD,IA3H7B,WAGL,OAAQwgD,GACN,IAAK,IAKH,OAJAj7E,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,MACE,EACT,IAAK,IAMH,OALAA,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,MACE,EACT,IAAK,IAKH,OAJAA,EAAK,KACLA,EAAK,KACLA,EAAK,KACLA,EAAK,KACE,KAEXP,EAAM,eAAiBw7E,EAAK,KAmGiB/+C,KAO1C,SAAUt2B,EAAQ0jH,GACvB,IAAIjqH,EAiBJ,OAfA+1C,EAAOxvC,EAAS,GAChBqjH,EAAK,EACLhuC,EAAK,IACL57E,EAASrD,IACTqtH,IACIpuC,GACFx7E,EAAM,gBASkB,oBAAZ6pH,EACT,SAASC,EAAKlB,EAAQtsH,GACrB,IACEoL,EACAnL,EAAQqsH,EAAOtsH,GAWjB,OAVIC,GAA0B,kBAAVA,GAClBf,OAAO+G,KAAKhG,GAAO+C,SAAQ,SAAUkd,QAEzBrc,KADVuH,EAAIoiH,EAAKvtH,EAAOigB,IAEdjgB,EAAMigB,GAAK9U,SAEJnL,EAAMigB,MAIZqtG,EAAQlrH,KAAKiqH,EAAQtsH,EAAKC,GAdlC,CAeE,CAAE,GAAIqD,GAAU,IACnBA,K,iECtbFoM,EAAU,EAAQ,GAClBiC,EAAW,EAAQ,IACnB87G,EAAQ,EAAQ,IAChBC,EAAQ,EAAQ,IAChBC,EAAW,EAAQ,IACnB9uG,EAAO,EAAQ,IACf+uG,EAAY,EAAQ,IACpBC,EAAc,EAAQ,IAEtB,E,wBAiBJ,WAAY,EAAU,EAAQ,EAAY,EAAW,EAAgB,GAEnE,GAFwE,WAEnE,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DACd,IAAK,OAAO,cAAc,IAAe,EAAa,EACpD,MAAM,MACJ,gEAEJ,IAAK,OAAO,cAAc,IAAc,EAAY,EAClD,MAAM,MACJ,+DAOJ,GAJ8B,qBAAnB,IAET,EAAiB,EAAQ,8BAEN,qBAAV,EAAuB,CAChC,IAAM,EAAa,EAAK,YAAY,IAEpC,EAAQ,EAAO,KAAK,GAAY,SAAS,UAG3C,IAEM,EAAwB,EAAO,KADnC,2OAC6D,UASzD,EAAkB,CACtB,EACA,EACA,EACA,EACA,EACA,GAEI,EAAiB,CACrB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,QACnB,EAAU,SAAS,QACnB,EAAU,SAAS,QAEf,EAAgB,EAAU,OAC9B,EAzBuB,CACvB,EACA,EACA,EACA,GACA,GACA,IAqBA,EACA,GAEF,KAAK,aAAe,EACpB,IAAM,EAAO,IAAI,EAAS,SAAS,OAAe,GAClD,KAAK,QAAU,EAAK,U,oCAOtB,WACE,OAAO,KAAK,e,wBAOd,WACE,OAAO,KAAK,Y,KAkHhB,EAAO,QAAU,CACf,aACA,0BAvDF,SAAmC,EAAK,EAAM,EAAY,GACxD,IAAK,EAAK,OAAO,EAAQ,cAAc,EAAI,MAAM,WAC/C,MAAM,IAAI,MAAM,qBAGlB,EAAI,IAAM,EACN,EAAI,IAAM,EAAY,sBACxB,EAAI,IAAM,EAAY,qBAGxB,IAAM,EAAO,EAAK,qBAAqB,GACjC,EAAO,EAAQ,cAAc,EAAK,WAGhC,EAAU,EAAV,aACD,EAAI,MAEX,IAAM,EAAS,IAAI,EAAY,YAAY,GAC3C,EAAO,SAAS,EAAO,GAEvB,IAAM,EAAY,CAChB,OACA,GAAI,EAAI,KACR,MACA,OAAQ,EAAO,IACf,WAAY,EAAI,WAChB,UAAW,EAAI,UACf,YAAa,EAAI,YACjB,KAAM,OAEF,EAAe,IAAI,EAAY,YAAY,GACjD,EAAa,SAAS,EAAO,GAE7B,IAAM,EAAW,EAAM,cAAc,CAAC,EAAc,QAAS,GACvD,EAAqB,EAAS,GAC9B,EAAkB,EAAS,GAE3B,EAAO,CACX,KAAM,EAAK,uBACX,IAAK,EAAgB,wBAGjB,EAAO,EAAmB,QAAQ,GAClC,EAAO,EAAS,OAAO,GAEvB,EAAY,IAAI,WAAW,EAAK,OAAS,EAAK,QAIpD,OAHA,EAAU,IAAI,GACd,EAAU,IAAI,EAAM,EAAK,QAElB,GAOP,eAvGF,SAAwB,EAAU,EAAW,GAC3C,IAAM,EAAiB,EAAM,YAAY,OAAU,GAC7C,EAAO,EAAe,GACtB,EAAa,EAAe,GAC5B,EAAO,EAAK,qBAAqB,GASjC,EAAM,CACV,KATW,EAAQ,cAAc,EAAK,WAUtC,GATS,EAAQ,cAAc,EAAW,IAU1C,IATU,EAUV,OATa,EAAK,GAUlB,iBATuB,EAAQ,cAAc,EAAW,IAUxD,WATiB,EAAK,GAUtB,UATgB,EAAK,GAUrB,cACA,KAAM,MACN,MAXY,IAAI,WAAW,EAAW,KAclC,EAAO,IAAI,EAAS,SAAS,OAAU,GAE7C,OADA,EAAK,KAAK,GACH,CAAE,MAAK,Y,0FC9IVC,EAAS,EAAQ,KACfC,EAAc,EAAQ,KAAtBA,UACFL,EAAQ,EAAQ,IAChBC,EAAW,EAAQ,IACnBC,EAAY,EAAQ,IACpBC,EAAc,EAAQ,IAEtB,E,wBAwBJ,WAAY,EAAO,EAAU,EAAc,EAAW,EAAa,GAEjE,GAFuE,WAElE,OAAO,cAAc,IAAgB,EAAc,EACtD,MAAM,MACJ,iEAEJ,IAAK,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DAEd,IAAI,EAAsB,GAC1B,GAAqB,WAAjB,EACF,EACE,+MACG,IAAqB,cAAjB,EAIT,MAAM,MAAM,8BAHZ,EACE,2MAMJ,GAA8B,KADP,EAAO,KAAK,EAAW,UAC3B,OACjB,MAAM,MAAM,+BAEd,IAAM,EAAwB,EAAO,KAAK,EAAqB,UAQzD,EAAkB,CAAC,EAAQ,EAAa,EAAU,EAAW,GAC7D,EAAiB,CACrB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,QACnB,EAAU,SAAS,OACnB,EAAU,SAAS,SAEf,EAAgB,EAAU,OAC9B,EAhBuB,CACvB,EACA,EACA,GACA,GACA,IAaA,EACA,GAEF,KAAK,aAAe,EACpB,IAAM,EAAO,IAAI,EAAS,SAAS,OAAe,GAClD,KAAK,QAAU,EAAK,U,oCAOtB,WACE,OAAO,KAAK,e,wBAOd,WACE,OAAO,KAAK,Y,KAkEhB,EAAO,QAAU,CACf,OACA,8BApDF,SAAuC,EAAU,EAAK,GACpD,IAAM,EAAgB,EAAO,KAAK,EAAkB,UAG9C,EAAa,EAAM,YAAY,OAAU,GACzC,EAAO,EAAW,GAElB,EADa,EAAW,GACU,GAClC,EAAe,EAAS,EAAS,OAAS,IAChD,GAAqB,IAAjB,EAAoB,CACtB,IAAM,EAAO,EAAO,SAGpB,GAFA,EAAK,OAAO,IACe,EAAO,KAAK,EAAK,MAAO,OAC3B,OAAO,GAC7B,MAAM,IAAI,MACR,kEAGC,IAAqB,IAAjB,EAUT,MAAM,IAAI,MAAM,0CAThB,IAAM,EAAO,EAAU,SAGvB,GAFA,EAAK,OAAO,IACe,EAAO,KAAK,EAAK,MAAO,OAC3B,OAAO,GAC7B,MAAM,IAAI,MACR,iEAON,IAAM,EAAO,CAAC,GAER,EAAO,IAAI,EAAS,SAAS,EAAU,UAGtC,EAAI,GAEX,IAAM,EAAS,EAAK,GAEd,EAAU,IAAI,EAAY,YAAY,GAC5C,GAAI,EAAQ,IAAM,EAChB,MAAM,IAAI,MAAJ,0CAC+B,EAAQ,IAAI,WAD3C,2CACwF,EAAO,aAIvG,OAAO,EAAS,wBAAwB,EAAK,O,uEC9J/C,4DASA,WACE,aAEA,IAAIG,MAAQ,wBACRnnE,OAA2B,kBAAXr0B,OAChB+G,KAAOstB,OAASr0B,OAAS,GACzB+G,KAAK00F,sBACPpnE,QAAS,GAEX,IAAIE,YAAcF,QAA0B,kBAATnmD,KAC/BwtH,SAAW30F,KAAK40F,sBAA2C,kBAAZx7F,SAAwBA,QAAQwB,UAAYxB,QAAQwB,SAASsF,KAC5Gy0F,QACF30F,KAAOxiB,OACEgwC,aACTxtB,KAAO74B,MAET,IAAIg5B,WAAaH,KAAK60F,wBAA4C,kBAAXjlH,QAAuBA,OAAOnK,QACjF46B,IAAsC95B,wBACtConD,cAAgB3tB,KAAK80F,2BAAoD,qBAAhBj9G,YACzDg2C,UAAY,mBAAmB/vB,MAAM,IACrC0kD,MAAQ,EAAE,WAAY,QAAS,MAAO,KACtC/lD,MAAQ,CAAC,GAAI,GAAI,EAAG,GACpB5L,EAAI,CACN,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WACpF,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WACpF,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WACpF,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UACpF,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WACpF,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UACpF,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WACpF,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAElFq9B,aAAe,CAAC,MAAO,QAAS,SAAU,eAE1C5/B,OAAS,IAET0R,KAAK40F,sBAAyBn+G,MAAMC,UACtCD,MAAMC,QAAU,SAAUlQ,GACxB,MAA+C,mBAAxCb,OAAOC,UAAUsT,SAASpQ,KAAKtC,MAItCmnD,eAAiB3tB,KAAK+0F,mCAAsCl9G,YAAYsB,SAC1EtB,YAAYsB,OAAS,SAAU3S,GAC7B,MAAsB,kBAARA,GAAoBA,EAAIqS,QAAUrS,EAAIqS,OAAO5M,cAAgB4L,cAI/E,IAAIw2C,mBAAqB,SAAUC,EAAY0mE,GAC7C,OAAO,SAAUpwG,GACf,OAAO,IAAIqwG,OAAOD,GAAO,GAAMzqG,OAAO3F,GAAS0pC,OAI/CO,aAAe,SAAUmmE,GAC3B,IAAIntH,EAASwmD,mBAAmB,MAAO2mE,GACnCL,UACF9sH,EAASqtH,SAASrtH,EAAQmtH,IAE5BntH,EAAOL,OAAS,WACd,OAAO,IAAIytH,OAAOD,IAEpBntH,EAAO0iB,OAAS,SAAU3F,GACxB,OAAO/c,EAAOL,SAAS+iB,OAAO3F,IAEhC,IAAK,IAAIhZ,EAAI,EAAGA,EAAIsiD,aAAaviD,SAAUC,EAAG,CAC5C,IAAIjD,EAAOulD,aAAatiD,GACxB/D,EAAOc,GAAQ0lD,mBAAmB1lD,EAAMqsH,GAE1C,OAAOntH,GAGLqtH,SAAW,SAAXA,SAAqBrtH,OAAQmtH,OAC/B,IAAIn8F,OAASs8F,KAAK,qBACd99G,OAAS89G,KAAK,4BACdjmE,UAAY8lE,MAAQ,SAAW,SAC/BI,WAAa,SAAUxwG,GACzB,GAAuB,kBAAZA,EACT,OAAOiU,OAAOw8F,WAAWnmE,WAAW3kC,OAAO3F,EAAS,QAAQqrC,OAAO,OAEnE,GAAgB,OAAZrrC,QAAgCta,IAAZsa,EACtB,MAAM,IAAI7c,MAAM0sH,OAKpB,OAJa7vG,EAAQ3Y,cAAgB4L,cACjC+M,EAAU,IAAI9O,WAAW8O,IAGzBnO,MAAMC,QAAQkO,IAAY/M,YAAYsB,OAAOyL,IAC/CA,EAAQ3Y,cAAgBoL,OACjBwhB,OAAOw8F,WAAWnmE,WAAW3kC,OAAO,IAAIlT,OAAOuN,IAAUqrC,OAAO,OAEhEpoD,OAAO+c,IAGlB,OAAOwwG,YAGLzyC,uBAAyB,SAAUr0B,EAAY0mE,GACjD,OAAO,SAAUvuH,EAAKme,GACpB,OAAO,IAAI0wG,WAAW7uH,EAAKuuH,GAAO,GAAMzqG,OAAO3F,GAAS0pC,OAIxDu0B,iBAAmB,SAAUmyC,GAC/B,IAAIntH,EAAS86E,uBAAuB,MAAOqyC,GAC3CntH,EAAOL,OAAS,SAAUf,GACxB,OAAO,IAAI6uH,WAAW7uH,EAAKuuH,IAE7BntH,EAAO0iB,OAAS,SAAU9jB,EAAKme,GAC7B,OAAO/c,EAAOL,OAAOf,GAAK8jB,OAAO3F,IAEnC,IAAK,IAAIhZ,EAAI,EAAGA,EAAIsiD,aAAaviD,SAAUC,EAAG,CAC5C,IAAIjD,EAAOulD,aAAatiD,GACxB/D,EAAOc,GAAQg6E,uBAAuBh6E,EAAMqsH,GAE9C,OAAOntH,GAGT,SAASotH,OAAOD,EAAOlyC,GACjBA,GACFx0D,OAAO,GAAKA,OAAO,IAAMA,OAAO,GAAKA,OAAO,GAAKA,OAAO,GACtDA,OAAO,GAAKA,OAAO,GAAKA,OAAO,GAAKA,OAAO,GAC3CA,OAAO,GAAKA,OAAO,GAAKA,OAAO,IAAMA,OAAO,IAC5CA,OAAO,IAAMA,OAAO,IAAMA,OAAO,IAAMA,OAAO,IAAM,EACtDplB,KAAKolB,OAASA,QAEdplB,KAAKolB,OAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAG7D0mG,GACF9rH,KAAKgmB,GAAK,WACVhmB,KAAKimB,GAAK,UACVjmB,KAAKkmB,GAAK,UACVlmB,KAAKmmB,GAAK,WACVnmB,KAAKomB,GAAK,WACVpmB,KAAKqmB,GAAK,WACVrmB,KAAKsmB,GAAK,WACVtmB,KAAKumB,GAAK,aAEVvmB,KAAKgmB,GAAK,WACVhmB,KAAKimB,GAAK,WACVjmB,KAAKkmB,GAAK,WACVlmB,KAAKmmB,GAAK,WACVnmB,KAAKomB,GAAK,WACVpmB,KAAKqmB,GAAK,WACVrmB,KAAKsmB,GAAK,UACVtmB,KAAKumB,GAAK,YAGZvmB,KAAKomD,MAAQpmD,KAAKuQ,MAAQvQ,KAAKsW,MAAQtW,KAAK66E,OAAS,EACrD76E,KAAKmmD,UAAYnmD,KAAK86E,QAAS,EAC/B96E,KAAKqsH,OAAQ,EACbrsH,KAAK8rH,MAAQA,EA4Qf,SAASM,WAAW7uH,EAAKuuH,EAAOlyC,GAC9B,IAAIl3E,EAAGjD,SAAclC,EACrB,GAAa,WAATkC,EAAmB,CACrB,IAAgD0N,EAA5CmJ,EAAQ,GAAI7T,EAASlF,EAAIkF,OAAQwH,EAAQ,EAC7C,IAAKvH,EAAI,EAAGA,EAAID,IAAUC,GACxByK,EAAO5P,EAAIoV,WAAWjQ,IACX,IACT4T,EAAMrM,KAAWkD,EACRA,EAAO,MAChBmJ,EAAMrM,KAAY,IAAQkD,GAAQ,EAClCmJ,EAAMrM,KAAY,IAAe,GAAPkD,GACjBA,EAAO,OAAUA,GAAQ,OAClCmJ,EAAMrM,KAAY,IAAQkD,GAAQ,GAClCmJ,EAAMrM,KAAY,IAASkD,GAAQ,EAAK,GACxCmJ,EAAMrM,KAAY,IAAe,GAAPkD,IAE1BA,EAAO,QAAoB,KAAPA,IAAiB,GAA6B,KAAtB5P,EAAIoV,aAAajQ,IAC7D4T,EAAMrM,KAAY,IAAQkD,GAAQ,GAClCmJ,EAAMrM,KAAY,IAASkD,GAAQ,GAAM,GACzCmJ,EAAMrM,KAAY,IAASkD,GAAQ,EAAK,GACxCmJ,EAAMrM,KAAY,IAAe,GAAPkD,GAG9B5P,EAAM+Y,MACD,CACL,GAAa,WAAT7W,EAWF,MAAM,IAAIZ,MAAM0sH,OAVhB,GAAY,OAARhuH,EACF,MAAM,IAAIsB,MAAM0sH,OACX,GAAI9mE,cAAgBlnD,EAAIwF,cAAgB4L,YAC7CpR,EAAM,IAAIqP,WAAWrP,QAChB,IAAKgQ,MAAMC,QAAQjQ,MACnBknD,eAAiB91C,YAAYsB,OAAO1S,IACvC,MAAM,IAAIsB,MAAM0sH,OAQpBhuH,EAAIkF,OAAS,KACflF,EAAO,IAAIwuH,OAAOD,GAAO,GAAOzqG,OAAO9jB,GAAKqR,SAG9C,IAAImsE,EAAU,GAAIC,EAAU,GAC5B,IAAKt4E,EAAI,EAAGA,EAAI,KAAMA,EAAG,CACvB,IAAI6F,EAAIhL,EAAImF,IAAM,EAClBq4E,EAAQr4E,GAAK,GAAO6F,EACpByyE,EAAQt4E,GAAK,GAAO6F,EAGtBwjH,OAAOnsH,KAAKI,KAAM8rH,EAAOlyC,GAEzB55E,KAAKqhB,OAAO25D,GACZh7E,KAAK+6E,QAAUA,EACf/6E,KAAKkb,OAAQ,EACblb,KAAK45E,aAAeA,EAjUtBmyC,OAAOrvH,UAAU2kB,OAAS,SAAU3F,GAClC,IAAI1b,KAAKmmD,UAAT,CAGA,IAAIxtB,EAAWl5B,SAAcic,EAC7B,GAAa,WAATjc,EAAmB,CACrB,GAAa,WAATA,EAWF,MAAM,IAAIZ,MAAM0sH,OAVhB,GAAgB,OAAZ7vG,EACF,MAAM,IAAI7c,MAAM0sH,OACX,GAAI9mE,cAAgB/oC,EAAQ3Y,cAAgB4L,YACjD+M,EAAU,IAAI9O,WAAW8O,QACpB,IAAKnO,MAAMC,QAAQkO,MACnB+oC,eAAiB91C,YAAYsB,OAAOyL,IACvC,MAAM,IAAI7c,MAAM0sH,OAMtB5yF,GAAY,EAId,IAFA,IAAIxrB,EAAiBzK,EAAXuH,EAAQ,EAAMxH,EAASiZ,EAAQjZ,OAAQ2iB,EAASplB,KAAKolB,OAExDnb,EAAQxH,GAAQ,CAUrB,GATIzC,KAAK86E,SACP96E,KAAK86E,QAAS,EACd11D,EAAO,GAAKplB,KAAKomD,MACjBhhC,EAAO,IAAMA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC1CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,IAAMA,EAAO,IAC5CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAM,GAGpDuT,EACF,IAAKj2B,EAAI1C,KAAKuQ,MAAOtG,EAAQxH,GAAUC,EAAI,KAAMuH,EAC/Cmb,EAAO1iB,GAAK,IAAMgZ,EAAQzR,IAAUspB,MAAY,EAAN7wB,UAG5C,IAAKA,EAAI1C,KAAKuQ,MAAOtG,EAAQxH,GAAUC,EAAI,KAAMuH,GAC/CkD,EAAOuO,EAAQ/I,WAAW1I,IACf,IACTmb,EAAO1iB,GAAK,IAAMyK,GAAQomB,MAAY,EAAN7wB,KACvByK,EAAO,MAChBiY,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,IAAOomB,MAAY,EAAN7wB,KAChD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,MAAY,EAAN7wB,MACzCyK,EAAO,OAAUA,GAAQ,OAClCiY,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,KAAQomB,MAAY,EAAN7wB,KACjD0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,EAAK,KAAUomB,MAAY,EAAN7wB,KACzD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,MAAY,EAAN7wB,OAElDyK,EAAO,QAAoB,KAAPA,IAAiB,GAAqC,KAA9BuO,EAAQ/I,aAAa1I,IACjEmb,EAAO1iB,GAAK,KAAO,IAAQyK,GAAQ,KAAQomB,MAAY,EAAN7wB,KACjD0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,GAAM,KAAUomB,MAAY,EAAN7wB,KAC1D0iB,EAAO1iB,GAAK,KAAO,IAASyK,GAAQ,EAAK,KAAUomB,MAAY,EAAN7wB,KACzD0iB,EAAO1iB,GAAK,KAAO,IAAe,GAAPyK,IAAiBomB,MAAY,EAAN7wB,MAKxD1C,KAAKymD,cAAgB/jD,EACrB1C,KAAKsW,OAAS5T,EAAI1C,KAAKuQ,MACnB7N,GAAK,IACP1C,KAAKomD,MAAQhhC,EAAO,IACpBplB,KAAKuQ,MAAQ7N,EAAI,GACjB1C,KAAKwvB,OACLxvB,KAAK86E,QAAS,GAEd96E,KAAKuQ,MAAQ7N,EAOjB,OAJI1C,KAAKsW,MAAQ,aACftW,KAAK66E,QAAU76E,KAAKsW,MAAQ,YAAc,EAC1CtW,KAAKsW,MAAQtW,KAAKsW,MAAQ,YAErBtW,OAGT+rH,OAAOrvH,UAAUoqD,SAAW,WAC1B,IAAI9mD,KAAKmmD,UAAT,CAGAnmD,KAAKmmD,WAAY,EACjB,IAAI/gC,EAASplB,KAAKolB,OAAQ1iB,EAAI1C,KAAKymD,cACnCrhC,EAAO,IAAMplB,KAAKomD,MAClBhhC,EAAO1iB,GAAK,IAAM42E,MAAU,EAAJ52E,GACxB1C,KAAKomD,MAAQhhC,EAAO,IAChB1iB,GAAK,KACF1C,KAAK86E,QACR96E,KAAKwvB,OAEPpK,EAAO,GAAKplB,KAAKomD,MACjBhhC,EAAO,IAAMA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC1CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,IAAMA,EAAO,IAC5CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAM,GAExDA,EAAO,IAAMplB,KAAK66E,QAAU,EAAI76E,KAAKsW,QAAU,GAC/C8O,EAAO,IAAMplB,KAAKsW,OAAS,EAC3BtW,KAAKwvB,SAGPu8F,OAAOrvH,UAAU8yB,KAAO,WACtB,IACqC9mB,EAAG4jH,EAAIC,EAAIC,EAAKhsG,EAAYioE,EAAInE,EAAI2Q,EAAIxE,EADzE5oF,EAAI7H,KAAKgmB,GAAIzd,EAAIvI,KAAKimB,GAAI/d,EAAIlI,KAAKkmB,GAAIle,EAAIhI,KAAKmmB,GAAI3e,EAAIxH,KAAKomB,GAAIxd,EAAI5I,KAAKqmB,GAAIkB,EAAIvnB,KAAKsmB,GACzFxd,EAAI9I,KAAKumB,GAAInB,EAASplB,KAAKolB,OAE7B,IAAK1c,EAAI,GAAIA,EAAI,KAAMA,EAGrB4jH,IADA9rG,EAAK4E,EAAO1c,EAAI,OACF,EAAM8X,GAAM,KAASA,IAAO,GAAOA,GAAM,IAAQA,IAAO,EAEtE+rG,IADA/rG,EAAK4E,EAAO1c,EAAI,MACF,GAAO8X,GAAM,KAASA,IAAO,GAAOA,GAAM,IAAQA,IAAO,GACvE4E,EAAO1c,GAAK0c,EAAO1c,EAAI,IAAM4jH,EAAKlnG,EAAO1c,EAAI,GAAK6jH,GAAM,EAI1D,IADA97B,EAAKloF,EAAIL,EACJQ,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACnB1I,KAAKqsH,OACHrsH,KAAK8rH,OACPrjC,EAAK,OAEL3/E,GADA0X,EAAK4E,EAAO,GAAK,YACR,WAAa,EACtBpd,EAAIwY,EAAK,UAAY,IAErBioE,EAAK,UAEL3/E,GADA0X,EAAK4E,EAAO,GAAK,WACR,YAAc,EACvBpd,EAAIwY,EAAK,WAAa,GAExBxgB,KAAKqsH,OAAQ,IAEbC,GAAOzkH,IAAM,EAAMA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,IAG9E2kH,GADA/jC,EAAK5gF,EAAIU,GACGV,EAAIK,EAAKuoF,EAIrB3nF,EAAId,GAFJwY,EAAK1X,GAJLyjH,GAAO/kH,IAAM,EAAMA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAGxEA,EAAIoB,GAAOpB,EAAI+f,GACFI,EAAEjf,GAAK0c,EAAO1c,KAEnB,EACdV,EAAIwY,GAFC8rG,EAAKE,IAEK,GAEjBF,GAAOtkH,IAAM,EAAMA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,IAG9EwkH,GADAloC,EAAKt8E,EAAIH,GACGG,EAAIO,EAAKkgF,EAIrBlhE,EAAIrf,GAFJsY,EAAK+G,GAJLglG,GAAOzjH,IAAM,EAAMA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAGxEA,EAAItB,GAAOsB,EAAIF,GACF+e,EAAEjf,EAAI,GAAK0c,EAAO1c,EAAI,KAE3B,EAEd4jH,IADApkH,EAAIsY,GAFC8rG,EAAKE,IAEK,KACF,EAAMtkH,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,IAG9EskH,GADAv3B,EAAK/sF,EAAIF,GACGE,EAAIL,EAAKy8E,EAIrB17E,EAAIL,GAFJiY,EAAK5X,GAJL2jH,GAAOhlG,IAAM,EAAMA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAGxEA,EAAIze,GAAOye,EAAI/f,GACFmgB,EAAEjf,EAAI,GAAK0c,EAAO1c,EAAI,KAE3B,EAEd4jH,IADA/jH,EAAIiY,GAFC8rG,EAAKE,IAEK,KACF,EAAMjkH,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,IAG9EikH,GADA/7B,EAAKloF,EAAIL,GACGK,EAAIP,EAAKitF,EAIrBztF,EAAIK,GAFJ2Y,EAAKhZ,GAJL+kH,GAAO3jH,IAAM,EAAMA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAASA,IAAM,GAAOA,GAAK,KAGxEA,EAAI2e,GAAO3e,EAAIE,GACF6e,EAAEjf,EAAI,GAAK0c,EAAO1c,EAAI,KAE3B,EACdb,EAAI2Y,GAFC8rG,EAAKE,IAEK,EAGjBxsH,KAAKgmB,GAAKhmB,KAAKgmB,GAAKne,GAAK,EACzB7H,KAAKimB,GAAKjmB,KAAKimB,GAAK1d,GAAK,EACzBvI,KAAKkmB,GAAKlmB,KAAKkmB,GAAKhe,GAAK,EACzBlI,KAAKmmB,GAAKnmB,KAAKmmB,GAAKne,GAAK,EACzBhI,KAAKomB,GAAKpmB,KAAKomB,GAAK5e,GAAK,EACzBxH,KAAKqmB,GAAKrmB,KAAKqmB,GAAKzd,GAAK,EACzB5I,KAAKsmB,GAAKtmB,KAAKsmB,GAAKiB,GAAK,EACzBvnB,KAAKumB,GAAKvmB,KAAKumB,GAAKzd,GAAK,GAG3BijH,OAAOrvH,UAAU61C,IAAM,WACrBvyC,KAAK8mD,WAEL,IAAI9gC,EAAKhmB,KAAKgmB,GAAIC,EAAKjmB,KAAKimB,GAAIC,EAAKlmB,KAAKkmB,GAAIC,EAAKnmB,KAAKmmB,GAAIC,EAAKpmB,KAAKomB,GAAIC,EAAKrmB,KAAKqmB,GAClFC,EAAKtmB,KAAKsmB,GAAIC,EAAKvmB,KAAKumB,GAEtBgsB,EAAMoS,UAAW3+B,GAAM,GAAM,IAAQ2+B,UAAW3+B,GAAM,GAAM,IAC9D2+B,UAAW3+B,GAAM,GAAM,IAAQ2+B,UAAW3+B,GAAM,GAAM,IACtD2+B,UAAW3+B,GAAM,GAAM,IAAQ2+B,UAAW3+B,GAAM,EAAK,IACrD2+B,UAAW3+B,GAAM,EAAK,IAAQ2+B,UAAe,GAAL3+B,GACxC2+B,UAAW1+B,GAAM,GAAM,IAAQ0+B,UAAW1+B,GAAM,GAAM,IACtD0+B,UAAW1+B,GAAM,GAAM,IAAQ0+B,UAAW1+B,GAAM,GAAM,IACtD0+B,UAAW1+B,GAAM,GAAM,IAAQ0+B,UAAW1+B,GAAM,EAAK,IACrD0+B,UAAW1+B,GAAM,EAAK,IAAQ0+B,UAAe,GAAL1+B,GACxC0+B,UAAWz+B,GAAM,GAAM,IAAQy+B,UAAWz+B,GAAM,GAAM,IACtDy+B,UAAWz+B,GAAM,GAAM,IAAQy+B,UAAWz+B,GAAM,GAAM,IACtDy+B,UAAWz+B,GAAM,GAAM,IAAQy+B,UAAWz+B,GAAM,EAAK,IACrDy+B,UAAWz+B,GAAM,EAAK,IAAQy+B,UAAe,GAALz+B,GACxCy+B,UAAWx+B,GAAM,GAAM,IAAQw+B,UAAWx+B,GAAM,GAAM,IACtDw+B,UAAWx+B,GAAM,GAAM,IAAQw+B,UAAWx+B,GAAM,GAAM,IACtDw+B,UAAWx+B,GAAM,GAAM,IAAQw+B,UAAWx+B,GAAM,EAAK,IACrDw+B,UAAWx+B,GAAM,EAAK,IAAQw+B,UAAe,GAALx+B,GACxCw+B,UAAWv+B,GAAM,GAAM,IAAQu+B,UAAWv+B,GAAM,GAAM,IACtDu+B,UAAWv+B,GAAM,GAAM,IAAQu+B,UAAWv+B,GAAM,GAAM,IACtDu+B,UAAWv+B,GAAM,GAAM,IAAQu+B,UAAWv+B,GAAM,EAAK,IACrDu+B,UAAWv+B,GAAM,EAAK,IAAQu+B,UAAe,GAALv+B,GACxCu+B,UAAWt+B,GAAM,GAAM,IAAQs+B,UAAWt+B,GAAM,GAAM,IACtDs+B,UAAWt+B,GAAM,GAAM,IAAQs+B,UAAWt+B,GAAM,GAAM,IACtDs+B,UAAWt+B,GAAM,GAAM,IAAQs+B,UAAWt+B,GAAM,EAAK,IACrDs+B,UAAWt+B,GAAM,EAAK,IAAQs+B,UAAe,GAALt+B,GACxCs+B,UAAWr+B,GAAM,GAAM,IAAQq+B,UAAWr+B,GAAM,GAAM,IACtDq+B,UAAWr+B,GAAM,GAAM,IAAQq+B,UAAWr+B,GAAM,GAAM,IACtDq+B,UAAWr+B,GAAM,GAAM,IAAQq+B,UAAWr+B,GAAM,EAAK,IACrDq+B,UAAWr+B,GAAM,EAAK,IAAQq+B,UAAe,GAALr+B,GAO1C,OANKtmB,KAAK8rH,QACRv5E,GAAOoS,UAAWp+B,GAAM,GAAM,IAAQo+B,UAAWp+B,GAAM,GAAM,IAC3Do+B,UAAWp+B,GAAM,GAAM,IAAQo+B,UAAWp+B,GAAM,GAAM,IACtDo+B,UAAWp+B,GAAM,GAAM,IAAQo+B,UAAWp+B,GAAM,EAAK,IACrDo+B,UAAWp+B,GAAM,EAAK,IAAQo+B,UAAe,GAALp+B,IAErCgsB,GAGTw5E,OAAOrvH,UAAUsT,SAAW+7G,OAAOrvH,UAAU61C,IAE7Cw5E,OAAOrvH,UAAUqqD,OAAS,WACxB/mD,KAAK8mD,WAEL,IAAI9gC,EAAKhmB,KAAKgmB,GAAIC,EAAKjmB,KAAKimB,GAAIC,EAAKlmB,KAAKkmB,GAAIC,EAAKnmB,KAAKmmB,GAAIC,EAAKpmB,KAAKomB,GAAIC,EAAKrmB,KAAKqmB,GAClFC,EAAKtmB,KAAKsmB,GAAIC,EAAKvmB,KAAKumB,GAEtBjZ,EAAM,CACP0Y,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,EACvDC,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,EACvDC,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,EACvDC,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,EACvDC,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,EACvDC,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,EACvDC,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,GAK1D,OAHKtmB,KAAK8rH,OACRx+G,EAAIpL,KAAMqkB,GAAM,GAAM,IAAOA,GAAM,GAAM,IAAOA,GAAM,EAAK,IAAW,IAALA,GAE5DjZ,GAGTy+G,OAAOrvH,UAAUkS,MAAQm9G,OAAOrvH,UAAUqqD,OAE1CglE,OAAOrvH,UAAUi6C,YAAc,WAC7B32C,KAAK8mD,WAEL,IAAIn3C,EAAS,IAAIhB,YAAY3O,KAAK8rH,MAAQ,GAAK,IAC3C5uC,EAAW,IAAI1mC,SAAS7mC,GAW5B,OAVAutE,EAASpvB,UAAU,EAAG9tD,KAAKgmB,IAC3Bk3D,EAASpvB,UAAU,EAAG9tD,KAAKimB,IAC3Bi3D,EAASpvB,UAAU,EAAG9tD,KAAKkmB,IAC3Bg3D,EAASpvB,UAAU,GAAI9tD,KAAKmmB,IAC5B+2D,EAASpvB,UAAU,GAAI9tD,KAAKomB,IAC5B82D,EAASpvB,UAAU,GAAI9tD,KAAKqmB,IAC5B62D,EAASpvB,UAAU,GAAI9tD,KAAKsmB,IACvBtmB,KAAK8rH,OACR5uC,EAASpvB,UAAU,GAAI9tD,KAAKumB,IAEvB5W,GA6DTy8G,WAAW1vH,UAAY,IAAIqvH,OAE3BK,WAAW1vH,UAAUoqD,SAAW,WAE9B,GADAilE,OAAOrvH,UAAUoqD,SAASlnD,KAAKI,MAC3BA,KAAKkb,MAAO,CACdlb,KAAKkb,OAAQ,EACb,IAAImiE,EAAYr9E,KAAK4O,QACrBm9G,OAAOnsH,KAAKI,KAAMA,KAAK8rH,MAAO9rH,KAAK45E,cACnC55E,KAAKqhB,OAAOrhB,KAAK+6E,SACjB/6E,KAAKqhB,OAAOg8D,GACZ0uC,OAAOrvH,UAAUoqD,SAASlnD,KAAKI,QAInC,IAAIzD,QAAUopD,eACdppD,QAAQ8uH,OAAS9uH,QACjBA,QAAQkwH,OAAS9mE,cAAa,GAC9BppD,QAAQ8uH,OAAO3tC,KAAO/D,mBACtBp9E,QAAQkwH,OAAO/uC,KAAO/D,kBAAiB,GAEnC1iD,UACFvwB,OAAOnK,QAAUA,SAEjBu6B,KAAKu0F,OAAS9uH,QAAQ8uH,OACtBv0F,KAAK21F,OAASlwH,QAAQkwH,OAClBt1F,MACF95B,yCACE,OAAOd,SADH,2IAvfZ,K,6HCTM0Q,EAAU,EAAQ,GAClBy/G,EAAU,EAAQ,IAClB1B,EAAQ,EAAQ,IAChBC,EAAQ,EAAQ,IAChBC,EAAW,EAAQ,IACnB9uG,EAAO,EAAQ,IACf+uG,EAAY,EAAQ,IACpBwB,EAAQ,EAAQ,IAEhB,E,wBAkCJ,WAAY,EAAO,EAAS,EAAM,EAAM,EAAa,EAAU,GAE7D,GAFmE,WAE9D,OAAO,cAAc,IAAY,EAAU,EAC9C,MAAM,MAAM,6DACd,IAAK,OAAO,cAAc,IAAS,EAAO,EACxC,MAAM,MAAM,0DACd,IAAK,OAAO,cAAc,IAAS,EAAO,EACxC,MAAM,MAAM,0DACd,IAAK,OAAO,cAAc,IAAgB,EAAc,EACtD,MAAM,MACJ,iEAEJ,IAAK,OAAO,cAAc,IAAa,EAAW,EAChD,MAAM,MAAM,8DACd,IAAK,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DAEd,IAEM,EAAwB,EAAO,KADnC,+OAC6D,UAUzD,EAAkB,CACtB,EACA,EACA,EACA,EACA,EACA,EACA,GAEI,EAAiB,CACrB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,SAEf,EAAgB,EAAU,OAC9B,EA5BuB,CACvB,EACA,EACA,EACA,GACA,GACA,GACA,IAuBA,EACA,GAEF,KAAK,aAAe,EACpB,IAAM,EAAO,IAAI,EAAS,SAAS,OAAe,GAClD,KAAK,QAAU,EAAK,UACpB,KAAK,MAAQ,EACb,KAAK,QAAU,E,oCAOjB,WACE,OAAO,KAAK,e,wBAOd,WACE,OAAO,KAAK,Y,KA2GhB,EAAO,QAAU,CACf,aACA,yBAtFF,SACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAMI,EANE,EAAe,EAAK,qBAAqB,GACzC,EAAY,EAAQ,cAAc,EAAa,WAC/C,EAAiB,EAAM,YAAY,OAAU,GAC7C,EAAO,EAAe,GACtB,EAAa,EAAe,GAI5B,EAAkB,EAAK,GACvB,EAAgB,EAAQ,cAAc,EAAW,IACjD,EAAO,EAAS,aAAa,OAAU,GACvC,EAAkB,EAAK,UA2BvB,EAAO,CA1BU,EAAQ,eAC7B,EACA,EACA,EACA,EACA,EACA,EACA,OACA,EACA,OACA,GAEqB,EAAQ,qBAC7B,EACA,EACA,EApBE,UAsBF,EACA,EACA,EACA,OACA,EACA,OACA,EACA,IAGI,EAAU,EAAM,cAAc,GAE9B,EAAO,EAAK,GACZ,EAAO,EAAK,GAClB,GAAI,EAAc,EAAO,EAAkB,EACzC,MAAM,IAAI,MAAJ,6BACkB,EAAY,WAD9B,YAC4C,EAAK,WADjD,gBACmE,EAAgB,WADnF,YACiG,EAAK,aAG9G,IAAM,EAAW,EAAK,GACtB,GAAI,EAAkB,EACpB,MAAM,IAAI,MAAJ,yBACc,EAAgB,WAD9B,oCACoE,EAAS,aAGrF,IAAM,EAAS,EAAK,GACpB,GAAI,EAAQ,GAAG,IAAM,EACnB,MAAM,IAAI,MAAJ,2CACgC,EAAQ,GAAG,IAAI,WAD/C,6CAC8F,EAAO,aAG7G,GAAI,EAAQ,GAAG,IAAM,EACnB,MAAM,IAAI,MAAJ,yCAC8B,EAAQ,GAAG,IAAI,WAD7C,6CAC4F,EAAO,aAI3G,IAAM,EAAuB,EAAS,8BACpC,EAAQ,GACR,GAEI,EAAuB,EAAQ,GAAG,QAAQ,GAChD,OAAO,EAAM,aAAa,EAAqB,KAAM,O,0FC5NjD1/G,EAAU,EAAQ,GAClBy/G,EAAU,EAAQ,IAClB1B,EAAQ,EAAQ,IAChB4B,EAAW,EAAQ,IACnB3B,EAAQ,EAAQ,IAChBE,EAAY,EAAQ,IACpBwB,EAAQ,EAAQ,IAEhB,E,wBA6BJ,WACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAGA,GAHM,WAGD,OAAO,cAAc,IAAS,EAAO,EACxC,MAAM,MAAM,0DACd,IAAK,OAAO,cAAc,IAAS,EAAO,EACxC,MAAM,MAAM,0DACd,IAAK,OAAO,cAAc,IAAgB,EAAc,EACtD,MAAM,MACJ,iEAEJ,IAAK,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DACd,IAAK,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DAEd,IAEM,EAAwB,EAAO,KADnC,+QAC6D,UAWzD,EAAkB,CACtB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEI,EAAiB,CACrB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,QACnB,EAAU,SAAS,QACnB,EAAU,SAAS,SAEf,EAAgB,EAAU,OAC9B,EA/BuB,CACvB,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IAyBA,EACA,GAEF,KAAK,aAAe,EACpB,IAAM,EAAO,EAAS,aAAa,OAAe,GAClD,KAAK,QAAU,EAAK,U,oCAOtB,WACE,OAAO,KAAK,e,wBAOd,WACE,OAAO,KAAK,Y,KAsFhB,EAAO,QAAU,CACf,QACA,yBAxEF,SACE,EACA,EACA,EACA,EACA,EACA,GAEA,IAKI,EALE,EAAiB,EAAM,YAAY,OAAU,GAC7C,EAAO,EAAe,GACtB,EAAa,EAAe,GAC9B,EAAO,EAAK,GACZ,EAAO,EAAK,GAWV,EARQ,SAAR,EAAS,EAAG,GAChB,GAAiB,kBAAN,GAA+B,kBAAN,EAClC,MAAM,IAAI,MAAM,0CAClB,OAAK,EAGE,EAAM,EAAG,EAAI,GAFX,EAIC,CAAM,EAAM,GACxB,EAAO,KAAK,MAAM,EAAO,GAEzB,IAAM,GADN,EAAO,KAAK,MAAM,EAAO,IACJ,EAEf,EAAuB,GAD7B,EAAuB,KAAK,MAAM,GAAU,EAAI,KAEhD,GAAI,EAAO,IAAyB,EAAO,EACzC,MAAM,MACJ,oEAIJ,IACM,EADW,EAAS,aAAa,OAAU,GAC3B,UAChB,EAAc,EAAQ,cAAc,EAAW,IAC/C,EAAc,EAAQ,cAAc,EAAW,IAuB/C,EAAO,CAtBD,EAAQ,eAClB,EACA,EACA,EACA,OACA,EACA,EACA,OACA,EACA,GAEU,EAAQ,eAClB,EACA,EACA,EACA,OACA,EACA,EACA,OACA,EACA,IAKI,EAFU,EAAM,cAAc,GAET,KACzB,SAAC,GAAD,OAAS,EAAS,8BAA8B,EAAK,GAAU,QAEjE,OAAO,EAAM,aAAa,EAAW,GAAI,EAAW,Q,0FCzMhD1/G,EAAU,EAAQ,GAClBy/G,EAAU,EAAQ,IAClBzB,EAAQ,EAAQ,IAChBC,EAAW,EAAQ,IACnB9uG,EAAO,EAAQ,IACf+uG,EAAY,EAAQ,IAEpB,E,wBAwBJ,WACE,EACA,EACA,EACA,EACA,EACA,EACA,GAIA,GAJK,UAGL,KAAK,SAAW,GACX,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DAEd,GADA,KAAK,OAAS,GACT,OAAO,cAAc,IAAqB,EAAmB,EAChE,MAAM,MACJ,sEAGJ,GADA,KAAK,iBAAmB,GACnB,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DAEd,GADA,KAAK,OAAS,GACT,OAAO,cAAc,IAAgB,EAAc,EACtD,MAAM,MACJ,iEAGJ,GADA,KAAK,YAAc,GACd,OAAO,cAAc,IAAW,EAAS,EAC5C,MAAM,MAAM,4DAGd,GAFA,KAAK,OAAS,OAEA,IAAV,EAAqB,CACvB,IAAM,EAAa,EAAK,YAAY,IACpC,KAAK,MAAQ,EAAO,KAAK,GAAY,SAAS,eAE9C,KAAK,MAAQ,EAGf,KAAK,aAAe,KAAK,aACzB,IAAM,EAAO,IAAI,EAAS,SAAS,KAAK,kBAAc,GACtD,KAAK,QAAU,EAAK,U,oCAOtB,WACE,IAEM,EAAwB,EAAO,KADnC,uMAC6D,UAUzD,EAAkB,CACtB,KAAK,OACL,KAAK,OACL,KAAK,iBACL,KAAK,OACL,KAAK,YACL,KAAK,MACL,KAAK,UAED,EAAiB,CACrB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,IACnB,EAAU,SAAS,OACnB,EAAU,SAAS,SAErB,OAAO,EAAU,OACf,EA5BuB,CACvB,EACA,EACA,EACA,EACA,EACA,GACA,IAuBA,EACA,K,wBAQJ,WACE,OAAO,KAAK,Y,KAkFhB,EAAO,QAAU,CACf,kBACA,wCApEF,SACE,EACA,EACA,EACA,GAEA,IAAM,EAAa,EAAM,YAAY,OAAU,GACzC,EAAO,EAAW,GAClB,EAAa,EAAW,GACxB,EAAS,EAAK,GACd,EAAW,EAAK,GAChB,EAAS,EAAK,GACpB,GAAI,EAAa,IAAW,EAC1B,MAAM,IAAI,MAAJ,2BACgB,EAAW,WAD3B,kDAC+E,EAAO,aAK9F,IAOI,EACA,EARE,EAAgB,EAAW,GAC3B,EAAW,EAAQ,cAAc,GAEjC,EAAc,EAAW,GACzB,EAAQ,IAAI,WAAW,GACvB,EAAY,EAAa,EACzB,EAAK,EAGL,EAAO,EAAS,aAAa,OAAU,GACvC,EAAO,EAAK,UACZ,EAAM,CACV,OACA,KACA,MACA,SACA,iBAAkB,EAClB,WAAY,EACZ,UAAW,EACX,KAAM,EACN,cACA,UAAW,GACX,KAAM,MACN,SAII,EAAU,EAAQ,eACtB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IAEF,GAAI,EAAQ,IAAM,EAAK,GACrB,MAAM,IAAI,MAAJ,0CAC+B,EAAQ,IAAI,WAD3C,2CACwF,EAAK,GAAG,aAIxG,OAAO,EAAS,wBAAwB,EAAK,O,uCC1M/C,SAAS/kH,EAAmBC,EAAK1F,EAASC,EAAQ0F,EAAOC,EAAQhJ,EAAKqB,GACpE,IACE,IAAI0C,EAAO+E,EAAI9I,GAAKqB,GAChBpB,EAAQ8D,EAAK9D,MACjB,MAAOyD,GAEP,YADAL,EAAOK,GAILK,EAAK5B,KACPiB,EAAQnD,GAER8F,QAAQ3C,QAAQnD,GAAOuD,KAAKuF,EAAOC,GAwBvCG,EAAOnK,QApBP,SAA2BoD,GACzB,OAAO,WACL,IAAI1B,EAAO+B,KACPyG,EAAOP,UACX,OAAO,IAAI5C,SAAQ,SAAU3C,EAASC,GACpC,IAAIyF,EAAM1G,EAAGwG,MAAMlI,EAAMwI,GAEzB,SAASH,EAAM9I,GACb4I,EAAmBC,EAAK1F,EAASC,EAAQ0F,EAAOC,EAAQ,OAAQ/I,GAGlE,SAAS+I,EAAO1I,GACduI,EAAmBC,EAAK1F,EAASC,EAAQ0F,EAAOC,EAAQ,QAAS1I,GAGnEyI,OAAMlF,QAKwBsF,EAAOnK,QAAQs6B,YAAa,EAAMnwB,EAAOnK,QAAiB,QAAImK,EAAOnK,S,qICpCxFiL,EAAEb,EAAQ,KAAuBoB,EAAEpB,EAAQ,KAAmBe,EAAEf,EAAQ,KAA8B,SAASkB,EAAEL,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAE,CAACC,QAAQD,GAAGb,EAAQ,KAAyBA,EAAQ,GAAWA,EAAQ,KAAU,IAAImB,EAAED,EAAEE,GAAGK,EAAEP,EAAEH,GAAG,SAAShF,IAAO,IAALqF,IAAK,yDAAKL,EAAEF,EAAEk7D,0BAAgC76D,EAAEL,EAAE+8D,gBAAgB,OAAOx8D,GAAGF,IAAIH,EAAC,UAAIA,EAAJ,oBAAiB2pC,mBAAmBxpC,KAAMH,EAAE,SAASC,EAAEH,EAAEO,QAAG,IAASA,IAAIA,EAAE,IAAI,IAAIL,EAAEK,EAAEq2E,SAAS,GAAG52E,GAAG,oBAAoB02D,SAAS,CAAC,IAAIr2D,EAAEq2D,SAASmgB,MAAMngB,SAASmB,qBAAqB,QAAQ,GAAGv3D,EAAEo2D,SAASv0D,cAAc,SAAS7B,EAAErI,KAAK,WAAW,QAAQiI,GAAGG,EAAEy2E,WAAWz2E,EAAE02E,aAAaz2E,EAAED,EAAEy2E,YAAYz2E,EAAEm4D,YAAYl4D,GAAGA,EAAE02E,WAAW12E,EAAE02E,WAAWC,QAAQj3E,EAAEM,EAAEk4D,YAAY9B,SAASwgB,eAAel3E,KAAK,IAAIQ,EAAE,4gDAAihD,SAASE,IAAI,OAAOg2D,SAASC,gBAAgByhB,aAAa,IAAI,SAASz3E,IAAI+1D,SAASC,gBAAgBpqC,MAAMogD,YAAY,OAAO,IAAIpkD,OAAOgvD,YAAY,MAAzJp3E,EAAEK,GAA6J,IAAMJ,EAAEs2D,SAASv0D,cAAc,YAAYtB,EAAEb,EAAEm9D,WAAW,4DAA4D,6DAA6D/8D,EAAEq4D,UAAF,0BAA+B53D,EAA/B,qBAA6CH,KAAKV,EAAEm9D,WAAW,GAAG,y5DAAlE,kQAAotEz8D,KAAKV,EAAEm9D,WAAW,mOAAmO,+NAAz8E,gD,IAA4tFtnC,E,8BAAsB,aAAa,MAAC,GAAD,WAAI,gBAAa2hD,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAAC,IAAMj8D,EAAE02D,SAASv0D,cAAc,SAASnC,EAAE03E,YAAYl3E,EAAE,EAAKy7D,WAAW3uB,OAAOltC,EAAE2C,QAAQ40E,WAAU,GAAI33E,GAAG,EAAKqlH,UAA7K,Y,iCAAwL,WAAU,IAAI9kH,EAAQL,EAAE,QAAQK,EAAE/H,KAAKyjE,kBAAa,IAAS17D,OAAE,EAAOA,EAAEm4D,eAAe,yCAAyCr4D,EAAE7H,KAAKs/D,aAAa,YAAY53D,GAAGG,IAAIL,EAAEq7D,+BAA+Bn7D,EAAEqyC,iBAAiB,SAAS,WAAKvyC,EAAEo9D,0BAA0Bp9D,EAAEq7D,sC,KAAxdzf,cAA+ft6C,EAAE,otOAAotOye,EAAE,mbAAmb5f,EAAE4f,GAAG,IAAM3e,EAAEs1D,SAASv0D,cAAc,YAAYf,EAAEq3D,UAAU,6G,IAAmH33D,E,8BAAsB,aAAa,MAAC,GAAD,WAAI,gBAAa02E,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAAC,IAAMj8D,EAAE02D,SAASv0D,cAAc,SAASnC,EAAE03E,YAAY33D,EAAE,EAAKk8C,WAAW3uB,OAAOlsC,EAAE2B,QAAQ40E,WAAU,GAAI33E,GAArK,Y,2CAAyK,WAAoB,IAAIO,EAAQL,EAAE,IAAII,EAAEL,QAAQ,CAACyuB,MAAM,IAAIC,OAAO,IAAI12B,KAAK,MAAMmQ,KAAKpI,EAAEi7D,kBAAkBqqD,MAAMhkH,EAAEikH,YAAY,CAAC92F,MAAM,OAAOx2B,KAAK,iBAAiButH,aAAa,CAACC,YAAY,YAAYC,OAAO,IAAIC,qBAAqB,CAAC1tH,KAAK,iBAAiB2tH,kBAAkB,CAAC3tH,KAAK,SAASoI,EAAE,QAAQE,EAAE/H,KAAKyjE,kBAAa,IAAS17D,OAAE,EAAOA,EAAEm4D,eAAe,wCAAwCr4D,GAAGH,EAAEotC,OAAOjtC,O,KAAvlBu7C,cAA+lBn7C,EAAE,4MAA4Me,EAAE,02WAA02WrB,EAAEqB,GAAG,IAAIT,EAAE,67EAA67EZ,EAAEY,GAAG,IAAMI,EAAEu1D,SAASv0D,cAAc,YAAYd,EAAEq1D,SAASv0D,cAAc,SAASshB,EAAEizC,SAASv0D,cAAc,SAASd,EAAEq2E,YAAYl2E,EAAEiiB,EAAEi0D,YAAY32E,EAAEI,EAAEs3D,UAAU,+tW,IAAquWxiD,E,8BAAsB,aAAa,MAAKjW,EAAE,GAAP,WAAU,gBAAaw3E,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAA8H,GAA7H,EAAKA,WAAW3uB,OAAOnsC,EAAE4B,QAAQ40E,WAAU,GAAIt2E,EAAEoiB,GAAG,EAAKw4C,WAAW1pB,iBAAiB,SAAS,SAAAvyC,GAAI,EAAK6lH,gBAAgB7lH,MAAS,SAAS,EAAK83D,aAAa,gBAAgB,CAAC,IAAM93D,EAAE,EAAKi8D,WAAWvD,eAAe,0CAA0C,MAAM14D,GAAGA,EAAE42D,UAAU/zC,IAAI,mDAAyD,IAAAtiB,EAAE,QAAQP,EAAE,EAAKi8D,kBAAa,IAASj8D,OAAE,EAAOA,EAAE03D,cAAc,yDAAyDx3D,EAAE,SAAS,EAAK43D,aAAa,kBAAtJ,EAAiN,SAAS93D,GAAG,IAAMO,EAAC,4EAAsEP,EAAE,GAAG,qCAA3E,uNAA8TS,EAA9T,wmHAAy4HP,EAAC,+EAAyEF,EAAE,qCAAqC,GAAhH,6KAAuRS,EAAvR,0tFAAm9F,MAAM,CAACqlH,mBAAmBpvD,SAASugC,cAAc8uB,yBAAyB7lH,GAAG8lH,gBAAgBtvD,SAASugC,cAAc8uB,yBAAyBxlH,IAA7/N,CAAkgOL,GAA1hOG,EAAzL,EAAyK2lH,gBAAqC1lH,EAA9M,EAA2LwlH,mBAA2hO5lH,GAAG,MAAMK,GAAGA,EAAEi4D,YAAYl4D,GAAG,MAAMC,GAAGA,EAAEi4D,YAAYn4D,KAAK,MAAME,GAAGA,EAAEi4D,YAAYn4D,GAAG,MAAME,GAAGA,EAAEi4D,YAAYl4D,IAAntP,Y,2CAAwtP,WAAoB,IAAIN,EAAQO,EAAE/H,KAAKs/D,aAAa,4BAA4B53D,EAAE,QAAQF,EAAExH,KAAKyjE,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,sBAAsB,UAAUn4D,IAAI,MAAML,GAAGA,EAAEq4D,aAAa,QAAQ,iBAAiB//D,KAAKytH,qB,8BAAmB,WAAkB,IAAKjmH,EAAEO,EAAEL,EAAT,OAAiBG,EAAE,QAAQL,EAAExH,KAAKyjE,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,+DAA+Dp4D,EAAE,QAAQC,EAAE/H,KAAKyjE,kBAAa,IAAS17D,OAAE,EAAOA,EAAEm4D,eAAe,4DAA4D93D,EAAE,QAAQV,EAAE1H,KAAKyjE,kBAAa,IAAS/7D,OAAE,EAAOA,EAAEw4D,eAAe,gDAAgDr4D,GAAGA,EAAEkyC,iBAAiB,SAAS,WAAK,EAAK2zE,qBAAqB5lH,GAAGA,EAAEiyC,iBAAiB,SAAS,WAAK,EAAK4zE,iBAAiBvlH,GAAGA,EAAE2xC,iBAAiB,SAAS,WAAK,EAAK6zE,sBAAsB5tH,KAAK6tH,eAAe7tH,KAAK8tH,+B,8BAA6B,WAAmB,SAAS9tH,KAAKs/D,aAAa,4BAA4BvvC,OAAOuzC,uB,6BAAqB,SAAgB97D,GAAG,IAAIO,EAAEL,EAAE,GAAGF,EAAEzC,kBAAkBgpH,QAAQ,CAAC,IAAIvmH,EAAEzC,OAAOq5D,UAAUH,SAAS,wCAAwC,OAAO,GAAGj+D,KAAKyjE,aAAa,QAAQ17D,EAAEP,EAAEzC,OAAO8rE,qBAAgB,IAAS9oE,OAAE,EAAOA,EAAE8oE,eAAe,CAAC,IAAM9oE,EAAE,QAAQL,EAAEF,EAAEzC,OAAO8rE,qBAAgB,IAASnpE,OAAE,EAAOA,EAAEmpE,cAAc,IAAI9oE,EAAE,OAAO,GAAGA,EAAEq2D,UAAUH,SAAS,sCAAsC,OAAkH,IAA3G,IAAMp2D,EAAE7H,KAAKyjE,WAAWgM,iBAAiB,kEAA0EjoE,EAAE,EAAEA,EAAEK,EAAEpF,OAAO+E,IAAIK,EAAEL,GAAG42D,UAAUC,OAAO,sCAAsCt2D,EAAEq2D,UAAU4vD,OAAO,0C,0BAAwC,WAAe,IAAIxmH,EAAQO,EAAE/H,KAAKs/D,aAAa,OAAW53D,EAAE,UAAU1H,KAAKs/D,aAAa,2BAA2B,IAAI,IAAI,GAAG,SAASt/D,KAAKs/D,aAAa,kBAAkB53D,EAAE,KAAKK,EAAE,CAAC,IAAMF,EAAE,IAAIC,EAAEL,QAAQ,CAACyuB,MAAMxuB,EAAEyuB,OAAOzuB,EAAEjI,KAAK,MAAMmQ,KAAK7H,EAAE+kH,MAAMhkH,EAAEikH,YAAY,CAAC92F,MAAM,OAAOx2B,KAAK,iBAAiButH,aAAa,CAACC,YAAY,YAAYC,OAAO,GAAGC,qBAAqB,CAAC1tH,KAAK,iBAAiB2tH,kBAAkB,CAAC3tH,KAAK,SAAS2I,EAAE,QAAQZ,EAAExH,KAAKyjE,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,6CAA6C93D,GAAGP,EAAEitC,OAAO1sC,M,6BAAI,WAAkB,GAAGpI,KAAKyjE,WAAW,CAAC,IAAMj8D,EAAExH,KAAKyjE,WAAWvD,eAAe,0CAA0C14D,IAAIA,EAAE42D,UAAUC,OAAO,mDAAmD72D,EAAE42D,UAAU/zC,IAAI,wD,yBAAsD,WAAc,GAAGrqB,KAAKyjE,WAAW,CAAC,IAAMj8D,EAAExH,KAAKyjE,WAAWvD,eAAe,0CAA0C14D,IAAIA,EAAE42D,UAAU/zC,IAAI,mDAAmD7iB,EAAE42D,UAAUC,OAAO,wD,wCAAsD,WAA6B,IAAI72D,EAAE,GAAG,UAAUxH,KAAKs/D,aAAa,2BAA2B,CAAC,IAAMv3D,EAAE,QAAQP,EAAExH,KAAKyjE,kBAAa,IAASj8D,OAAE,EAAOA,EAAE03D,cAAc,yDAAyD,MAAMn3D,GAAGA,EAAEq2D,UAAU/zC,IAAI,uF,KAAvnV+4B,cAA+sVl6C,EAAE,q/CAAq/CvB,EAAEuB,GAAG,IAAMiZ,EAAE+7C,SAASv0D,cAAc,YAAkBG,E,8BAAsB,aAAa,MAAK/B,EAAE,GAAP,WAAU,gBAAai3E,aAAa,CAAC32C,KAAK,SAASlmB,EAAE89C,UAAU,i+BAAi+B,EAAKwD,WAAW,CAAC,IAAM/7D,EAAEw2D,SAASv0D,cAAc,SAASjC,EAAEw3E,YAAYh2E,EAAE,EAAKu6D,WAAW3uB,OAAO3yB,EAAE5X,QAAQ40E,WAAU,GAAIz3E,GAAG,IAAMG,EAAE,QAAQE,EAAE,EAAK07D,kBAAa,IAAS17D,OAAE,EAAOA,EAAEm4D,eAAe,yEAAyEp4D,EAAE,EAAKw3D,aAAa,OAAOz3D,GAAGC,IAAID,EAAEk4D,aAAa,OAAO,SAASh4D,GAAG,IAAIL,EAAEhF,GAAE,GAAI8E,EAAEk9D,UAAUh9D,EAAEsO,SAAS,SAAStO,EAAEA,EAAEwS,QAAQ,MAAM,WAAW,IAAIrS,EAAC,UAAIH,EAAJ,kBAAe2pC,mBAAmBtpC,IAAWD,EAAEN,EAAE+8D,gBAAgB,OAAO/8D,EAAEi9D,cAAc58D,EAAEE,GAAGD,IAAID,EAAC,UAAIA,EAAJ,oBAAiBwpC,mBAAmBvpC,KAAMD,EAAtO,CAAyOC,IAAID,EAAEkyC,iBAAiB,SAAS,WAAK,EAAKk0E,oBAAtnD,Y,uCAA2oD,WAAgB,GAAG9rG,EAAE89C,UAAF,wNAA6NjgE,KAAKs/D,aAAa,oBAA/O,0EAA2Ut/D,KAAKyjE,WAAW,CAAC,IAAMj8D,EAAE02D,SAASv0D,cAAc,SAASnC,EAAE03E,YAAYh2E,EAAElJ,KAAKyjE,WAAWxD,UAAU,GAAGjgE,KAAKyjE,WAAW3uB,OAAO3yB,EAAE5X,QAAQ40E,WAAU,GAAI33E,Q,KAAvpE47C,cAAgqEnjC,EAAE,41GAA41GtY,EAAEsY,GAAG,IAAMgC,EAAEi8C,SAASv0D,cAAc,YAAgBuY,EAAE1a,EAAEm9D,WAAF,UAAgBn9D,EAAEo7D,4BAAlB,YAAiDp7D,EAAEo7D,4BAAnD,sBAA4Fp7D,EAAEo7D,4BAA9F,YAA6Hp7D,EAAEo7D,4BAA/H,aAA4KxvB,E,8BAAsB,aAAa,MAAC,GAAD,WAAI,gBAAa4rC,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAAC,IAAM17D,EAAEm2D,SAASv0D,cAAc,SAAS5B,EAAEm3E,YAAYj/D,EAAE,SAAS,EAAKq/C,aAAa,kBAAkBp9C,EAAC,UAAIA,EAAJ,YAAS1a,EAAEo7D,4BAAX,cAAmD16D,KAAKV,EAAEm9D,YAAY1iD,EAAEg+C,UAAF,gCAAqC/9C,EAArC,4HAA0J1a,EAAEm7D,6BAA5J,yGAAyR,EAAKrD,aAAa,OAA3S,+BAAwU,EAAKA,aAAa,oBAA1V,sFAAkc,EAAKmE,WAAW3uB,OAAO7yB,EAAE1X,QAAQ40E,WAAU,GAAIp3E,KAAKka,EAAEg+C,UAAF,kCAAuC/9C,EAAvC,oHAAoJ1a,EAAEm7D,6BAAtJ,4IAAsT,EAAKrD,aAAa,OAAxU,sCAA4W,EAAKA,aAAa,2BAA9X,uCAAub,EAAKA,aAAa,4BAAzc,2BAAuf,EAAKA,aAAa,gBAAzgB,6BAA6iB,EAAKA,aAAa,kBAA/jB,uFAAsqB,EAAKmE,WAAW3uB,OAAO7yB,EAAE1X,QAAQ40E,WAAU,GAAIp3E,IAAr7C,Y,eAAzBq7C,cAAw9Cja,EAAE,qsJAAqsJxhC,EAAEwhC,GAAG,IAAMzuB,EAAEwjD,SAASv0D,cAAc,YAAY+Q,EAAEulD,UAAF,8JAAmKz4D,EAAEq7D,8BAArK,0rH,IAAk2H/zB,E,8BAAsB,aAAa,MAAKtnC,EAAEO,EAAE,GAAT,WAAY,gBAAai3E,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAAC,IAAM/7D,EAAEw2D,SAASv0D,cAAc,SAASjC,EAAEw3E,YAAY/1C,EAAE,EAAKs6B,WAAW3uB,OAAOp6B,EAAEnQ,QAAQ40E,WAAU,GAAIz3E,GAAG,IAAMG,EAAE,QAAQL,EAAE,EAAKi8D,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,iDAAiD,MAAMr4D,GAAGA,EAAEkyC,iBAAiB,SAAS,WAAK,EAAK8yE,aAAa,IAAM/kH,EAAE,QAAQC,EAAE,EAAK07D,kBAAa,IAAS17D,OAAE,EAAOA,EAAEm4D,eAAe,+CAA+C,MAAMp4D,GAAGA,EAAEiyC,iBAAiB,SAAS,WAAK,EAAK8yE,UAAU98F,OAAOpC,KAAKjrB,IAAI,aAAniB,Y,2CAAijB,WAAoB,IAAM8E,EAAEuoB,OAAOpC,KAAKjrB,IAAI,UAAU8E,IAAIA,EAAEo4D,QAAQ5/D,KAAK6sH,Y,qBAAU,WAAUrlH,EAAEo9D,0BAA0Bp9D,EAAEq7D,mC,KAArsBzf,cAAyuBr6C,EAAE,siDAAsiDmmC,EAAE,q0GAAq0GvnC,EAAEunC,GAAG,IAAMoE,EAAE4qB,SAASv0D,cAAc,YAAYgb,EAAEnd,EAAEm9D,WAAW,sGAAsG,uGAAuGrxB,EAAE2sB,UAAF,8BAAmCt7C,EAAnC,wGAAoI5b,EAApI,ymU,IAAssUE,E,8BAAsB,aAAa,MAAKlB,EAAEL,EAAEG,EAAEC,EAAX,WAAa,gBAAak3E,aAAa,CAAC32C,KAAK,SAAS,IAAMjgC,EAAE,UAAU,QAAQL,EAAEm2D,SAASgB,cAAc,oCAA+B,IAASn3D,OAAE,EAAOA,EAAEu3D,aAAa,iBAAiB,GAAG,EAAKmE,cAAcr7D,IAAIZ,EAAEm9D,YAAYn9D,EAAEm9D,YAAY,CAAC,IAAM58D,EAAEm2D,SAASv0D,cAAc,SAAS5B,EAAEm3E,YAAYhwC,EAAE,EAAKu0B,WAAW3uB,OAAOxB,EAAE/oC,QAAQ40E,WAAU,GAAIp3E,GAAGG,KAAKV,EAAEm9D,WAAW,QAAQj9D,EAAE,EAAK+7D,WAAWvD,eAAe,8DAAyD,IAASx4D,GAAGA,EAAEq4D,aAAa,QAAQ,mBAAmB,QAAQl4D,EAAE,EAAK47D,WAAWvD,eAAe,kEAA6D,IAASr4D,GAAGA,EAAEk4D,aAAa,MAAM,6iHAA6iH,QAAQj4D,EAAE,EAAK27D,WAAWvD,eAAe,4EAAuE,IAASp4D,GAAGA,EAAEi4D,aAAa,QAAQ,mBAA50I,S,eAAzB3c,cAA83IpU,EAAE,23NAA23NrnC,EAAEqnC,GAAG,IAAMvmC,EAAEy1D,SAASv0D,cAAc,YAAYlB,EAAEw3D,UAAU,8tBAA8tB,IAAMlqC,EAAC,kHAA4GhtB,EAA5G,yoIAAmtIL,E,8BAAsB,aAAa,MAAC,GAAD,WAAI,gBAAas2E,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAAC,IAAMj8D,EAAE02D,SAASv0D,cAAc,SAASnC,EAAE03E,YAAYlwC,EAAE,EAAKy0B,WAAW3uB,OAAOrsC,EAAE8B,QAAQ40E,WAAU,GAAI33E,GAArK,Y,2CAAyK,WAAmB,IAAKA,EAAL,OAAaO,EAAE,QAAQP,EAAExH,KAAKyjE,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,2DAA2D,MAAMn4D,GAAGA,EAAEgyC,iBAAiB,SAAS,WAAK,EAAK8yE,aAAa7sH,KAAKkuH,wBAAwBluH,KAAKmuH,wBAAwB59F,YAAY,WAAK,IAAI/oB,EAAE,GAAGiB,EAAEw3D,UAAUlqC,EAAE,EAAK0tC,WAAW,CAAC,IAAM17D,EAAEm2D,SAASv0D,cAAc,SAAS5B,EAAEm3E,YAAYlwC,EAAE,EAAKy0B,WAAWxD,UAAU,GAAG,EAAKwD,WAAW3uB,OAAOrsC,EAAE8B,QAAQ40E,WAAU,GAAIp3E,GAAG,IAAML,EAAE,QAAQF,EAAE,EAAKi8D,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,8DAA8D,MAAMx4D,GAAGA,EAAEqyC,iBAAiB,SAAS,WAAK,EAAK8yE,gBAAgB,O,qBAAK,WAAUrlH,EAAEo9D,0BAA0Bp9D,EAAEm7D,gC,mCAA8B,WAAwB,IAAI56D,EAAE,GAAG,SAAS/H,KAAKs/D,aAAa,qBAAqB93D,EAAEk9D,QAAQ,CAAC,IAAMl9D,EAAE,QAAQO,EAAE/H,KAAKyjE,kBAAa,IAAS17D,OAAE,EAAOA,EAAEm4D,eAAe,2DAA2Dx4D,EAAEw2D,SAASv0D,cAAc,SAASjC,EAAE2S,IAAI,uDAAuD3S,EAAE0mH,UAAS,EAAG1mH,EAAE2mH,MAAK,EAAG,MAAM7mH,GAAGA,EAAEw4D,YAAYt4D,M,mCAAI,WAAwB,IAAIF,EAAQO,EAAE,QAAQP,EAAExH,KAAKyjE,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,+DAA+Dn4D,GAAGK,EAAEX,QAAQ6mH,cAAc,CAAC5kH,UAAU3B,EAAEwmH,SAAS,MAAMF,MAAK,EAAGD,UAAS,EAAGI,KAAK,qF,KAAvgDprE,cAA6lDttB,EAAE,wsDAAwsDnuB,EAAEmuB,GAAG,IAAMsZ,GAAE8uB,SAASv0D,cAAc,YAAYylC,GAAE6wB,UAAU,qrC,IAA2rCz3D,G,8BAAsB,aAAa,MAAC,GAAD,WAAI,gBAAaw2E,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAAC,IAAM17D,EAAEm2D,SAASv0D,cAAc,SAAS5B,EAAEm3E,YAAYppD,EAAE,EAAK2tC,WAAW3uB,OAAO1F,GAAE7kC,QAAQ40E,WAAU,GAAIp3E,GAAG,IAAML,EAAE,EAAK+7D,WAAWvD,eAAe,2CAA2C,MAAMx4D,GAAGA,EAAEqyC,iBAAiB,SAAS,WAAKvyC,EAAEo9D,0BAA0Bp9D,EAAEu7D,kCAAkC,EAAKorD,wBAAzW,Y,+CAAkY,WAAwB,IAAI3mH,EAAQO,EAAE,QAAQP,EAAExH,KAAKyjE,kBAAa,IAASj8D,OAAE,EAAOA,EAAE04D,eAAe,+CAA+Cn4D,GAAGK,EAAEX,QAAQ6mH,cAAc,CAAC5kH,UAAU3B,EAAEwmH,SAAS,MAAMF,MAAK,EAAGD,UAAS,EAAGI,KAAK,oF,KAA/nBprE,cAAotBrU,GAAE,0iIAA0iIpnC,EAAEonC,IAAG,IAAMI,GAAE+uB,SAASv0D,cAAc,YAAYwlC,GAAE8wB,UAAF,0DAA+Dz4D,EAAEo7D,4BAAjE,+HAAmNp7D,EAAEs7D,8BAArN,6H,IAAoX3G,G,8BAAsB,aAAa,MAAC,GAAD,WAAI,gBAAa6iB,aAAa,CAAC32C,KAAK,SAAS,EAAKo7B,WAAW,CAAC,IAAMj8D,EAAE02D,SAASv0D,cAAc,SAA2E,GAAlEnC,EAAE03E,YAAYnwC,GAAE,EAAK00B,WAAW3uB,OAAO3F,GAAE5kC,QAAQ40E,WAAU,GAAI33E,GAAM,SAAS,EAAK83D,aAAa,gBAAgB,CAAC,IAAM93D,EAAE,EAAKi8D,WAAWvD,eAAe,8BAA8B,MAAM14D,GAAGA,EAAE42D,UAAU/zC,IAAI,wCAArT,Y,eAAzB+4B,cAAwXrzB,OAAOgqB,iBAAiB,oBAAoB,WAAK5xC,OAAO4nB,OAAOgqB,iBAAiB,UAAU,WAAK5xC,OAAO4nB,OAAOqwD,eAAe/iF,OAAO,4BAA4B+1C,GAAGrjB,OAAOqwD,eAAe/iF,OAAO,iCAAiCogB,GAAGsS,OAAOqwD,eAAe/iF,OAAO,2BAA2BggC,GAAGtN,OAAOqwD,eAAe/iF,OAAO,sCAAsCyM,GAAGimB,OAAOqwD,eAAe/iF,OAAO,6BAA6ByxC,GAAG/e,OAAOqwD,eAAe/iF,OAAO,gDAAgD4L,GAAG8mB,OAAOqwD,eAAe/iF,OAAO,oDAAoDqL,GAAGqnB,OAAOqwD,eAAe/iF,OAAO,6BAA6BmL,IAAGunB,OAAOqwD,eAAe/iF,OAAO,6BAA6B8+D,IAAGpsC,OAAOqwD,eAAe/iF,OAAO,+BAA+BiL,I,gBCS3x9GrK,KAPDyI,EAAOnK,Q,oCCFT,QAiBIkyH,EAAS,WAWX,IAAIA,EAAS,SAASC,EAAYC,GAEhC,IAGIC,EAAcF,EACdG,EAAwBC,EAAuBH,GAC/CI,EAAW,KACXC,EAAe,EACfC,EAAa,KACbC,EAAY,GAEZl8C,EAAQ,GAERm8C,EAAW,SAASniH,EAAMoiH,GAG5BL,EAAW,SAASM,GAElB,IADA,IAAIjjE,EAAU,IAAI7+C,MAAM8hH,GACfC,EAAM,EAAGA,EAAMD,EAAaC,GAAO,EAAG,CAC7CljE,EAAQkjE,GAAO,IAAI/hH,MAAM8hH,GACzB,IAAK,IAAIjiC,EAAM,EAAGA,EAAMiiC,EAAajiC,GAAO,EAC1ChhC,EAAQkjE,GAAKliC,GAAO,KAGxB,OAAOhhC,EARE,CADX4iE,EAA6B,EAAdJ,EAAkB,IAYjCW,EAA0B,EAAG,GAC7BA,EAA0BP,EAAe,EAAG,GAC5CO,EAA0B,EAAGP,EAAe,GAC5CQ,IACAC,IACAC,EAAc1iH,EAAMoiH,GAEhBR,GAAe,GACjBe,EAAgB3iH,GAGA,MAAdiiH,IACFA,EAAaW,EAAWhB,EAAaC,EAAuBK,IAG9DW,EAAQZ,EAAYG,IAGlBG,EAA4B,SAASD,EAAKliC,GAE5C,IAAK,IAAIzlF,GAAK,EAAGA,GAAK,EAAGA,GAAK,EAE5B,KAAI2nH,EAAM3nH,IAAM,GAAKqnH,GAAgBM,EAAM3nH,GAE3C,IAAK,IAAIO,GAAK,EAAGA,GAAK,EAAGA,GAAK,EAExBklF,EAAMllF,IAAM,GAAK8mH,GAAgB5hC,EAAMllF,IAKzC6mH,EAASO,EAAM3nH,GAAGylF,EAAMllF,GAHpB,GAAKP,GAAKA,GAAK,IAAW,GAALO,GAAe,GAALA,IAC7B,GAAKA,GAAKA,GAAK,IAAW,GAALP,GAAe,GAALA,IAC/B,GAAKA,GAAKA,GAAK,GAAK,GAAKO,GAAKA,GAAK,IA6B7CunH,EAAqB,WAEvB,IAAK,IAAI9nH,EAAI,EAAGA,EAAIqnH,EAAe,EAAGrnH,GAAK,EACnB,MAAlBonH,EAASpnH,GAAG,KAGhBonH,EAASpnH,GAAG,GAAMA,EAAI,GAAK,GAG7B,IAAK,IAAIO,EAAI,EAAGA,EAAI8mH,EAAe,EAAG9mH,GAAK,EACnB,MAAlB6mH,EAAS,GAAG7mH,KAGhB6mH,EAAS,GAAG7mH,GAAMA,EAAI,GAAK,IAI3BsnH,EAA6B,WAI/B,IAFA,IAAIr6G,EAAM26G,EAAOC,mBAAmBnB,GAE3BlsH,EAAI,EAAGA,EAAIyS,EAAI1S,OAAQC,GAAK,EAEnC,IAAK,IAAIgG,EAAI,EAAGA,EAAIyM,EAAI1S,OAAQiG,GAAK,EAAG,CAEtC,IAAI4mH,EAAMn6G,EAAIzS,GACV0qF,EAAMj4E,EAAIzM,GAEd,GAA0B,MAAtBqmH,EAASO,GAAKliC,GAIlB,IAAK,IAAIzlF,GAAK,EAAGA,GAAK,EAAGA,GAAK,EAE5B,IAAK,IAAIO,GAAK,EAAGA,GAAK,EAAGA,GAAK,EAI1B6mH,EAASO,EAAM3nH,GAAGylF,EAAMllF,IAFhB,GAANP,GAAgB,GAALA,IAAgB,GAANO,GAAgB,GAALA,GACvB,GAALP,GAAe,GAALO,IAWxBynH,EAAkB,SAAS3iH,GAI7B,IAFA,IAAIg6B,EAAO8oF,EAAOE,iBAAiBpB,GAE1BlsH,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAAG,CAC9B,IAAI+6B,GAAQzwB,GAA8B,IAAnBg6B,GAAQtkC,EAAK,GACpCqsH,EAAS17G,KAAKoF,MAAM/V,EAAI,IAAIA,EAAI,EAAIssH,EAAe,EAAI,GAAKvxF,EAG9D,IAAS/6B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvB+6B,GAAQzwB,GAA8B,IAAnBg6B,GAAQtkC,EAAK,GACpCqsH,EAASrsH,EAAI,EAAIssH,EAAe,EAAI,GAAG37G,KAAKoF,MAAM/V,EAAI,IAAM+6B,GAI5DiyF,EAAgB,SAAS1iH,EAAMoiH,GAMjC,IAJA,IAAIx/G,EAAQi/G,GAAyB,EAAKO,EACtCpoF,EAAO8oF,EAAOG,eAAergH,GAGxBlN,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAAG,CAE9B,IAAI+6B,GAAQzwB,GAA8B,IAAnBg6B,GAAQtkC,EAAK,GAEhCA,EAAI,EACNqsH,EAASrsH,GAAG,GAAK+6B,EACR/6B,EAAI,EACbqsH,EAASrsH,EAAI,GAAG,GAAK+6B,EAErBsxF,EAASC,EAAe,GAAKtsH,GAAG,GAAK+6B,EAKzC,IAAS/6B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAEvB+6B,GAAQzwB,GAA8B,IAAnBg6B,GAAQtkC,EAAK,GAEhCA,EAAI,EACNqsH,EAAS,GAAGC,EAAetsH,EAAI,GAAK+6B,EAC3B/6B,EAAI,EACbqsH,EAAS,GAAG,GAAKrsH,EAAI,EAAI,GAAK+6B,EAE9BsxF,EAAS,GAAG,GAAKrsH,EAAI,GAAK+6B,EAK9BsxF,EAASC,EAAe,GAAG,IAAOhiH,GAGhC6iH,EAAU,SAASjgH,EAAMw/G,GAQ3B,IANA,IAAIc,GAAO,EACPZ,EAAMN,EAAe,EACrBmB,EAAW,EACXC,EAAY,EACZC,EAAWP,EAAOQ,gBAAgBlB,GAE7BhiC,EAAM4hC,EAAe,EAAG5hC,EAAM,EAAGA,GAAO,EAI/C,IAFW,GAAPA,IAAUA,GAAO,KAER,CAEX,IAAK,IAAIllF,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAE1B,GAA8B,MAA1B6mH,EAASO,GAAKliC,EAAMllF,GAAY,CAElC,IAAIqoH,KAEAH,EAAYxgH,EAAKnN,SACnB8tH,EAAkD,IAAtC3gH,EAAKwgH,KAAeD,EAAY,IAGnCE,EAASf,EAAKliC,EAAMllF,KAG7BqoH,GAAQA,GAGVxB,EAASO,GAAKliC,EAAMllF,GAAKqoH,GAGR,IAFjBJ,GAAY,KAGVC,GAAa,EACbD,EAAW,GAOjB,IAFAb,GAAOY,GAEG,GAAKlB,GAAgBM,EAAK,CAClCA,GAAOY,EACPA,GAAOA,EACP,SAuEJN,EAAa,SAASlB,EAAYC,EAAsB6B,GAM1D,IAJA,IAAIC,EAAWC,EAAUC,YAAYjC,EAAYC,GAE7Ch/G,EAASihH,IAEJluH,EAAI,EAAGA,EAAI8tH,EAAS/tH,OAAQC,GAAK,EAAG,CAC3C,IAAIkN,EAAO4gH,EAAS9tH,GACpBiN,EAAOkhH,IAAIjhH,EAAKkhH,UAAW,GAC3BnhH,EAAOkhH,IAAIjhH,EAAKmhH,YAAajB,EAAOkB,gBAAgBphH,EAAKkhH,UAAWpC,IACpE9+G,EAAKP,MAAMM,GAIb,IAAIshH,EAAiB,EACrB,IAASvuH,EAAI,EAAGA,EAAI+tH,EAAShuH,OAAQC,GAAK,EACxCuuH,GAAkBR,EAAS/tH,GAAGwuH,UAGhC,GAAIvhH,EAAOqhH,kBAAqC,EAAjBC,EAC7B,KAAM,0BACFthH,EAAOqhH,kBACP,IACiB,EAAjBC,EACA,IASN,IALIthH,EAAOqhH,kBAAoB,GAAsB,EAAjBC,GAClCthH,EAAOkhH,IAAI,EAAG,GAITlhH,EAAOqhH,kBAAoB,GAAK,GACrCrhH,EAAOwhH,WAIT,OAEMxhH,EAAOqhH,mBAAsC,EAAjBC,IAGhCthH,EAAOkhH,IAxVA,IAwVU,GAEblhH,EAAOqhH,mBAAsC,EAAjBC,KAGhCthH,EAAOkhH,IA5VA,GA4VU,GAGnB,OApHgB,SAASlhH,EAAQ8gH,GAUjC,IARA,IAAI1+G,EAAS,EAETq/G,EAAa,EACbC,EAAa,EAEbC,EAAS,IAAI/jH,MAAMkjH,EAAShuH,QAC5B8uH,EAAS,IAAIhkH,MAAMkjH,EAAShuH,QAEvBkF,EAAI,EAAGA,EAAI8oH,EAAShuH,OAAQkF,GAAK,EAAG,CAE3C,IAAI6pH,EAAUf,EAAS9oH,GAAGupH,UACtBO,EAAUhB,EAAS9oH,GAAG+pH,WAAaF,EAEvCJ,EAAa/9G,KAAKoC,IAAI27G,EAAYI,GAClCH,EAAah+G,KAAKoC,IAAI47G,EAAYI,GAElCH,EAAO3pH,GAAK,IAAI4F,MAAMikH,GAEtB,IAAK,IAAI9uH,EAAI,EAAGA,EAAI4uH,EAAO3pH,GAAGlF,OAAQC,GAAK,EACzC4uH,EAAO3pH,GAAGjF,GAAK,IAAOiN,EAAOgiH,YAAYjvH,EAAIqP,GAE/CA,GAAUy/G,EAEV,IAAII,EAAS9B,EAAO+B,0BAA0BJ,GAG1CK,EAFUC,EAAaT,EAAO3pH,GAAIiqH,EAAOb,YAAc,GAErCtzF,IAAIm0F,GAE1B,IADAL,EAAO5pH,GAAK,IAAI4F,MAAMqkH,EAAOb,YAAc,GAClCruH,EAAI,EAAGA,EAAI6uH,EAAO5pH,GAAGlF,OAAQC,GAAK,EAAG,CAC5C,IAAIsvH,EAAWtvH,EAAIovH,EAAQf,YAAcQ,EAAO5pH,GAAGlF,OACnD8uH,EAAO5pH,GAAGjF,GAAMsvH,GAAY,EAAIF,EAAQG,MAAMD,GAAY,GAI9D,IAAIE,EAAiB,EACrB,IAASxvH,EAAI,EAAGA,EAAI+tH,EAAShuH,OAAQC,GAAK,EACxCwvH,GAAkBzB,EAAS/tH,GAAGgvH,WAGhC,IAAI9hH,EAAO,IAAIrC,MAAM2kH,GACjBjoH,EAAQ,EAEZ,IAASvH,EAAI,EAAGA,EAAI0uH,EAAY1uH,GAAK,EACnC,IAASiF,EAAI,EAAGA,EAAI8oH,EAAShuH,OAAQkF,GAAK,EACpCjF,EAAI4uH,EAAO3pH,GAAGlF,SAChBmN,EAAK3F,GAASqnH,EAAO3pH,GAAGjF,GACxBuH,GAAS,GAKf,IAASvH,EAAI,EAAGA,EAAI2uH,EAAY3uH,GAAK,EACnC,IAASiF,EAAI,EAAGA,EAAI8oH,EAAShuH,OAAQkF,GAAK,EACpCjF,EAAI6uH,EAAO5pH,GAAGlF,SAChBmN,EAAK3F,GAASsnH,EAAO5pH,GAAGjF,GACxBuH,GAAS,GAKf,OAAO2F,EA9DS,CAoHGD,EAAQ8gH,IAG7Bz9C,EAAMm/C,QAAU,SAASviH,EAAMy4B,GAI7B,IAAIstB,EAAU,KAEd,OAJAttB,EAAOA,GAAQ,QAKf,IAAK,UACHstB,EAAUy8D,EAASxiH,GACnB,MACF,IAAK,eACH+lD,EAAU08D,EAAWziH,GACrB,MACF,IAAK,OACH+lD,EAAU28D,EAAW1iH,GACrB,MACF,IAAK,QACH+lD,EAAU48D,EAAQ3iH,GAClB,MACF,QACE,KAAM,QAAUy4B,EAGlB6mF,EAAUhtH,KAAKyzD,GACfs5D,EAAa,MAGfj8C,EAAMw/C,OAAS,SAASlD,EAAKliC,GAC3B,GAAIkiC,EAAM,GAAKN,GAAgBM,GAAOliC,EAAM,GAAK4hC,GAAgB5hC,EAC/D,MAAMkiC,EAAM,IAAMliC,EAEpB,OAAO2hC,EAASO,GAAKliC,IAGvBpa,EAAMy/C,eAAiB,WACrB,OAAOzD,GAGTh8C,EAAM0/C,KAAO,WACX,GAAI9D,EAAc,EAAG,CAGnB,IAFA,IAAIF,EAAa,EAEVA,EAAa,GAAIA,IAAc,CAIpC,IAHA,IAAI+B,EAAWC,EAAUC,YAAYjC,EAAYG,GAC7Cl/G,EAASihH,IAEJluH,EAAI,EAAGA,EAAIwsH,EAAUzsH,OAAQC,IAAK,CACzC,IAAIkN,EAAOs/G,EAAUxsH,GACrBiN,EAAOkhH,IAAIjhH,EAAKkhH,UAAW,GAC3BnhH,EAAOkhH,IAAIjhH,EAAKmhH,YAAajB,EAAOkB,gBAAgBphH,EAAKkhH,UAAWpC,IACpE9+G,EAAKP,MAAMM,GAGb,IAAIshH,EAAiB,EACrB,IAASvuH,EAAI,EAAGA,EAAI+tH,EAAShuH,OAAQC,IACnCuuH,GAAkBR,EAAS/tH,GAAGwuH,UAGhC,GAAIvhH,EAAOqhH,mBAAsC,EAAjBC,EAC9B,MAIJrC,EAAcF,EAGhBS,KApWuB,WAKvB,IAHA,IAAIwD,EAAe,EACfC,EAAU,EAELlwH,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAAG,CAE7BysH,KAAezsH,GAEf,IAAImwH,EAAY/C,EAAOgD,aAAa9/C,IAE3B,GAALtwE,GAAUiwH,EAAeE,KAC3BF,EAAeE,EACfD,EAAUlwH,GAId,OAAOkwH,EAjBgB,KAuWzB5/C,EAAM+/C,eAAiB,SAASC,EAAU9F,GAExC8F,EAAWA,GAAY,EAGvB,IAAIC,EAAS,GAEbA,GAAU,iBACVA,GAAU,0CACVA,GAAU,8BACVA,GAAU,2BAPV/F,WAAiBA,EAAmC,EAAX8F,EAAe9F,GAOT,MAC/C+F,GAAU,KACVA,GAAU,UAEV,IAAK,IAAItrH,EAAI,EAAGA,EAAIqrE,EAAMy/C,iBAAkB9qH,GAAK,EAAG,CAElDsrH,GAAU,OAEV,IAAK,IAAI/qH,EAAI,EAAGA,EAAI8qE,EAAMy/C,iBAAkBvqH,GAAK,EAC/C+qH,GAAU,cACVA,GAAU,0CACVA,GAAU,8BACVA,GAAU,8BACVA,GAAU,WAAaD,EAAW,MAClCC,GAAU,YAAcD,EAAW,MACnCC,GAAU,sBACVA,GAAUjgD,EAAMw/C,OAAO7qH,EAAGO,GAAI,UAAY,UAC1C+qH,GAAU,IACVA,GAAU,MAGZA,GAAU,QAMZ,OAHAA,GAAU,YACA,YAKZjgD,EAAMkgD,aAAe,SAASF,EAAU9F,EAAQiG,EAAK9pH,GAEnD,IAAI+pH,EAAO,GACgB,iBAAhBltH,UAAU,KAInB8sH,GAFAI,EAAOltH,UAAU,IAED8sH,SAChB9F,EAASkG,EAAKlG,OACdiG,EAAMC,EAAKD,IACX9pH,EAAQ+pH,EAAK/pH,OAGf2pH,EAAWA,GAAY,EACvB9F,WAAiBA,EAAmC,EAAX8F,EAAe9F,GAGxDiG,EAAsB,iBAARA,EAAoB,CAACv8E,KAAMu8E,GAAOA,GAAO,IACnDv8E,KAAOu8E,EAAIv8E,MAAQ,KACvBu8E,EAAI/pH,GAAM+pH,EAAQ,KAAIA,EAAI/pH,IAAM,qBAAuB,MAGvDC,EAA0B,iBAAVA,EAAsB,CAACutC,KAAMvtC,GAASA,GAAS,IACzDutC,KAAOvtC,EAAMutC,MAAQ,KAC3BvtC,EAAMD,GAAMC,EAAU,KAAIA,EAAMD,IAAM,eAAiB,KAEvD,IACIlB,EAAOP,EAAG0rH,EAAcC,EADxBvjH,EAAOijE,EAAMy/C,iBAAmBO,EAAoB,EAAT9F,EAC7BqG,EAAM,GAmBxB,IAjBAD,EAAO,IAAMN,EAAW,QAAUA,EAChC,KAAOA,EAAW,SAAWA,EAAW,KAE1CO,GAAS,wDACTA,GAAUH,EAAKI,SAA+D,GAApD,WAAazjH,EAAO,eAAiBA,EAAO,MACtEwjH,GAAS,iBAAmBxjH,EAAO,IAAMA,EAAO,KAChDwjH,GAAS,uCACTA,GAAUlqH,EAAMutC,MAAQu8E,EAAIv8E,KAAQ,gCAChC68E,EAAU,CAACpqH,EAAMD,GAAI+pH,EAAI/pH,IAAIuM,KAAK,KAAKsE,QAAW,IAAM,GAC5Ds5G,GAAS,IACTA,GAAUlqH,EAAU,KAAI,cAAgBoqH,EAAUpqH,EAAMD,IAAM,KAC1DqqH,EAAUpqH,EAAMutC,MAAQ,WAAa,GACzC28E,GAAUJ,EAAQ,KAAI,oBAAsBM,EAAUN,EAAI/pH,IAAM,KAC5DqqH,EAAUN,EAAIv8E,MAAQ,iBAAmB,GAC7C28E,GAAS,gEACTA,GAAS,YAEJ5rH,EAAI,EAAGA,EAAIqrE,EAAMy/C,iBAAkB9qH,GAAK,EAE3C,IADA0rH,EAAK1rH,EAAIqrH,EAAW9F,EACfhlH,EAAI,EAAGA,EAAI8qE,EAAMy/C,iBAAkBvqH,GAAK,EACvC8qE,EAAMw/C,OAAO7qH,EAAGO,KAElBqrH,GAAS,KADJrrH,EAAE8qH,EAAS9F,GACI,IAAMmG,EAAKC,GAQrC,OAHAC,GAAS,yCACA,UAKXvgD,EAAM0gD,cAAgB,SAASV,EAAU9F,GAEvC8F,EAAWA,GAAY,EACvB9F,WAAiBA,EAAmC,EAAX8F,EAAe9F,EAExD,IAAIn9G,EAAOijE,EAAMy/C,iBAAmBO,EAAoB,EAAT9F,EAC3C55G,EAAM45G,EACNz3G,EAAM1F,EAAOm9G,EAEjB,OAAOwG,EAAc3jH,EAAMA,GAAM,SAASzH,EAAGY,GAC3C,GAAIoK,GAAOhL,GAAKA,EAAImN,GAAOnC,GAAOpK,GAAKA,EAAIuM,EAAK,CAC9C,IAAIvN,EAAImL,KAAKoF,OAAQnQ,EAAIgL,GAAO0/G,GAC5BrrH,EAAI0L,KAAKoF,OAAQvP,EAAIoK,GAAO0/G,GAChC,OAAOhgD,EAAMw/C,OAAO7qH,EAAGO,GAAI,EAAI,EAE/B,OAAO,MAKb8qE,EAAM2gD,aAAe,SAASX,EAAU9F,EAAQiG,GAE9CH,EAAWA,GAAY,EACvB9F,WAAiBA,EAAmC,EAAX8F,EAAe9F,EAExD,IAAIn9G,EAAOijE,EAAMy/C,iBAAmBO,EAAoB,EAAT9F,EAE3C3/B,EAAM,GAkBV,OAjBAA,GAAO,OACPA,GAAO,SACPA,GAAOva,EAAM0gD,cAAcV,EAAU9F,GACrC3/B,GAAO,IACPA,GAAO,WACPA,GAAOx9E,EACPw9E,GAAO,IACPA,GAAO,YACPA,GAAOx9E,EACPw9E,GAAO,IACH4lC,IACF5lC,GAAO,SACPA,GAAOkmC,EAAUN,GACjB5lC,GAAO,KAETA,EAAO,MAKT,IAAIkmC,EAAY,SAAS7rH,GAEvB,IADA,IAAIgsH,EAAU,GACLlxH,EAAI,EAAGA,EAAIkF,EAAEnF,OAAQC,GAAK,EAAG,CACpC,IAAIwF,EAAIN,EAAE9D,OAAOpB,GACjB,OAAOwF,GACP,IAAK,IAAK0rH,GAAW,OAAQ,MAC7B,IAAK,IAAKA,GAAW,OAAQ,MAC7B,IAAK,IAAKA,GAAW,QAAS,MAC9B,IAAK,IAAKA,GAAW,SAAU,MAC/B,QAAUA,GAAW1rH,GAGvB,OAAO0rH,GAiHT,OAtDA5gD,EAAM6gD,YAAc,SAASb,EAAU9F,GAGrC,IAFA8F,EAAWA,GAAY,GAER,EACb,OA5DmB,SAAS9F,GAE9BA,WAAiBA,EAAwB8F,EAAe9F,EAExD,IAIIhkH,EAAGZ,EAAGqe,EAAIC,EAAIze,EAJd4H,EAHW,EAGJijE,EAAMy/C,iBAAuC,EAATvF,EAC3C55G,EAAM45G,EACNz3G,EAAM1F,EAAOm9G,EAIb9nG,EAAS,CACX,eAAM,SACN,UAAM,SACN,UAAM,SACN,KAAM,KAGJ0uG,EAAyB,CAC3B,eAAM,SACN,UAAM,SACN,UAAM,IACN,KAAM,KAGJC,EAAQ,GACZ,IAAK7qH,EAAI,EAAGA,EAAI6G,EAAM7G,GAAK,EAAG,CAG5B,IAFAyd,EAAKtT,KAAKoF,OAAOvP,EAAIoK,GAzBR,GA0BbsT,EAAKvT,KAAKoF,OAAOvP,EAAI,EAAIoK,GA1BZ,GA2BRhL,EAAI,EAAGA,EAAIyH,EAAMzH,GAAK,EACzBH,EAAI,SAEAmL,GAAOhL,GAAKA,EAAImN,GAAOnC,GAAOpK,GAAKA,EAAIuM,GAAOu9D,EAAMw/C,OAAO7rG,EAAItT,KAAKoF,OAAOnQ,EAAIgL,GA9BxE,MA+BTnL,EAAI,KAGFmL,GAAOhL,GAAKA,EAAImN,GAAOnC,GAAOpK,EAAE,GAAKA,EAAE,EAAIuM,GAAOu9D,EAAMw/C,OAAO5rG,EAAIvT,KAAKoF,OAAOnQ,EAAIgL,GAlC5E,IAmCTnL,GAAK,IAGLA,GAAK,SAIP4rH,GAAU7G,EAAS,GAAKhkH,EAAE,GAAKuM,EAAOq+G,EAAuB3rH,GAAKid,EAAOjd,GAG3E4rH,GAAS,KAGX,OAAIhkH,EAAO,GAAKm9G,EAAS,EAChB6G,EAAM5rD,UAAU,EAAG4rD,EAAMtxH,OAASsN,EAAO,GAAKxC,MAAMwC,EAAK,GAAG4F,KAAK,UAGnEo+G,EAAM5rD,UAAU,EAAG4rD,EAAMtxH,OAAO,GArDlB,CA4DKyqH,GAG1B8F,GAAY,EACZ9F,WAAiBA,EAAmC,EAAX8F,EAAe9F,EAExD,IAIIhkH,EAAGZ,EAAGX,EAAGQ,EAJT4H,EAAOijE,EAAMy/C,iBAAmBO,EAAoB,EAAT9F,EAC3C55G,EAAM45G,EACNz3G,EAAM1F,EAAOm9G,EAIbrC,EAAQt9G,MAAMylH,EAAS,GAAGr9G,KAAK,gBAC/Bq+G,EAAQzmH,MAAMylH,EAAS,GAAGr9G,KAAK,MAE/Bo+G,EAAQ,GACR17E,EAAO,GACX,IAAKnvC,EAAI,EAAGA,EAAI6G,EAAM7G,GAAK,EAAG,CAG5B,IAFAvB,EAAI0L,KAAKoF,OAAQvP,EAAIoK,GAAO0/G,GAC5B36E,EAAO,GACF/vC,EAAI,EAAGA,EAAIyH,EAAMzH,GAAK,EACzBH,EAAI,EAEAmL,GAAOhL,GAAKA,EAAImN,GAAOnC,GAAOpK,GAAKA,EAAIuM,GAAOu9D,EAAMw/C,OAAO7qH,EAAG0L,KAAKoF,OAAOnQ,EAAIgL,GAAO0/G,MACvF7qH,EAAI,GAINkwC,GAAQlwC,EAAI0iH,EAAQmJ,EAGtB,IAAKrsH,EAAI,EAAGA,EAAIqrH,EAAUrrH,GAAK,EAC7BosH,GAAS17E,EAAO,KAIpB,OAAO07E,EAAM5rD,UAAU,EAAG4rD,EAAMtxH,OAAO,IAGzCuwE,EAAMihD,kBAAoB,SAAS11H,EAASy0H,GAC1CA,EAAWA,GAAY,EAEvB,IADA,IAAIvwH,EAASuwE,EAAMy/C,iBACVnD,EAAM,EAAGA,EAAM7sH,EAAQ6sH,IAC9B,IAAK,IAAIliC,EAAM,EAAGA,EAAM3qF,EAAQ2qF,IAC9B7uF,EAAQ21H,UAAYlhD,EAAMw/C,OAAOlD,EAAKliC,GAAO,QAAU,QACvD7uF,EAAQ41H,SAAS7E,EAAM0D,EAAU5lC,EAAM4lC,EAAUA,EAAUA,IAK1DhgD,GAkBTy7C,EAAOn9E,eAXPm9E,EAAO2F,mBAAqB,CAC1B,QAAY,SAASxsH,GAEnB,IADA,IAAI0O,EAAQ,GACH5T,EAAI,EAAGA,EAAIkF,EAAEnF,OAAQC,GAAK,EAAG,CACpC,IAAIwF,EAAIN,EAAE+K,WAAWjQ,GACrB4T,EAAMpU,KAAS,IAAJgG,GAEb,OAAOoO,KAI+C,QAW1Dm4G,EAAO4F,oBAAsB,SAASC,EAAaC,GAIjD,IAAIC,EAAa,WAWf,IATA,IAAIC,EAAMC,EAAwBJ,GAC9B7iH,EAAO,WACT,IAAIlJ,EAAIksH,EAAIhjH,OACZ,IAAU,GAANlJ,EAAS,KAAM,MACnB,OAAOA,GAGL4vB,EAAQ,EACRq8F,EAAa,KACJ,CACX,IAAI7wG,EAAK8wG,EAAIhjH,OACb,IAAW,GAAPkS,EAAU,MACd,IAAIC,EAAKnS,IAIL9I,EAHK8I,KAGM,EAFNA,IAGT+iH,EAFQhjH,OAAOyC,aAAe0P,GAAM,EAAKC,IAEzBjb,EAChBwvB,GAAS,EAEX,GAAIA,GAASo8F,EACX,MAAMp8F,EAAQ,OAASo8F,EAGzB,OAAOC,EA1BQ,GA6BbG,EAAc,IAAIhiH,WAAW,GAEjC,OAAO,SAAS/K,GAEd,IADA,IAAI0O,EAAQ,GACH5T,EAAI,EAAGA,EAAIkF,EAAEnF,OAAQC,GAAK,EAAG,CACpC,IAAIwF,EAAIN,EAAE+K,WAAWjQ,GACrB,GAAIwF,EAAI,IACNoO,EAAMpU,KAAKgG,OACN,CACL,IAAIK,EAAIisH,EAAW5sH,EAAE9D,OAAOpB,IACZ,iBAAL6F,GACC,IAAJA,IAAaA,EAEjB+N,EAAMpU,KAAKqG,IAGX+N,EAAMpU,KAAKqG,IAAM,GACjB+N,EAAMpU,KAAS,IAAJqG,IAGb+N,EAAMpU,KAAKyyH,IAIjB,OAAOr+G,IAQX,IAuCMs+G,EA0CAC,EACAC,EAGA9hD,EAEA+hD,EA5EFjG,EAAyB,CAC3B7jG,EAAI,EACJ9I,EAAI,EACJg6C,EAAI,EACJ/oB,EAAI,GAsBF08E,GAEE8E,EAAyB,CAC3B,GACA,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,IACJ,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,IACZ,CAAC,EAAG,GAAI,GAAI,GAAI,IAChB,CAAC,EAAG,GAAI,GAAI,GAAI,IAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,KAChB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,KACpB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,KACrB,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAC1B,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,MAExBC,EAAM,KACNC,EAAM,KAKNC,EAAc,SAASnlH,GAEzB,IADA,IAAIolH,EAAQ,EACG,GAARplH,GACLolH,GAAS,EACTplH,KAAU,EAEZ,OAAOolH,IARLhiD,EAAQ,IAWNi9C,eAAiB,SAASrgH,GAE9B,IADA,IAAI5H,EAAI4H,GAAQ,GACTmlH,EAAY/sH,GAAK+sH,EAAYF,IAAQ,GAC1C7sH,GAAM6sH,GAAQE,EAAY/sH,GAAK+sH,EAAYF,GAE7C,OAlBa,OAkBHjlH,GAAQ,GAAM5H,IAG1BgrE,EAAMg9C,iBAAmB,SAASpgH,GAEhC,IADA,IAAI5H,EAAI4H,GAAQ,GACTmlH,EAAY/sH,GAAK+sH,EAAYD,IAAQ,GAC1C9sH,GAAM8sH,GAAQC,EAAY/sH,GAAK+sH,EAAYD,GAE7C,OAAQllH,GAAQ,GAAM5H,GAGxBgrE,EAAM+8C,mBAAqB,SAASrB,GAClC,OAAOkG,EAAuBlG,EAAa,IAG7C17C,EAAMs9C,gBAAkB,SAASlB,GAE/B,OAAQA,GAER,KAjGW,EAkGT,OAAO,SAAS1sH,EAAGgG,GAAK,OAAQhG,EAAIgG,GAAK,GAAK,GAChD,KAlGW,EAmGT,OAAO,SAAShG,EAAGgG,GAAK,OAAOhG,EAAI,GAAK,GAC1C,KAnGW,EAoGT,OAAO,SAASA,EAAGgG,GAAK,OAAOA,EAAI,GAAK,GAC1C,KApGW,EAqGT,OAAO,SAAShG,EAAGgG,GAAK,OAAQhG,EAAIgG,GAAK,GAAK,GAChD,KArGW,EAsGT,OAAO,SAAShG,EAAGgG,GAAK,OAAQ2K,KAAKoF,MAAM/V,EAAI,GAAK2Q,KAAKoF,MAAM/P,EAAI,IAAO,GAAK,GACjF,KAtGW,EAuGT,OAAO,SAAShG,EAAGgG,GAAK,OAAQhG,EAAIgG,EAAK,EAAKhG,EAAIgG,EAAK,GAAK,GAC9D,KAvGW,EAwGT,OAAO,SAAShG,EAAGgG,GAAK,OAAUhG,EAAIgG,EAAK,EAAKhG,EAAIgG,EAAK,GAAK,GAAK,GACrE,KAxGW,EAyGT,OAAO,SAAShG,EAAGgG,GAAK,OAAUhG,EAAIgG,EAAK,GAAKhG,EAAIgG,GAAK,GAAK,GAAK,GAErE,QACE,KAAM,mBAAqB0mH,IAI/Bp8C,EAAM6+C,0BAA4B,SAASoD,GAEzC,IADA,IAAIptH,EAAIkqH,EAAa,CAAC,GAAI,GACjBrvH,EAAI,EAAGA,EAAIuyH,EAAoBvyH,GAAK,EAC3CmF,EAAIA,EAAE2iE,SAASunD,EAAa,CAAC,EAAGmD,EAAOC,KAAKzyH,IAAK,IAEnD,OAAOmF,GAGTmrE,EAAMg+C,gBAAkB,SAAS3oF,EAAM5oC,GAErC,GAAI,GAAKA,GAAQA,EAAO,GAItB,OAAO4oC,GACP,KA5Ja,EA4JgB,OAAO,GACpC,KA5Ja,EA4JgB,OAAO,EACpC,KA5Ja,EA6Jb,KA5Ja,EA4JgB,OAAO,EACpC,QACE,KAAM,QAAUA,OAGb,GAAI5oC,EAAO,GAIhB,OAAO4oC,GACP,KAzKa,EAyKgB,OAAO,GACpC,KAzKa,EAyKgB,OAAO,GACpC,KAzKa,EAyKgB,OAAO,GACpC,KAzKa,EAyKgB,OAAO,GACpC,QACE,KAAM,QAAUA,MAGb,MAAI5oC,EAAO,IAchB,KAAM,QAAUA,EAVhB,OAAO4oC,GACP,KAtLa,EAsLgB,OAAO,GACpC,KAtLa,EAsLgB,OAAO,GACpC,KAtLa,EAsLgB,OAAO,GACpC,KAtLa,EAsLgB,OAAO,GACpC,QACE,KAAM,QAAUA,KAQtB2qC,EAAM8/C,aAAe,SAASrE,GAQ5B,IANA,IAAIY,EAAcZ,EAAOgE,iBAErBI,EAAY,EAIPvD,EAAM,EAAGA,EAAMD,EAAaC,GAAO,EAC1C,IAAK,IAAIliC,EAAM,EAAGA,EAAMiiC,EAAajiC,GAAO,EAAG,CAK7C,IAHA,IAAIgoC,EAAY,EACZ7E,EAAO9B,EAAO+D,OAAOlD,EAAKliC,GAErBzlF,GAAK,EAAGA,GAAK,EAAGA,GAAK,EAE5B,KAAI2nH,EAAM3nH,EAAI,GAAK0nH,GAAeC,EAAM3nH,GAIxC,IAAK,IAAIO,GAAK,EAAGA,GAAK,EAAGA,GAAK,EAExBklF,EAAMllF,EAAI,GAAKmnH,GAAejiC,EAAMllF,GAI/B,GAALP,GAAe,GAALO,GAIVqoH,GAAQ9B,EAAO+D,OAAOlD,EAAM3nH,EAAGylF,EAAMllF,KACvCktH,GAAa,GAKfA,EAAY,IACdvC,GAAc,EAAIuC,EAAY,GAOpC,IAAS9F,EAAM,EAAGA,EAAMD,EAAc,EAAGC,GAAO,EAC9C,IAASliC,EAAM,EAAGA,EAAMiiC,EAAc,EAAGjiC,GAAO,EAAG,CACjD,IAAIj1D,EAAQ,EACRs2F,EAAO+D,OAAOlD,EAAKliC,KAAOj1D,GAAS,GACnCs2F,EAAO+D,OAAOlD,EAAM,EAAGliC,KAAOj1D,GAAS,GACvCs2F,EAAO+D,OAAOlD,EAAKliC,EAAM,KAAKj1D,GAAS,GACvCs2F,EAAO+D,OAAOlD,EAAM,EAAGliC,EAAM,KAAKj1D,GAAS,GAClC,GAATA,GAAuB,GAATA,IAChB06F,GAAa,GAOnB,IAASvD,EAAM,EAAGA,EAAMD,EAAaC,GAAO,EAC1C,IAASliC,EAAM,EAAGA,EAAMiiC,EAAc,EAAGjiC,GAAO,EAC1CqhC,EAAO+D,OAAOlD,EAAKliC,KACfqhC,EAAO+D,OAAOlD,EAAKliC,EAAM,IACzBqhC,EAAO+D,OAAOlD,EAAKliC,EAAM,IACzBqhC,EAAO+D,OAAOlD,EAAKliC,EAAM,IACzBqhC,EAAO+D,OAAOlD,EAAKliC,EAAM,KACzBqhC,EAAO+D,OAAOlD,EAAKliC,EAAM,IACzBqhC,EAAO+D,OAAOlD,EAAKliC,EAAM,KAC/BylC,GAAa,IAKnB,IAASzlC,EAAM,EAAGA,EAAMiiC,EAAajiC,GAAO,EAC1C,IAASkiC,EAAM,EAAGA,EAAMD,EAAc,EAAGC,GAAO,EAC1Cb,EAAO+D,OAAOlD,EAAKliC,KACfqhC,EAAO+D,OAAOlD,EAAM,EAAGliC,IACvBqhC,EAAO+D,OAAOlD,EAAM,EAAGliC,IACvBqhC,EAAO+D,OAAOlD,EAAM,EAAGliC,IACvBqhC,EAAO+D,OAAOlD,EAAM,EAAGliC,KACvBqhC,EAAO+D,OAAOlD,EAAM,EAAGliC,IACvBqhC,EAAO+D,OAAOlD,EAAM,EAAGliC,KAC7BylC,GAAa,IAOnB,IAAIwC,EAAY,EAEhB,IAASjoC,EAAM,EAAGA,EAAMiiC,EAAajiC,GAAO,EAC1C,IAASkiC,EAAM,EAAGA,EAAMD,EAAaC,GAAO,EACtCb,EAAO+D,OAAOlD,EAAKliC,KACrBioC,GAAa,GAQnB,OAFAxC,EADYx/G,KAAKssB,IAAI,IAAM01F,EAAYhG,EAAcA,EAAc,IAAM,EACpD,IAKhBr8C,GAOLkiD,EAAS,WAMX,IAJA,IAAII,EAAY,IAAI/nH,MAAM,KACtBgoH,EAAY,IAAIhoH,MAAM,KAGjB7K,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1B4yH,EAAU5yH,GAAK,GAAKA,EAEtB,IAASA,EAAI,EAAGA,EAAI,IAAKA,GAAK,EAC5B4yH,EAAU5yH,GAAK4yH,EAAU5yH,EAAI,GACzB4yH,EAAU5yH,EAAI,GACd4yH,EAAU5yH,EAAI,GACd4yH,EAAU5yH,EAAI,GAEpB,IAASA,EAAI,EAAGA,EAAI,IAAKA,GAAK,EAC5B6yH,EAAUD,EAAU5yH,IAAOA,EA2B7B,MAxBY,CAEZ,KAAa,SAASqF,GAEpB,GAAIA,EAAI,EACN,KAAM,QAAUA,EAAI,IAGtB,OAAOwtH,EAAUxtH,IAGnB,KAAa,SAASA,GAEpB,KAAOA,EAAI,GACTA,GAAK,IAGP,KAAOA,GAAK,KACVA,GAAK,IAGP,OAAOutH,EAAUvtH,KAxCR,GAkDb,SAASgqH,EAAarmG,EAAKyc,GAEzB,QAAI,IAAOzc,EAAIjpB,OACb,MAAMipB,EAAIjpB,OAAS,IAAM0lC,EAG3B,IAAIqtF,EAAO,WAET,IADA,IAAIzjH,EAAS,EACNA,EAAS2Z,EAAIjpB,QAAyB,GAAfipB,EAAI3Z,IAChCA,GAAU,EAGZ,IADA,IAAIyjH,EAAO,IAAIjoH,MAAMme,EAAIjpB,OAASsP,EAASo2B,GAClCzlC,EAAI,EAAGA,EAAIgpB,EAAIjpB,OAASsP,EAAQrP,GAAK,EAC5C8yH,EAAK9yH,GAAKgpB,EAAIhpB,EAAIqP,GAEpB,OAAOyjH,EATE,GAYPxiD,EAAQ,CAEZ,MAAc,SAAS/oE,GACrB,OAAOurH,EAAKvrH,IAGd,UAAkB,WAChB,OAAOurH,EAAK/yH,QAGd,SAAiB,SAAS+E,GAIxB,IAFA,IAAIkkB,EAAM,IAAIne,MAAMylE,EAAM+9C,YAAcvpH,EAAEupH,YAAc,GAE/CruH,EAAI,EAAGA,EAAIswE,EAAM+9C,YAAaruH,GAAK,EAC1C,IAAK,IAAIgG,EAAI,EAAGA,EAAIlB,EAAEupH,YAAaroH,GAAK,EACtCgjB,EAAIhpB,EAAIgG,IAAMwsH,EAAOC,KAAKD,EAAOO,KAAKziD,EAAMi/C,MAAMvvH,IAAOwyH,EAAOO,KAAKjuH,EAAEyqH,MAAMvpH,KAIjF,OAAOqpH,EAAarmG,EAAK,IAG3B,IAAY,SAASlkB,GAEnB,GAAIwrE,EAAM+9C,YAAcvpH,EAAEupH,YAAc,EACtC,OAAO/9C,EAMT,IAHA,IAAI0iD,EAAQR,EAAOO,KAAKziD,EAAMi/C,MAAM,IAAOiD,EAAOO,KAAKjuH,EAAEyqH,MAAM,IAE3DvmG,EAAM,IAAIne,MAAMylE,EAAM+9C,aACjBruH,EAAI,EAAGA,EAAIswE,EAAM+9C,YAAaruH,GAAK,EAC1CgpB,EAAIhpB,GAAKswE,EAAMi/C,MAAMvvH,GAGvB,IAASA,EAAI,EAAGA,EAAI8E,EAAEupH,YAAaruH,GAAK,EACtCgpB,EAAIhpB,IAAMwyH,EAAOC,KAAKD,EAAOO,KAAKjuH,EAAEyqH,MAAMvvH,IAAOgzH,GAInD,OAAO3D,EAAarmG,EAAK,GAAG+R,IAAIj2B,KAGlC,OAAOwrE,EAOT,IAAI09C,EAAY,WAEd,IAAIiF,EAAiB,CAQnB,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAGR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IAGR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IAGR,CAAC,EAAG,IAAK,IACT,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAGR,CAAC,EAAG,IAAK,KACT,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IAGR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,IACR,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,IACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,KACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,IACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IACrB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IAGnB,CAAC,EAAG,IAAK,KACT,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IACrB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,GAAI,EAAG,IAAK,IACrB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,EAAG,GAAI,IACnB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,IACT,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,IACT,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,IAGT,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KACtB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,KACV,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAGpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAGpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,KAGnBC,EAAY,SAASlE,EAAYR,GACnC,IAAIl+C,EAAQ,GAGZ,OAFAA,EAAM0+C,WAAaA,EACnB1+C,EAAMk+C,UAAYA,EACXl+C,GAGLA,EAAQ,CAkBZ,YAAoB,SAAS07C,EAAYC,GAEvC,IAAIkH,EAlBgB,SAASnH,EAAYC,GAEzC,OAAOA,GACP,KAAKG,EAAuB7jG,EAC1B,OAAO0qG,EAAkC,GAAlBjH,EAAa,GAAS,GAC/C,KAAKI,EAAuB3sG,EAC1B,OAAOwzG,EAAkC,GAAlBjH,EAAa,GAAS,GAC/C,KAAKI,EAAuB3yD,EAC1B,OAAOw5D,EAAkC,GAAlBjH,EAAa,GAAS,GAC/C,KAAKI,EAAuB17E,EAC1B,OAAOuiF,EAAkC,GAAlBjH,EAAa,GAAS,GAC/C,QACE,QAZkB,CAkBUA,EAAYC,GAE1C,QAAI,IAAOkH,EACT,KAAM,6BAA+BnH,EACjC,yBAA2BC,EAOjC,IAJA,IAAIlsH,EAASozH,EAAQpzH,OAAS,EAE1ByS,EAAO,GAEFxS,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAM/B,IAJA,IAAIy1B,EAAQ09F,EAAY,EAAJnzH,EAAQ,GACxBgvH,EAAamE,EAAY,EAAJnzH,EAAQ,GAC7BwuH,EAAY2E,EAAY,EAAJnzH,EAAQ,GAEvBgG,EAAI,EAAGA,EAAIyvB,EAAOzvB,GAAK,EAC9BwM,EAAKhT,KAAK0zH,EAAUlE,EAAYR,IAIpC,OAAOh8G,IAGT,OAAO89D,EA9SO,GAqTZ49C,EAAc,WAEhB,IAAIkF,EAAU,GACVC,EAAU,EAEV/iD,EAAQ,CAEZ,UAAkB,WAChB,OAAO8iD,GAGT,MAAc,SAAS7rH,GACrB,IAAI+rH,EAAW3iH,KAAKoF,MAAMxO,EAAQ,GAClC,OAA0D,IAAhD6rH,EAAQE,KAAe,EAAI/rH,EAAQ,EAAO,IAGtD,IAAY,SAASyhB,EAAKjpB,GACxB,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAC/BswE,EAAMm+C,OAA8C,IAAnCzlG,IAASjpB,EAASC,EAAI,EAAO,KAIlD,gBAAwB,WACtB,OAAOqzH,GAGT,OAAe,SAAS50F,GAEtB,IAAI60F,EAAW3iH,KAAKoF,MAAMs9G,EAAU,GAChCD,EAAQrzH,QAAUuzH,GACpBF,EAAQ5zH,KAAK,GAGXi/B,IACF20F,EAAQE,IAAc,MAAUD,EAAU,GAG5CA,GAAW,IAGb,OAAO/iD,GAOLo/C,EAAW,SAASxiH,GAEtB,IACIqmH,EAAQrmH,EAERojE,EAAQ,CAEZ,QAAgB,WACd,OAtxBe,GAyxBjB,UAAkB,SAASrjE,GACzB,OAAOsmH,EAAMxzH,QAGf,MAAc,SAASkN,GAMrB,IAJA,IAAIC,EAAOqmH,EAEPvzH,EAAI,EAEDA,EAAI,EAAIkN,EAAKnN,QAClBkN,EAAOkhH,IAAIqF,EAAStmH,EAAKu4D,UAAUzlE,EAAGA,EAAI,IAAM,IAChDA,GAAK,EAGHA,EAAIkN,EAAKnN,SACPmN,EAAKnN,OAASC,GAAK,EACrBiN,EAAOkhH,IAAIqF,EAAStmH,EAAKu4D,UAAUzlE,EAAGA,EAAI,IAAM,GACvCkN,EAAKnN,OAASC,GAAK,GAC5BiN,EAAOkhH,IAAIqF,EAAStmH,EAAKu4D,UAAUzlE,EAAGA,EAAI,IAAM,MAKlDwzH,EAAW,SAAStuH,GAEtB,IADA,IAAI8jB,EAAM,EACDhpB,EAAI,EAAGA,EAAIkF,EAAEnF,OAAQC,GAAK,EACjCgpB,EAAY,GAANA,EAAWyqG,EAAUvuH,EAAE9D,OAAOpB,IAEtC,OAAOgpB,GAGLyqG,EAAY,SAASjuH,GACvB,GAAI,KAAOA,GAAKA,GAAK,IACnB,OAAOA,EAAEyK,WAAW,GAAK,IAAIA,WAAW,GAE1C,KAAM,iBAAmBzK,GAG3B,OAAO8qE,GAOLq/C,EAAa,SAASziH,GAExB,IACIqmH,EAAQrmH,EAERojE,EAAQ,CAEZ,QAAgB,WACd,OA90Be,GAi1BjB,UAAkB,SAASrjE,GACzB,OAAOsmH,EAAMxzH,QAGf,MAAc,SAASkN,GAMrB,IAJA,IAAI/H,EAAIquH,EAEJvzH,EAAI,EAEDA,EAAI,EAAIkF,EAAEnF,QACfkN,EAAOkhH,IACmB,GAAxBuF,EAAQxuH,EAAE9D,OAAOpB,IACjB0zH,EAAQxuH,EAAE9D,OAAOpB,EAAI,IAAM,IAC7BA,GAAK,EAGHA,EAAIkF,EAAEnF,QACRkN,EAAOkhH,IAAIuF,EAAQxuH,EAAE9D,OAAOpB,IAAM,KAIlC0zH,EAAU,SAASluH,GAErB,GAAI,KAAOA,GAAKA,GAAK,IACnB,OAAOA,EAAEyK,WAAW,GAAK,IAAIA,WAAW,GACnC,GAAI,KAAOzK,GAAKA,GAAK,IAC1B,OAAOA,EAAEyK,WAAW,GAAK,IAAIA,WAAW,GAAK,GAE7C,OAAQzK,GACR,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,IAAK,IAAM,OAAO,GAClB,QACE,KAAM,iBAAmBA,IAK/B,OAAO8qE,GAOLs/C,EAAa,SAAS1iH,GAExB,IAEIymH,EAAS5H,EAAOn9E,cAAc1hC,GAkBlC,MAhBY,CAEZ,QAAgB,WACd,OA74Be,GAg5BjB,UAAkB,SAASD,GACzB,OAAO0mH,EAAO5zH,QAGhB,MAAc,SAASkN,GACrB,IAAK,IAAIjN,EAAI,EAAGA,EAAI2zH,EAAO5zH,OAAQC,GAAK,EACtCiN,EAAOkhH,IAAIwF,EAAO3zH,GAAI,MAWxB6vH,EAAU,SAAS3iH,GAErB,IAGI0hC,EAAgBm9E,EAAO2F,mBAAyB,KACpD,IAAK9iF,EACH,KAAM,uBAEP,SAASppC,EAAGiF,GAEX,IAAIH,EAAOskC,EAIX,UAHA,GAAmB,GAAftkC,EAAKvK,QAGC,QAHiBuK,EAAK,IAAM,EAAKA,EAAK,IAC9C,KAAM,sBAJT,GAQD,IAAIqpH,EAAS/kF,EAAc1hC,GA0C3B,MAxCY,CAEZ,QAAgB,WACd,OAt7Be,GAy7BjB,UAAkB,SAASD,GACzB,SAAU0mH,EAAO5zH,OAAS,IAG5B,MAAc,SAASkN,GAMrB,IAJA,IAAIC,EAAOymH,EAEP3zH,EAAI,EAEDA,EAAI,EAAIkN,EAAKnN,QAAQ,CAE1B,IAAIyF,GAAO,IAAO0H,EAAKlN,KAAO,EAAM,IAAOkN,EAAKlN,EAAI,GAEpD,GAAI,OAAUwF,GAAKA,GAAK,MACtBA,GAAK,UACA,MAAI,OAAUA,GAAKA,GAAK,OAG7B,KAAM,oBAAsBxF,EAAI,GAAK,IAAMwF,EAF3CA,GAAK,MAKPA,EAA0B,KAAnBA,IAAM,EAAK,MAAoB,IAAJA,GAElCyH,EAAOkhH,IAAI3oH,EAAG,IAEdxF,GAAK,EAGP,GAAIA,EAAIkN,EAAKnN,OACX,KAAM,oBAAsBC,EAAI,MAelC4zH,EAAwB,WAE1B,IAAID,EAAS,GAETrjD,EAAQ,CAEZ,UAAkB,SAASzqE,GACzB8tH,EAAOn0H,KAAS,IAAJqG,IAGd,WAAmB,SAAS7F,GAC1BswE,EAAMujD,UAAU7zH,GAChBswE,EAAMujD,UAAU7zH,IAAM,IAGxB,WAAmB,SAAS6F,EAAGupB,EAAKtiB,GAClCsiB,EAAMA,GAAO,EACbtiB,EAAMA,GAAOjH,EAAE9F,OACf,IAAK,IAAIC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAC5BswE,EAAMujD,UAAUhuH,EAAE7F,EAAIovB,KAI1B,YAAoB,SAASlqB,GAC3B,IAAK,IAAIlF,EAAI,EAAGA,EAAIkF,EAAEnF,OAAQC,GAAK,EACjCswE,EAAMujD,UAAU3uH,EAAE+K,WAAWjQ,KAIjC,YAAoB,WAClB,OAAO2zH,GAGT,SAAiB,WACf,IAAIzuH,EAAI,GACRA,GAAK,IACL,IAAK,IAAIlF,EAAI,EAAGA,EAAI2zH,EAAO5zH,OAAQC,GAAK,EAClCA,EAAI,IACNkF,GAAK,KAEPA,GAAKyuH,EAAO3zH,GAGd,OADAkF,EAAK,MAIP,OAAOorE,GA6EL0hD,EAA0B,SAASjiH,GAErC,IAAI+jH,EAAO/jH,EACPgkH,EAAO,EACPX,EAAU,EACVY,EAAU,EAEV1jD,EAAQ,CAEZ,KAAa,WAEX,KAAO0jD,EAAU,GAAG,CAElB,GAAID,GAAQD,EAAK/zH,OAAQ,CACvB,GAAe,GAAXi0H,EACF,OAAQ,EAEV,KAAM,2BAA6BA,EAGrC,IAAIxuH,EAAIsuH,EAAK1yH,OAAO2yH,GAGpB,GAFAA,GAAQ,EAEC,KAALvuH,EAEF,OADAwuH,EAAU,GACF,EACCxuH,EAAEwN,MAAM,UAKnBogH,EAAWA,GAAW,EAAKz9F,EAAOnwB,EAAEyK,WAAW,IAC/C+jH,GAAW,GAGb,IAAI3uH,EAAK+tH,IAAaY,EAAU,EAAO,IAEvC,OADAA,GAAW,EACJ3uH,IAGLswB,EAAS,SAASnwB,GACpB,GAAI,IAAQA,GAAKA,GAAK,GACpB,OAAOA,EAAI,GACN,GAAI,IAAQA,GAAKA,GAAK,IAC3B,OAAOA,EAAI,GAAO,GACb,GAAI,IAAQA,GAAKA,GAAK,GAC3B,OAAOA,EAAI,GAAO,GACb,GAAS,IAALA,EACT,OAAO,GACF,GAAS,IAALA,EACT,OAAO,GAEP,KAAM,KAAOA,GAIjB,OAAO8qE,GAyNL0gD,EAAgB,SAASx9F,EAAOC,EAAQwgG,GAE1C,IADA,IAAIC,EAnNS,SAAS1gG,EAAOC,GAE7B,IAAI0gG,EAAS3gG,EACT4gG,EAAU3gG,EACV8/F,EAAQ,IAAI1oH,MAAM2oB,EAAQC,GAE1B68C,EAAQ,CAEZ,SAAiB,SAAS1qE,EAAGY,EAAG6tH,GAC9Bd,EAAM/sH,EAAI2tH,EAASvuH,GAAKyuH,GAG1B,MAAc,SAAS3gH,GAKrBA,EAAI4gH,YAAY,UAKhB5gH,EAAI6gH,WAAWJ,GACfzgH,EAAI6gH,WAAWH,GAEf1gH,EAAImgH,UAAU,KACdngH,EAAImgH,UAAU,GACdngH,EAAImgH,UAAU,GAMdngH,EAAImgH,UAAU,GACdngH,EAAImgH,UAAU,GACdngH,EAAImgH,UAAU,GAGdngH,EAAImgH,UAAU,KACdngH,EAAImgH,UAAU,KACdngH,EAAImgH,UAAU,KAKdngH,EAAI4gH,YAAY,KAChB5gH,EAAI6gH,WAAW,GACf7gH,EAAI6gH,WAAW,GACf7gH,EAAI6gH,WAAWJ,GACfzgH,EAAI6gH,WAAWH,GACf1gH,EAAImgH,UAAU,GAQd,IACIW,EAASC,EADQ,GAGrB/gH,EAAImgH,UAHiB,GAOrB,IAFA,IAAIxkH,EAAS,EAENmlH,EAAOz0H,OAASsP,EAAS,KAC9BqE,EAAImgH,UAAU,KACdngH,EAAIghH,WAAWF,EAAQnlH,EAAQ,KAC/BA,GAAU,IAGZqE,EAAImgH,UAAUW,EAAOz0H,OAASsP,GAC9BqE,EAAIghH,WAAWF,EAAQnlH,EAAQmlH,EAAOz0H,OAASsP,GAC/CqE,EAAImgH,UAAU,GAIdngH,EAAI4gH,YAAY,OAsCdG,EAAe,SAASE,GAS1B,IAPA,IAAIC,EAAY,GAAKD,EACjBE,EAAkC,GAAvB,GAAKF,GAChB73F,EAAY63F,EAAiB,EAG7BG,EAAQC,IAEH/0H,EAAI,EAAGA,EAAI40H,EAAW50H,GAAK,EAClC80H,EAAMntG,IAAI7Y,OAAOyC,aAAavR,IAEhC80H,EAAMntG,IAAI7Y,OAAOyC,aAAaqjH,IAC9BE,EAAMntG,IAAI7Y,OAAOyC,aAAasjH,IAE9B,IAhDIG,EACAC,EACAC,EA8CAC,EAAUvB,IACVwB,GAjDAJ,EAiDyBG,EAhDzBF,EAAa,EACbC,EAAa,EAEL,CAEZ,MAAc,SAAShoH,EAAMnN,GAE3B,GAAMmN,IAASnN,GAAW,EACxB,KAAM,cAGR,KAAOk1H,EAAal1H,GAAU,GAC5Bi1H,EAAKnB,UAAU,KAAU3mH,GAAQ+nH,EAAcC,IAC/Cn1H,GAAW,EAAIk1H,EACf/nH,KAAW,EAAI+nH,EACfC,EAAa,EACbD,EAAa,EAGfC,GAAchoH,GAAQ+nH,EACtBA,GAA0Bl1H,GAG5B,MAAc,WACRk1H,EAAa,GACfD,EAAKnB,UAAUqB,MA0BnBE,EAAOzoH,MAAMioH,EAAW93F,GAExB,IAAIu4F,EAAY,EAEZnwH,EAAI4J,OAAOyC,aAAagiH,EAAM8B,IAGlC,IAFAA,GAAa,EAENA,EAAY9B,EAAMxzH,QAAQ,CAE/B,IAAIyF,EAAIsJ,OAAOyC,aAAagiH,EAAM8B,IAClCA,GAAa,EAETP,EAAMv5D,SAASr2D,EAAIM,GAErBN,GAAQM,GAIR4vH,EAAOzoH,MAAMmoH,EAAMrmH,QAAQvJ,GAAI43B,GAE3Bg4F,EAAMznH,OAAS,OAEbynH,EAAMznH,QAAW,GAAKyvB,IACxBA,GAAa,GAGfg4F,EAAMntG,IAAIziB,EAAIM,IAGhBN,EAAIM,GAWR,OAPA4vH,EAAOzoH,MAAMmoH,EAAMrmH,QAAQvJ,GAAI43B,GAG/Bs4F,EAAOzoH,MAAMkoH,EAAS/3F,GAEtBs4F,EAAOE,QAEAH,EAAQ79G,eAGby9G,EAAW,WAEb,IAAIQ,EAAO,GACPC,EAAQ,EAERllD,EAAQ,CAEZ,IAAY,SAASz1E,GACnB,GAAIy1E,EAAM/U,SAAS1gE,GACjB,KAAM,WAAaA,EAErB06H,EAAK16H,GAAO26H,EACZA,GAAS,GAGX,KAAa,WACX,OAAOA,GAGT,QAAgB,SAAS36H,GACvB,OAAO06H,EAAK16H,IAGd,SAAiB,SAASA,GACxB,YAAO,IAAO06H,EAAK16H,KAGrB,OAAOy1E,GAGT,OAAOA,EA/MM,CAmNM98C,EAAOC,GACjBjtB,EAAI,EAAGA,EAAIitB,EAAQjtB,GAAK,EAC/B,IAAK,IAAIZ,EAAI,EAAGA,EAAI4tB,EAAO5tB,GAAK,EAC9BsuH,EAAIuB,SAAS7vH,EAAGY,EAAGytH,EAASruH,EAAGY,IAInC,IAAIX,EAAI+tH,IACRM,EAAIvnH,MAAM9G,GAIV,IAFA,IAAIyF,EAlWyB,WAE7B,IAAI8nH,EAAU,EACVY,EAAU,EACVX,EAAU,EACVqC,EAAU,GAEVplD,EAAQ,GAERqlD,EAAe,SAAS9vH,GAC1B6vH,GAAW5mH,OAAOyC,aAAawkB,EAAW,GAAJlwB,KAGpCkwB,EAAS,SAAS1wB,GACpB,GAAIA,EAAI,OAED,IAAIA,EAAI,GACb,OAAO,GAAOA,EACT,GAAIA,EAAI,GACb,OAAeA,EAAI,GAAZ,GACF,GAAIA,EAAI,GACb,OAAeA,EAAI,GAAZ,GACF,GAAS,IAALA,EACT,OAAO,GACF,GAAS,IAALA,EACT,OAAO,GAET,KAAM,KAAOA,GAoCf,OAjCAirE,EAAMujD,UAAY,SAASxuH,GAMzB,IAJA+tH,EAAWA,GAAW,EAAU,IAAJ/tH,EAC5B2uH,GAAW,EACXX,GAAW,EAEJW,GAAW,GAChB2B,EAAavC,IAAaY,EAAU,GACpCA,GAAW,GAIf1jD,EAAMglD,MAAQ,WAQZ,GANItB,EAAU,IACZ2B,EAAavC,GAAY,EAAIY,GAC7BZ,EAAU,EACVY,EAAU,GAGRX,EAAU,GAAK,EAGjB,IADA,IAAIuC,EAAS,EAAIvC,EAAU,EAClBrzH,EAAI,EAAGA,EAAI41H,EAAQ51H,GAAK,EAC/B01H,GAAW,KAKjBplD,EAAMhjE,SAAW,WACf,OAAOooH,GAGFplD,EA/DsB,GAmWzB18D,EAAQ/N,EAAEyR,cACLtX,EAAI,EAAGA,EAAI4T,EAAM7T,OAAQC,GAAK,EACrCsL,EAAOuoH,UAAUjgH,EAAM5T,IAIzB,OAFAsL,EAAOgqH,QAEA,yBAA2BhqH,GAMpC,OAAOygH,EAprEI,GA0rEXA,EAAO2F,mBAAmB,SAAW,SAASxsH,GAgC5C,OA9BA,SAAqB6K,GAEnB,IADA,IAAI8lH,EAAO,GACF71H,EAAE,EAAGA,EAAI+P,EAAIhQ,OAAQC,IAAK,CACjC,IAAI81H,EAAW/lH,EAAIE,WAAWjQ,GAC1B81H,EAAW,IAAMD,EAAKr2H,KAAKs2H,GACtBA,EAAW,KAClBD,EAAKr2H,KAAK,IAAQs2H,GAAY,EAC1B,IAAmB,GAAXA,GAELA,EAAW,OAAUA,GAAY,MACxCD,EAAKr2H,KAAK,IAAQs2H,GAAY,GAC1B,IAASA,GAAU,EAAK,GACxB,IAAmB,GAAXA,IAIZ91H,IAIA81H,EAAW,QAAwB,KAAXA,IAAmB,GAClB,KAApB/lH,EAAIE,WAAWjQ,IACpB61H,EAAKr2H,KAAK,IAAQs2H,GAAW,GACzB,IAASA,GAAU,GAAM,GACzB,IAASA,GAAU,EAAK,GACxB,IAAmB,GAAXA,IAGhB,OAAOD,EA5BT,CA8BmB3wH,cAOC,qBAAP,EAIf,WACE,OAAO6mH,IALa,UAAX,IAAW,mB,kdChvElBgK,EAAW,SAACn7H,GAA0C,QAAEA,GAAsB,iBAARA,IAAqBiQ,MAAMC,QAAQlQ,IAEhG,SAASo7H,EAAU3zH,G,IAAuB,wDACvD,IAAK4zH,EAAQl2H,OAAQ,OAAOsC,EAC5B,IAAMqC,EAASuxH,EAAQxwF,QACvB,gBAAI/gC,GAAyBqxH,EAAS1zH,IAAY0zH,EAASrxH,IAC3DrC,EAAS,EAAH,GAAQA,GACdtI,OAAO+G,KAAK4D,GAAQ7G,SAAQ,SAAChD,GAC3B,IAAMq7H,EAAc7zH,EAAOxH,GACrBs7H,EAAczxH,EAAO7J,GAEvBgQ,MAAMC,QAAQorH,IAAgBrrH,MAAMC,QAAQqrH,GAC9C9zH,EAAOxH,GAAOs7H,EACLJ,EAASG,IAAgBH,EAASI,GAC3C9zH,EAAOxH,GAAOm7H,EAAUj8H,OAAOof,OAAO,GAAI+8G,GAAcC,GAExD9zH,EAAOxH,GAAOs7H,KAIXH,EAAS,gBAAC3zH,GAAW4zH,KAf+C5zH,ECP9D,SAAS+zH,EAAYC,EAAa/1H,GAC/C,IAAMyqF,EAAOvvB,SAASv0D,cAAc,KACpC8jF,EAAKurC,SAAWh2H,EAChByqF,EAAK7c,KAAOmoD,EACZ76D,SAAShpB,KAAK8qB,YAAYytB,GAC1BA,EAAKwrC,QACL/6D,SAAShpB,KAAK00C,YAAY6D,GCNb,SAAeyrC,EAAUxhF,G,kmCACtC,MAAO,CAAP,EAAO,IAAIp0C,SAAQ,SAAC3C,GAClB,IAAMw4C,EAAM,IAAIC,eAChBD,EAAI7D,OAAS,WACX,IAAMD,EAAS,IAAIK,WACnBL,EAAO8jF,UAAY,WACjBx4H,EAAQ00C,EAAOx0C,SAEjBw0C,EAAO+jF,cAAcjgF,EAAIP,WAE3BO,EAAIxrB,KAAK,MAAO+pB,GAChByB,EAAIU,aAAe,OACnBV,EAAIgB,e,+RCJR,ICJA,OACElvB,EAAG,IACH9I,EAAG,IACHg6C,EAAG,IACH/oB,EAAG,I,iNCLL,WAKE,WAAY,G,IAAEimF,EAAG,MAAE55H,EAAI,OACrBO,KAAKs5H,KAAOD,EACZr5H,KAAKu5H,MAAQ95H,EAgTjB,OA7SE,YAAA+5H,KAAA,SAAKlxH,EAAWY,EAAW6G,EAAc0pH,GACvC,IACIC,EAEJ,OAHa15H,KAAKu5H,OAIhB,ICfE,ODgBAG,EAAe15H,KAAK25H,SACpB,MACF,IChBI,SDiBFD,EAAe15H,KAAK45H,YACpB,MACF,IClBW,iBDmBTF,EAAe15H,KAAK65H,mBACpB,MACF,ICvBK,UDwBHH,EAAe15H,KAAK85H,aACpB,MACF,ICtBU,gBDuBRJ,EAAe15H,KAAK+5H,kBACpB,MAEF,QACEL,EAAe15H,KAAKg6H,YAGxBN,EAAa95H,KAAKI,KAAM,CAAEsI,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAE0pH,YAAW,KAGnD,YAAAQ,cAAA,SAAc,G,MAAE3xH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAE,IAAAmqH,SAAA,WAAW,IAAC,EAChCC,EAAK7xH,EAAIyH,EAAO,EAChBqqH,EAAKlxH,EAAI6G,EAAO,KAFsB,UAK/B,QAAb,EAAA/P,KAAKq6H,oBAAQ,KAAEt6D,aAAa,YAAa,UAAW,IAAMm6D,EAAY7mH,KAAK4xB,GAAE,IAAIk1F,EAAE,IAAIC,EAAE,MAG3F,YAAAE,UAAA,SAAU7zH,GAAV,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,UACvE,EAAKymB,SAASt6D,aAAa,KAAMvuD,OAAOlJ,EAAIyH,EAAO,IACnD,EAAKsqH,SAASt6D,aAAa,KAAMvuD,OAAOtI,EAAI6G,EAAO,IACnD,EAAKsqH,SAASt6D,aAAa,IAAKvuD,OAAOzB,EAAO,SAKpD,YAAAwqH,aAAA,SAAa9zH,GAAb,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aAAa,IAAKvuD,OAAOlJ,IACvC,EAAK+xH,SAASt6D,aAAa,IAAKvuD,OAAOtI,IACvC,EAAKmxH,SAASt6D,aAAa,QAASvuD,OAAOzB,IAC3C,EAAKsqH,SAASt6D,aAAa,SAAUvuD,OAAOzB,SAMlD,YAAAyqH,kBAAA,SAAkB/zH,GAAlB,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aACZ,IACA,KAAKz3D,EAAC,IAAIY,EACR,KAAK6G,EACL,KAAKA,EAAO,EACZ,KAAKA,EAAO,EAAC,IAAIA,EAAO,EAAC,iBAAiBA,QAOpD,YAAA0qH,oBAAA,SAAoBh0H,GAApB,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aACZ,IACA,KAAKz3D,EAAC,IAAIY,EACR,KAAK6G,EACL,KAAKA,EACL,MAAMA,EAAO,EACb,KAAKA,EAAO,EAAC,IAAIA,EAAO,EAAC,eAAeA,EAAO,EAAC,KAAKA,EAAO,QAOtE,YAAA2qH,yBAAA,SAAyBj0H,GAAzB,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aACZ,IACA,KAAKz3D,EAAC,IAAIY,EACR,KAAK6G,EACL,KAAKA,EACL,KAAKA,EAAI,IAAIA,EAAI,eAAeA,EAAI,KAAKA,QAOnD,YAAA4qH,qBAAA,SAAqBl0H,GAArB,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aACZ,IACA,KAAKz3D,EAAC,IAAIY,EACR,KAAK6G,EAAO,EACZ,KAAKA,EAAO,EAAC,IAAIA,EAAO,EAAC,cAAcA,EAAO,EAAC,IAAIA,EAAO,EAC1D,KAAKA,EAAO,EACZ,MAAMA,EAAO,EACb,KAAKA,EAAO,EAAC,IAAIA,EAAO,EAAC,eAAeA,EAAO,EAAC,KAAKA,EAAO,QAMtE,YAAA4pH,SAAA,SAAS,G,IAAErxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OACnB/P,KAAKs6H,UAAU,CAAEhyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,KAGzC,YAAAF,YAAA,SAAY,G,IAAE1xH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OACtB/P,KAAKu6H,aAAa,CAAEjyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,KAG5C,YAAAJ,aAAA,SAAa,G,IAAExxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAE0pH,EAAW,cAC9BmB,EAAenB,GAAeA,GAAa,EAAG,GAAK,EACnDoB,EAAgBpB,GAAeA,EAAY,EAAG,GAAK,EACnDqB,EAAcrB,GAAeA,EAAY,GAAI,GAAK,EAClDsB,EAAiBtB,GAAeA,EAAY,EAAG,GAAK,EAEpDuB,EAAiBJ,EAAeC,EAAgBC,EAAcC,EAEpE,GAAuB,IAAnBC,EAKJ,GAAIA,EAAiB,GAAMJ,GAAgBC,GAAmBC,GAAeC,EAC3E/6H,KAAKu6H,aAAa,CAAEjyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,QAD5C,CAKA,GAAuB,IAAnBc,EAAsB,CACxB,IAAId,EAAW,EAWf,OATIU,GAAgBE,EAClBZ,EAAW7mH,KAAK4xB,GAAK,EACZ61F,GAAeD,EACxBX,EAAW7mH,KAAK4xB,GACP41F,GAAiBE,IAC1Bb,GAAY7mH,KAAK4xB,GAAK,QAGxBjlC,KAAKy6H,oBAAoB,CAAEnyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,IAIjD,GAAuB,IAAnBc,EAYF,OAXId,EAAW,EAEXY,EACFZ,EAAW7mH,KAAK4xB,GAAK,EACZ41F,EACTX,EAAW7mH,KAAK4xB,GACP81F,IACTb,GAAY7mH,KAAK4xB,GAAK,QAGxBjlC,KAAKw6H,kBAAkB,CAAElyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,SAnC7Cl6H,KAAKs6H,UAAU,CAAEhyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,KAwC3C,YAAAH,kBAAA,SAAkB,G,IAAEzxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAE0pH,EAAW,cACnCmB,EAAenB,GAAeA,GAAa,EAAG,GAAK,EACnDoB,EAAgBpB,GAAeA,EAAY,EAAG,GAAK,EACnDqB,EAAcrB,GAAeA,EAAY,GAAI,GAAK,EAClDsB,EAAiBtB,GAAeA,EAAY,EAAG,GAAK,EAEpDuB,EAAiBJ,EAAeC,EAAgBC,EAAcC,EAEpE,GAAuB,IAAnBC,EAKJ,GAAIA,EAAiB,GAAMJ,GAAgBC,GAAmBC,GAAeC,EAC3E/6H,KAAKu6H,aAAa,CAAEjyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,QAD5C,CAKA,GAAuB,IAAnBc,EAAsB,CACxB,IAAId,EAAW,EAWf,OATIU,GAAgBE,EAClBZ,EAAW7mH,KAAK4xB,GAAK,EACZ61F,GAAeD,EACxBX,EAAW7mH,KAAK4xB,GACP41F,GAAiBE,IAC1Bb,GAAY7mH,KAAK4xB,GAAK,QAGxBjlC,KAAK06H,yBAAyB,CAAEpyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,IAItD,GAAuB,IAAnBc,EAYF,OAXId,EAAW,EAEXY,EACFZ,EAAW7mH,KAAK4xB,GAAK,EACZ41F,EACTX,EAAW7mH,KAAK4xB,GACP81F,IACTb,GAAY7mH,KAAK4xB,GAAK,QAGxBjlC,KAAKw6H,kBAAkB,CAAElyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,SAnC7Cl6H,KAAKs6H,UAAU,CAAEhyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,KAwC3C,YAAAN,YAAA,SAAY,G,IAAEtxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAE0pH,EAAW,cAC7BmB,EAAenB,GAAeA,GAAa,EAAG,GAAK,EACnDoB,EAAgBpB,GAAeA,EAAY,EAAG,GAAK,EACnDqB,EAAcrB,GAAeA,EAAY,GAAI,GAAK,EAClDsB,EAAiBtB,GAAeA,EAAY,EAAG,GAAK,EAInC,IAFAmB,EAAeC,EAAgBC,EAAcC,EAO/DH,GAAiBE,EAKjBD,GAAkBE,EAKvB/6H,KAAKu6H,aAAa,CAAEjyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,IAJxCl6H,KAAKy6H,oBAAoB,CAAEnyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU7mH,KAAK4xB,GAAK,IAL3DjlC,KAAKy6H,oBAAoB,CAAEnyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,UAAW7mH,KAAK4xB,GAAK,IAL5DjlC,KAAK26H,qBAAqB,CAAEryH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU7mH,KAAK4xB,GAAK,KAiBhE,YAAA40F,mBAAA,SAAmB,G,IAAEvxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAE0pH,EAAW,cACpCmB,EAAenB,GAAeA,GAAa,EAAG,GAAK,EACnDoB,EAAgBpB,GAAeA,EAAY,EAAG,GAAK,EACnDqB,EAAcrB,GAAeA,EAAY,GAAI,GAAK,EAClDsB,EAAiBtB,GAAeA,EAAY,EAAG,GAAK,EAInC,IAFAmB,EAAeC,EAAgBC,EAAcC,EAO/DH,GAAiBE,EAKjBD,GAAkBE,EAKvB/6H,KAAKu6H,aAAa,CAAEjyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU,IAJxCl6H,KAAK06H,yBAAyB,CAAEpyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU7mH,KAAK4xB,GAAK,IALhEjlC,KAAK06H,yBAAyB,CAAEpyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,UAAW7mH,KAAK4xB,GAAK,IALjEjlC,KAAK26H,qBAAqB,CAAEryH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAU7mH,KAAK4xB,GAAK,KAgBlE,EAvTA,G,iNEAA,WAKE,WAAY,G,IAAEo0F,EAAG,MAAE55H,EAAI,OACrBO,KAAKs5H,KAAOD,EACZr5H,KAAKu5H,MAAQ95H,EA2HjB,OAxHE,YAAA+5H,KAAA,SAAKlxH,EAAWY,EAAW6G,EAAcmqH,GACvC,IACIR,EAEJ,OAHa15H,KAAKu5H,OAIhB,ICdI,SDeFG,EAAe15H,KAAKg6H,YACpB,MACF,IChBU,gBDiBRN,EAAe15H,KAAK+5H,kBACpB,MAEF,QACEL,EAAe15H,KAAK25H,SAGxBD,EAAa95H,KAAKI,KAAM,CAAEsI,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,KAGhD,YAAAD,cAAA,SAAc,G,MAAE3xH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAE,IAAAmqH,SAAA,WAAW,IAAC,EAChCC,EAAK7xH,EAAIyH,EAAO,EAChBqqH,EAAKlxH,EAAI6G,EAAO,KAFsB,UAK/B,QAAb,EAAA/P,KAAKq6H,oBAAQ,KAAEt6D,aAAa,YAAa,UAAW,IAAMm6D,EAAY7mH,KAAK4xB,GAAE,IAAIk1F,EAAE,IAAIC,EAAE,MAG3F,YAAAE,UAAA,SAAU7zH,GAAV,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EACrBw0H,EAAUlrH,EAAO,EAEvB/P,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aAAa,YAAa,WACxC,EAAKs6D,SAASt6D,aACZ,IACA,MAAKz3D,EAAIyH,EAAO,GAAC,IAAI7G,EACnB,KAAK6G,EAAO,EAAC,IAAIA,EAAO,EAD1B,oBAGSkrH,EACP,MAAKlrH,EAAO,EAAIkrH,GAAO,KAAIlrH,EAAO,EAAIkrH,GAJxC,uBAWR,YAAAV,aAAA,SAAa9zH,GAAb,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EACrBw0H,EAAUlrH,EAAO,EAEvB/P,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aAAa,YAAa,WACxC,EAAKs6D,SAASt6D,aACZ,IACA,KAAKz3D,EAAC,IAAIY,EACR,KAAK6G,EACL,KAAKA,EACL,MAAMA,EAHR,OAKOzH,EAAI2yH,GAAO,KAAI/xH,EAAI+xH,GACxB,MAAKlrH,EAAO,EAAIkrH,GAChB,MAAKlrH,EAAO,EAAIkrH,GAChB,MAAa,EAAIA,EAAXlrH,GACN,UAMV,YAAAmrH,mBAAA,SAAmBz0H,GAAnB,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EACrBw0H,EAAUlrH,EAAO,EAEvB/P,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aAAa,YAAa,WACxC,EAAKs6D,SAASt6D,aACZ,IACA,KAAKz3D,EAAC,KAAIY,EAAI,IAAM+xH,GAClB,KAAK,EAAIA,EACT,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAwB,IAAVA,EAAa,IAAc,IAAVA,EAClE,KAAK,EAAIA,EACT,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAwB,IAAVA,EAAa,IAAe,KAAVA,EACnE,MAAM,EAAIA,EACV,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAyB,KAAVA,EAAa,IAAe,KAAVA,EACpE,MAAM,EAAIA,EACV,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAyB,KAAVA,EAAa,IAAc,IAAVA,EACnE,MAAK3yH,EAAI,IAAM2yH,GAAO,KAAI/xH,EAAI+xH,GAC9B,KAAK,EAAIA,EACT,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAwB,IAAVA,EAAa,IAAc,IAAVA,EAClE,KAAK,EAAIA,EACT,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAyB,KAAVA,EAAa,IAAc,IAAVA,EACnE,MAAM,EAAIA,EACV,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAyB,KAAVA,EAAa,IAAe,KAAVA,EACpE,MAAM,EAAIA,EACV,KAAK,IAAMA,EAAO,IAAI,IAAMA,EAAO,cAAwB,IAAVA,EAAa,IAAe,KAAVA,QAM7E,YAAAtB,SAAA,SAAS,G,IAAErxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAEmqH,EAAQ,WAC7Bl6H,KAAKs6H,UAAU,CAAEhyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,KAGvC,YAAAF,YAAA,SAAY,G,IAAE1xH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAEmqH,EAAQ,WAChCl6H,KAAKu6H,aAAa,CAAEjyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,KAG1C,YAAAH,kBAAA,SAAkB,G,IAAEzxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAEmqH,EAAQ,WACtCl6H,KAAKk7H,mBAAmB,CAAE5yH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,KAElD,EAlIA,G,iNEAA,WAKE,WAAY,G,IAAEb,EAAG,MAAE55H,EAAI,OACrBO,KAAKs5H,KAAOD,EACZr5H,KAAKu5H,MAAQ95H,EA+DjB,OA5DE,YAAA+5H,KAAA,SAAKlxH,EAAWY,EAAW6G,EAAcmqH,ICTjC,WDUOl6H,KAAKu5H,MAKCv5H,KAAKg6H,YAILh6H,KAAK25H,UAGX/5H,KAAKI,KAAM,CAAEsI,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,KAGhD,YAAAD,cAAA,SAAc,G,MAAE3xH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAE,IAAAmqH,SAAA,WAAW,IAAC,EAChCC,EAAK7xH,EAAIyH,EAAO,EAChBqqH,EAAKlxH,EAAI6G,EAAO,KAFsB,UAK/B,QAAb,EAAA/P,KAAKq6H,oBAAQ,KAAEt6D,aAAa,YAAa,UAAW,IAAMm6D,EAAY7mH,KAAK4xB,GAAE,IAAIk1F,EAAE,IAAIC,EAAE,MAG3F,YAAAE,UAAA,SAAU7zH,GAAV,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,UACvE,EAAKymB,SAASt6D,aAAa,KAAMvuD,OAAOlJ,EAAIyH,EAAO,IACnD,EAAKsqH,SAASt6D,aAAa,KAAMvuD,OAAOtI,EAAI6G,EAAO,IACnD,EAAKsqH,SAASt6D,aAAa,IAAKvuD,OAAOzB,EAAO,SAKpD,YAAAwqH,aAAA,SAAa9zH,GAAb,WACUsJ,EAAetJ,EAAI,KAAb6B,EAAS7B,EAAI,EAAVyC,EAAMzC,EAAI,EAE3BzG,KAAKi6H,cAAc,OACdxzH,GAAI,CACP+yH,KAAM,WACJ,EAAKa,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,QACvE,EAAKymB,SAASt6D,aAAa,IAAKvuD,OAAOlJ,IACvC,EAAK+xH,SAASt6D,aAAa,IAAKvuD,OAAOtI,IACvC,EAAKmxH,SAASt6D,aAAa,QAASvuD,OAAOzB,IAC3C,EAAKsqH,SAASt6D,aAAa,SAAUvuD,OAAOzB,SAKlD,YAAA4pH,SAAA,SAAS,G,IAAErxH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAEmqH,EAAQ,WAC7Bl6H,KAAKs6H,UAAU,CAAEhyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,KAGvC,YAAAF,YAAA,SAAY,G,IAAE1xH,EAAC,IAAEY,EAAC,IAAE6G,EAAI,OAAEmqH,EAAQ,WAChCl6H,KAAKu6H,aAAa,CAAEjyH,EAAC,EAAEY,EAAC,EAAE6G,KAAI,EAAEmqH,SAAQ,KAE5C,EAtEA,GEDA,EAEU,S,60CCOJiB,EAAa,CACjB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAGfC,EAAU,CACd,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,I,EAGrB,WAYE,WAAY9qF,GACVtwC,KAAKq6H,SAAWn8D,SAAS01C,gBAAgB,6BAA8B,OACvE5zG,KAAKq6H,SAASt6D,aAAa,QAASvuD,OAAO8+B,EAAQpa,QACnDl2B,KAAKq6H,SAASt6D,aAAa,SAAUvuD,OAAO8+B,EAAQna,SACpDn2B,KAAKq7H,MAAQn9D,SAAS01C,gBAAgB,6BAA8B,QACpE5zG,KAAKq6H,SAASr6D,YAAYhgE,KAAKq7H,OAE/Br7H,KAAKmqH,SAAW75E,EA8fpB,OA3fE,sBAAI,oBAAK,C,IAAT,WACE,OAAOtwC,KAAKmqH,SAASj0F,O,gCAGvB,sBAAI,qBAAM,C,IAAV,WACE,OAAOl2B,KAAKmqH,SAASh0F,Q,gCAGvB,YAAAmlG,WAAA,WACE,OAAOt7H,KAAKq6H,UAGR,YAAAkB,OAAN,SAAaC,G,gIACLrjG,EAAQqjG,EAAG/I,iBACXgJ,EAAUpoH,KAAKC,IAAItT,KAAKmqH,SAASj0F,MAAOl2B,KAAKmqH,SAASh0F,QAAiC,EAAvBn2B,KAAKmqH,SAAS+C,OAC9EwO,EAAa17H,KAAKmqH,SAASwR,QAAUC,EAAoBH,EAAUpoH,KAAK24B,KAAK,GAAKyvF,EAClFR,EAAU5nH,KAAKoF,MAAMijH,EAAavjG,GACpC0jG,EAAgB,CAClBC,UAAW,EACXC,UAAW,EACX7lG,MAAO,EACPC,OAAQ,GAGVn2B,KAAKg8H,IAAMR,EAEPx7H,KAAKmqH,SAAS2C,MAEhB,GAAM9sH,KAAKi8H,aAFTj8H,M,OAGF,GADA,UACKA,KAAKk8H,OAAQ,UACZ,EAA8Bl8H,KAAKmqH,SAAjC6C,EAAY,eAAEmP,EAAS,YACzBC,EAAapP,EAAaqP,UAAYC,EAAwBH,EAAUxN,sBACxE4N,EAAgBlpH,KAAKoF,MAAM2jH,EAAajkG,EAAQA,GAEtD0jG,ECxES,SAA4B,G,IACzCW,EAAc,iBACdC,EAAa,gBACbF,EAAa,gBACbG,EAAiB,oBACjBzB,EAAO,UAED0B,EAAW,CAAEr0H,EAAG,EAAGY,EAAG,GACtBmzH,EAAY,CAAE/zH,EAAG,EAAGY,EAAG,GAE7B,GAAIszH,GAAkB,GAAKC,GAAiB,GAAKF,GAAiB,GAAKtB,GAAW,EAChF,MAAO,CACL9kG,OAAQ,EACRD,MAAO,EACP6lG,UAAW,EACXD,UAAW,GAIf,IAAMr+G,EAAI++G,EAAiBC,EA6B3B,OA1BAE,EAASr0H,EAAI+K,KAAKoF,MAAMpF,KAAK24B,KAAKuwF,EAAgB9+G,IAE9Ck/G,EAASr0H,GAAK,IAAGq0H,EAASr0H,EAAI,GAE9Bo0H,GAAqBA,EAAoBC,EAASr0H,IAAGq0H,EAASr0H,EAAIo0H,GAElEC,EAASr0H,EAAI,GAAM,GAAGq0H,EAASr0H,IACnC+zH,EAAU/zH,EAAIq0H,EAASr0H,EAAI2yH,EAI3B0B,EAASzzH,EAAI,EAAI,EAAImK,KAAK+pB,MAAMu/F,EAASr0H,EAAImV,EAAI,GAAK,GACtD4+G,EAAUnzH,EAAImK,KAAK2yB,MAAMq2F,EAAU/zH,EAAImV,IAEnCk/G,EAASzzH,EAAIyzH,EAASr0H,EAAIi0H,GAAkBG,GAAqBA,EAAoBC,EAASzzH,KAC5FwzH,GAAqBA,EAAoBC,EAASzzH,GACpDyzH,EAASzzH,EAAIwzH,EACTC,EAASzzH,EAAI,GAAM,GAAGyzH,EAASr0H,KAEnCq0H,EAASzzH,GAAK,EAEhBmzH,EAAUnzH,EAAIyzH,EAASzzH,EAAI+xH,EAC3B0B,EAASr0H,EAAI,EAAI,EAAI+K,KAAK+pB,MAAMu/F,EAASzzH,EAAIuU,EAAI,GAAK,GACtD4+G,EAAU/zH,EAAI+K,KAAK2yB,MAAMq2F,EAAUnzH,EAAIuU,IAGlC,CACL0Y,OAAQkmG,EAAUnzH,EAClBgtB,MAAOmmG,EAAU/zH,EACjByzH,UAAWY,EAASzzH,EACpB4yH,UAAWa,EAASr0H,GApDT,CDwE0B,CACjCm0H,cAAez8H,KAAKk8H,OAAOhmG,MAC3BsmG,eAAgBx8H,KAAKk8H,OAAO/lG,OAC5BomG,cAAa,EACbG,kBAAmBvkG,EAAQ,GAC3B8iG,QAAO,I,wBAIXj7H,KAAK48H,iBACL58H,KAAK68H,UAAS,SAACn6H,EAAWgG,G,gBACxB,QAAI,EAAKyhH,SAAS6C,aAAa8P,oBAE3Bp6H,IAAMy1B,EAAQ0jG,EAAcC,WAAa,GACzCp5H,GAAKy1B,EAAQ0jG,EAAcC,WAAa,GACxCpzH,IAAMyvB,EAAQ0jG,EAAcE,WAAa,GACzCrzH,GAAKyvB,EAAQ0jG,EAAcE,WAAa,IAM3B,QAAb,IAAWr5H,cAAE,WAAGgG,MAA+B,QAA9B,EAAKyyH,EAAWz4H,EAAIy1B,EAAQ,cAAE,WAAGzvB,MAAmB,QAAjB,EAAIyyH,EAAWz4H,cAAE,WAAGgG,EAAIyvB,EAAQ,MAI1E,QAAV,IAAQz1B,cAAE,WAAGgG,MAA4B,QAA3B,EAAK0yH,EAAQ14H,EAAIy1B,EAAQ,cAAE,WAAGzvB,MAAgB,QAAd,EAAI0yH,EAAQ14H,cAAE,WAAGgG,EAAIyvB,EAAQ,QAMjFn4B,KAAK+8H,cAED/8H,KAAKmqH,SAAS2C,MAChB,GAAM9sH,KAAKg9H,UAAU,CAAE9mG,MAAO2lG,EAAc3lG,MAAOC,OAAQ0lG,EAAc1lG,OAAQgC,MAAK,EAAE8iG,QAAO,KAD7Fj7H,M,OACF,S,mCAIJ,YAAA48H,eAAA,W,UACQrtD,EAAUvvE,KAAKq6H,SACf/pF,EAAUtwC,KAAKmqH,SAErB,GAAI56C,EAAS,CACX,IAAM0tD,EAA2C,QAA5B,EAAG3sF,EAAQ4sF,6BAAiB,WAAEC,SAC7ClnG,EAAiC,QAA5B,EAAGqa,EAAQ4sF,6BAAiB,WAAEjnG,MAezC,IAbIgnG,GAAmBhnG,IACrBj2B,KAAKo9H,aAAa,CAChB9sF,QAAS2sF,EACThnG,MAAOA,EACPonG,mBAAoB,EACpB/0H,EAAG,EACHY,EAAG,EACHitB,OAAQma,EAAQna,OAChBD,MAAOoa,EAAQpa,MACflzB,KAAM,qBAImB,QAA7B,EAAIstC,EAAQ4sF,6BAAiB,WAAEl3F,MAAO,CACpC,IAAMj2B,EAAOsD,KAAKC,IAAIg9B,EAAQpa,MAAOoa,EAAQna,QACvC,EAAU+nC,SAAS01C,gBAAgB,6BAA8B,QACvE5zG,KAAKs9H,oBAAsBp/D,SAAS01C,gBAAgB,6BAA8B,YAClF5zG,KAAKs9H,oBAAoBv9D,aAAa,KAAM,8BAC5C//D,KAAKq7H,MAAMr7D,YAAYhgE,KAAKs9H,qBAE5B,EAAQv9D,aAAa,IAAKvuD,QAAQ8+B,EAAQpa,MAAQnmB,GAAQ,IAC1D,EAAQgwD,aAAa,IAAKvuD,QAAQ8+B,EAAQna,OAASpmB,GAAQ,IAC3D,EAAQgwD,aAAa,QAASvuD,OAAOzB,IACrC,EAAQgwD,aAAa,SAAUvuD,OAAOzB,IACtC,EAAQgwD,aAAa,KAAMvuD,OAAQzB,EAAO,EAAKugC,EAAQ4sF,kBAAkBl3F,QAEzEhmC,KAAKs9H,oBAAoBt9D,YAAY,MAK3C,YAAA68D,SAAA,SAAS71H,GAAT,I,IAAA,OACE,IAAKhH,KAAKg8H,IACR,KAAM,yBAGR,IAAM1rF,EAAUtwC,KAAKmqH,SACfhyF,EAAQn4B,KAAKg8H,IAAIvJ,iBAEvB,GAAIt6F,EAAQmY,EAAQpa,OAASiC,EAAQmY,EAAQna,OAC3C,KAAM,2BAGR,IAAMslG,EAAUpoH,KAAKC,IAAIg9B,EAAQpa,MAAOoa,EAAQna,QAA2B,EAAjBma,EAAQ48E,OAC5DwO,EAAaprF,EAAQqrF,QAAUC,EAAoBH,EAAUpoH,KAAK24B,KAAK,GAAKyvF,EAC5ER,EAAU5nH,KAAKoF,MAAMijH,EAAavjG,GAClColG,EAAalqH,KAAKoF,OAAO63B,EAAQpa,MAAQiC,EAAQ8iG,GAAW,GAC5DuC,EAAanqH,KAAKoF,OAAO63B,EAAQna,OAASgC,EAAQ8iG,GAAW,GAC7DwC,EAAM,IAAI,EAAM,CAAEpE,IAAKr5H,KAAKq6H,SAAU56H,KAAM6wC,EAAQy8E,YAAYttH,OAEtEO,KAAK09H,cAAgBx/D,SAAS01C,gBAAgB,6BAA8B,YAC5E5zG,KAAK09H,cAAc39D,aAAa,KAAM,uBACtC//D,KAAKq7H,MAAMr7D,YAAYhgE,KAAK09H,eAE5B19H,KAAKo9H,aAAa,CAChB9sF,QAA4B,QAArB,EAAEA,EAAQy8E,uBAAW,WAAEoQ,SAC9BlnG,MAAOqa,EAAQy8E,YAAY92F,MAC3BonG,mBAAoB,EACpB/0H,EAAG,EACHY,EAAG,EACHitB,OAAQma,EAAQna,OAChBD,MAAOoa,EAAQpa,MACflzB,KAAM,cAGR,I,eAASN,GACP,I,eAASgG,GACP,OAAI1B,IAAWA,EAAOtE,EAAGgG,G,YAGZ,QAAT,EAAC,EAAKszH,eAAG,WAAExJ,OAAO9vH,EAAGgG,KAIzB+0H,EAAIjE,KACF+D,EAAa76H,EAAIu4H,EACjBuC,EAAa90H,EAAIuyH,EACjBA,GACA,SAAC0C,EAAiBC,GAChB,QAAIl7H,EAAIi7H,EAAU,GAAKj1H,EAAIk1H,EAAU,GAAKl7H,EAAIi7H,GAAWxlG,GAASzvB,EAAIk1H,GAAWzlG,MAC7EnxB,IAAWA,EAAOtE,EAAIi7H,EAASj1H,EAAIk1H,OAC9B,EAAK5B,KAAO,EAAKA,IAAIxJ,OAAO9vH,EAAIi7H,EAASj1H,EAAIk1H,WAItDH,EAAIpD,UAAY,EAAKqD,eACvB,EAAKA,cAAc19D,YAAYy9D,EAAIpD,Y,YApB9B3xH,EAAI,EAAGA,EAAIyvB,EAAOzvB,I,EAAlBA,I,OADFhG,EAAI,EAAGA,EAAIy1B,EAAOz1B,I,EAAlBA,GA0BT,GAAI4tC,EAAQqrF,QAAUC,EAAmB,CACvC,IAAMiC,EAAiBxqH,KAAKoF,OAAOgjH,EAAUR,EAAU9iG,GAAS,GAC1D2lG,EAAY3lG,EAAyB,EAAjB0lG,EACpBE,EAAiBR,EAAaM,EAAiB5C,EAC/C+C,EAAiBR,EAAaK,EAAiB5C,EAC/C,EAAyB,GACzBgD,EAAS5qH,KAAKoF,MAAMqlH,EAAY,GAEtC,IAASp7H,EAAI,EAAGA,EAAIo7H,EAAWp7H,IAAK,CAClC,EAAWA,GAAK,GAChB,IAAK,IAAIgG,EAAI,EAAGA,EAAIo1H,EAAWp1H,IAE3BhG,GAAKm7H,EAAiB,GACtBn7H,GAAKo7H,EAAYD,GACjBn1H,GAAKm1H,EAAiB,GACtBn1H,GAAKo1H,EAAYD,GAMfxqH,KAAK24B,MAAMtpC,EAAIu7H,IAAWv7H,EAAIu7H,IAAWv1H,EAAIu1H,IAAWv1H,EAAIu1H,IAAWA,EAJzE,EAAWv7H,GAAGgG,GAAK,EAUrB,EAAWhG,GAAGgG,GAAK1I,KAAKg8H,IAAIxJ,OAC1B9pH,EAAI,EAAIm1H,EAAiB,EAAIn1H,EAAIA,GAAKyvB,EAAQzvB,EAAI,EAAIm1H,EAAiBn1H,EAAIm1H,EAC3En7H,EAAI,EAAIm7H,EAAiB,EAAIn7H,EAAIA,GAAKy1B,EAAQz1B,EAAI,EAAIm7H,EAAiBn7H,EAAIm7H,GAEzE,EACA,E,eAICn7H,GACP,I,eAASgG,GACP,IAAK,EAAWhG,GAAGgG,G,iBAEnB+0H,EAAIjE,KACFuE,EAAiBr7H,EAAIu4H,EACrB+C,EAAiBt1H,EAAIuyH,EACrBA,GACA,SAAC0C,EAAiBC,G,MAChB,SAAgC,QAAxB,EAAC,EAAWl7H,EAAIi7H,cAAQ,WAAGj1H,EAAIk1H,OAGvCH,EAAIpD,UAAY,EAAKqD,eACvB,EAAKA,cAAc19D,YAAYy9D,EAAIpD,WAZ9B3xH,EAAI,EAAGA,EAAIo1H,EAAWp1H,I,EAAtBA,I,OADX,IAAShG,EAAI,EAAGA,EAAIo7H,EAAWp7H,I,EAAtBA,KAoBb,YAAAq6H,YAAA,sBACE,IAAK/8H,KAAKg8H,IACR,KAAM,yBAGR,IAAMzsD,EAAUvvE,KAAKq6H,SACf/pF,EAAUtwC,KAAKmqH,SAErB,IAAK56C,EACH,KAAM,8BAGR,IAAMp3C,EAAQn4B,KAAKg8H,IAAIvJ,iBACjBgJ,EAAUpoH,KAAKC,IAAIg9B,EAAQpa,MAAOoa,EAAQna,QAA2B,EAAjBma,EAAQ48E,OAC5DwO,EAAaprF,EAAQqrF,QAAUC,EAAoBH,EAAUpoH,KAAK24B,KAAK,GAAKyvF,EAC5ER,EAAU5nH,KAAKoF,MAAMijH,EAAavjG,GAClC+lG,EAA8B,EAAVjD,EACpBkD,EAA2B,EAAVlD,EACjBsC,EAAalqH,KAAKoF,OAAO63B,EAAQpa,MAAQiC,EAAQ8iG,GAAW,GAC5DuC,EAAanqH,KAAKoF,OAAO63B,EAAQna,OAASgC,EAAQ8iG,GAAW,GAEnE,CACE,CAAC,EAAG,EAAG,GACP,CAAC,EAAG,EAAG5nH,KAAK4xB,GAAK,GACjB,CAAC,EAAG,GAAI5xB,KAAK4xB,GAAK,IAClB1kC,SAAQ,SAAC,G,4BAAC69H,EAAM,KAAE9O,EAAG,KAAE4K,EAAQ,KACzB5xH,EAAIi1H,EAAaa,EAASnD,GAAW9iG,EAAQ,GAC7CjvB,EAAIs0H,EAAalO,EAAM2L,GAAW9iG,EAAQ,GAC5CkmG,EAAwB32H,EAAKg2H,cAC7BY,EAAqB52H,EAAKg2H,cAoB9B,KAlBgC,QAA5B51H,EAAA,EAAQqlH,gCAAoB,WAAEgQ,YAAwC,QAAhC,EAAI7sF,EAAQ68E,gCAAoB,WAAEl3F,WAC1EooG,EAAwBngE,SAAS01C,gBAAgB,6BAA8B,aACzD7zC,aAAa,KAAM,kCAAkCq+D,EAAM,IAAI9O,GACrF5nH,EAAK2zH,MAAMr7D,YAAYq+D,GACvB32H,EAAK62H,uBAAyB72H,EAAK82H,oBAAsBF,EAAqBD,EAE9E32H,EAAK01H,aAAa,CAChB9sF,QAAqC,QAA9B,EAAEA,EAAQ68E,gCAAoB,WAAEgQ,SACvClnG,MAAmC,QAA9B,EAAEqa,EAAQ68E,gCAAoB,WAAEl3F,MACrConG,mBAAoBnD,EACpB5xH,EAAC,EACDY,EAAC,EACDitB,OAAQ+nG,EACRhoG,MAAOgoG,EACPl7H,KAAM,wBAAwBo7H,EAAM,IAAI9O,KAIZ,QAAhC,EAAIh/E,EAAQ68E,gCAAoB,WAAE1tH,KAAM,CACtC,IAAMg/H,EAAgB,IAAI,EAAe,CAAEpF,IAAK3xH,EAAK2yH,SAAU56H,KAAM6wC,EAAQ68E,qBAAqB1tH,OAElGg/H,EAAcjF,KAAKlxH,EAAGY,EAAGg1H,EAAmBhE,GAExCuE,EAAcpE,UAAYgE,GAC5BA,EAAsBr+D,YAAYy+D,EAAcpE,eAKlD,IAFA,IAAMoD,EAAM,IAAI,EAAM,CAAEpE,IAAK3xH,EAAK2yH,SAAU56H,KAAM6wC,EAAQy8E,YAAYttH,O,WAE7DiD,GACP,I,eAASgG,GACP,KAAkB,QAAd,EAACyyH,EAAWz4H,cAAE,WAAGgG,I,iBAIrB+0H,EAAIjE,KACFlxH,EAAI5F,EAAIu4H,EACR/xH,EAAIR,EAAIuyH,EACRA,GACA,SAAC0C,EAAiBC,GAAe,MAAc,SAAyB,QAAxB,EAACzC,EAAWz4H,EAAIi7H,cAAQ,WAAGj1H,EAAIk1H,OAG7EH,EAAIpD,UAAYgE,GAClBA,EAAsBr+D,YAAYy9D,EAAIpD,WAbjC3xH,EAAI,EAAGA,EAAIyyH,EAAWz4H,GAAGD,OAAQiG,I,EAAjCA,IADFhG,EAAI,EAAGA,EAAIy4H,EAAW14H,OAAQC,I,EAA9BA,GAsCX,KAlB6B,QAAzB,IAAQ0qH,6BAAiB,WAAE+P,YAAqC,QAA7B,EAAI7sF,EAAQ88E,6BAAiB,WAAEn3F,WACpEqoG,EAAqBpgE,SAAS01C,gBAAgB,6BAA8B,aACzD7zC,aAAa,KAAM,+BAA+Bq+D,EAAM,IAAI9O,GAC/E5nH,EAAK2zH,MAAMr7D,YAAYs+D,GACvB52H,EAAK82H,oBAAsBF,EAE3B52H,EAAK01H,aAAa,CAChB9sF,QAAkC,QAA3B,EAAEA,EAAQ88E,6BAAiB,WAAE+P,SACpClnG,MAAgC,QAA3B,EAAEqa,EAAQ88E,6BAAiB,WAAEn3F,MAClConG,mBAAoBnD,EACpB5xH,EAAGA,EAAc,EAAV2yH,EACP/xH,EAAGA,EAAc,EAAV+xH,EACP9kG,OAAQgoG,EACRjoG,MAAOioG,EACPn7H,KAAM,qBAAqBo7H,EAAM,IAAI9O,KAIZ,QAA7B,EAAIh/E,EAAQ88E,6BAAiB,WAAE3tH,KAAM,CACnC,IAAMi/H,EAAa,IAAI,EAAY,CAAErF,IAAK3xH,EAAK2yH,SAAU56H,KAAM6wC,EAAQ88E,kBAAkB3tH,OAEzFi/H,EAAWlF,KAAKlxH,EAAc,EAAV2yH,EAAa/xH,EAAc,EAAV+xH,EAAakD,EAAgBjE,GAE9DwE,EAAWrE,UAAYiE,GACzBA,EAAmBt+D,YAAY0+D,EAAWrE,cAG5C,CAAMoD,EAAM,IAAI,EAAM,CAAEpE,IAAK3xH,EAAK2yH,SAAU56H,KAAM6wC,EAAQy8E,YAAYttH,OAAtE,I,WAESiD,GACP,I,eAASgG,GACP,KAAe,QAAX,EAAC0yH,EAAQ14H,cAAE,WAAGgG,I,iBAIlB+0H,EAAIjE,KACFlxH,EAAI5F,EAAIu4H,EACR/xH,EAAIR,EAAIuyH,EACRA,GACA,SAAC0C,EAAiBC,GAAe,MAAc,SAAsB,QAArB,EAACxC,EAAQ14H,EAAIi7H,cAAQ,WAAGj1H,EAAIk1H,OAG1EH,EAAIpD,UAAYiE,GAClBA,EAAmBt+D,YAAYy9D,EAAIpD,WAb9B3xH,EAAI,EAAGA,EAAI0yH,EAAQ14H,GAAGD,OAAQiG,I,EAA9BA,IADX,IAAShG,EAAI,EAAGA,EAAI04H,EAAQ34H,OAAQC,I,EAA3BA,QAsBf,YAAAu5H,UAAA,sBACE,OAAO,IAAI34H,SAAQ,SAAC3C,EAASC,GAC3B,IAAM0vC,EAAU5oC,EAAKyiH,SACf2C,EAAQ,IAAI6R,MAElB,IAAKruF,EAAQw8E,MACX,OAAOlsH,EAAO,wBAGgC,iBAArC0vC,EAAQ08E,aAAaC,cAC9BH,EAAMG,YAAc38E,EAAQ08E,aAAaC,aAG3CvlH,EAAKw0H,OAASpP,EACdA,EAAMx3E,OAAS,WACb30C,KAEFmsH,EAAMzyG,IAAMi2B,EAAQw8E,UAIlB,YAAAkQ,UAAN,SAAgB,G,IACd9mG,EAAK,QACLC,EAAM,SACNgC,EAAK,QACL8iG,EAAO,U,gHAqBU,OAdX3qF,EAAUtwC,KAAKmqH,SACfoT,EAAalqH,KAAKoF,OAAO63B,EAAQpa,MAAQiC,EAAQ8iG,GAAW,GAC5DuC,EAAanqH,KAAKoF,OAAO63B,EAAQna,OAASgC,EAAQ8iG,GAAW,GAC7D2D,EAAKrB,EAAajtF,EAAQ08E,aAAaE,QAAU/0F,EAAQ8iG,EAAU/kG,GAAS,EAC5E2oG,EAAKrB,EAAaltF,EAAQ08E,aAAaE,QAAU/0F,EAAQ8iG,EAAU9kG,GAAU,EAC7E2oG,EAAK5oG,EAAsC,EAA9Boa,EAAQ08E,aAAaE,OAClCvwC,EAAKxmD,EAAuC,EAA9Bma,EAAQ08E,aAAaE,QAEnCJ,EAAQ5uD,SAAS01C,gBAAgB,6BAA8B,UAC/D7zC,aAAa,IAAKvuD,OAAOotH,IAC/B9R,EAAM/sD,aAAa,IAAKvuD,OAAOqtH,IAC/B/R,EAAM/sD,aAAa,QAAY++D,EAAE,MACjChS,EAAM/sD,aAAa,SAAa4c,EAAE,MAEjB,GAAM,EAAUrsC,EAAQw8E,OAAS,K,cAA5CiS,EAAW,SAEjBjS,EAAM/sD,aAAa,OAAQg/D,GAAY,IAEvC/+H,KAAKq6H,SAASr6D,YAAY8sD,G,YAG5B,YAAAsQ,aAAA,SAAa,G,IACX9sF,EAAO,UACPra,EAAK,QACLonG,EAAkB,qBAClB/0H,EAAC,IACDY,EAAC,IACDitB,EAAM,SACND,EAAK,QACLlzB,EAAI,OAWE+M,EAAOmmB,EAAQC,EAASD,EAAQC,EAChCm9F,EAAOp1D,SAAS01C,gBAAgB,6BAA8B,QAOpE,GANA0f,EAAKvzD,aAAa,IAAKvuD,OAAOlJ,IAC9BgrH,EAAKvzD,aAAa,IAAKvuD,OAAOtI,IAC9BoqH,EAAKvzD,aAAa,SAAUvuD,OAAO2kB,IACnCm9F,EAAKvzD,aAAa,QAASvuD,OAAO0kB,IAClCo9F,EAAKvzD,aAAa,YAAa,mBAAmB/8D,EAAI,MAElDstC,EAAS,CACX,IAAI,EACJ,GE3eI,WF2eAA,EAAQ7wC,MACV,EAAWy+D,SAAS01C,gBAAgB,6BAA8B,mBACzD7zC,aAAa,KAAM/8D,GAC5B,EAAS+8D,aAAa,gBAAiB,kBACvC,EAASA,aAAa,KAAMvuD,OAAOlJ,EAAI4tB,EAAQ,IAC/C,EAAS6pC,aAAa,KAAMvuD,OAAOtI,EAAIitB,EAAS,IAChD,EAAS4pC,aAAa,KAAMvuD,OAAOlJ,EAAI4tB,EAAQ,IAC/C,EAAS6pC,aAAa,KAAMvuD,OAAOtI,EAAIitB,EAAS,IAChD,EAAS4pC,aAAa,IAAKvuD,OAAOzB,EAAO,QACpC,CACL,IAAMmqH,IAAa5pF,EAAQ4pF,UAAY,GAAKmD,IAAuB,EAAIhqH,KAAK4xB,IACtE+5F,GAAoB9E,EAAW,EAAI7mH,KAAK4xB,KAAO,EAAI5xB,KAAK4xB,IAC1DvmB,EAAKpW,EAAI4tB,EAAQ,EACjB+oG,EAAK/1H,EAAIitB,EAAS,EAClBxX,EAAKrW,EAAI4tB,EAAQ,EACjBM,EAAKttB,EAAIitB,EAAS,EAGnB6oG,GAAoB,GAAKA,GAAoB,IAAO3rH,KAAK4xB,IACzD+5F,EAAmB,KAAO3rH,KAAK4xB,IAAM+5F,GAAoB,EAAI3rH,KAAK4xB,IAEnEvmB,GAAUwX,EAAQ,EAClB+oG,GAAW9oG,EAAS,EAAK9iB,KAAK6rH,IAAIhF,GAClCv7G,GAAUuX,EAAQ,EAClBM,GAAWL,EAAS,EAAK9iB,KAAK6rH,IAAIhF,IACzB8E,EAAmB,IAAO3rH,KAAK4xB,IAAM+5F,GAAoB,IAAO3rH,KAAK4xB,IAC9Eg6F,GAAU9oG,EAAS,EACnBzX,GAAUwX,EAAQ,EAAI7iB,KAAK6rH,IAAIhF,GAC/B1jG,GAAUL,EAAS,EACnBxX,GAAUuX,EAAQ,EAAI7iB,KAAK6rH,IAAIhF,IACtB8E,EAAmB,IAAO3rH,KAAK4xB,IAAM+5F,GAAoB,KAAO3rH,KAAK4xB,IAC9EvmB,GAAUwX,EAAQ,EAClB+oG,GAAW9oG,EAAS,EAAK9iB,KAAK6rH,IAAIhF,GAClCv7G,GAAUuX,EAAQ,EAClBM,GAAWL,EAAS,EAAK9iB,KAAK6rH,IAAIhF,IACzB8E,EAAmB,KAAO3rH,KAAK4xB,IAAM+5F,GAAoB,KAAO3rH,KAAK4xB,KAC9Eg6F,GAAU9oG,EAAS,EACnBzX,GAAUwX,EAAQ,EAAI7iB,KAAK6rH,IAAIhF,GAC/B1jG,GAAUL,EAAS,EACnBxX,GAAUuX,EAAQ,EAAI7iB,KAAK6rH,IAAIhF,KAGjC,EAAWh8D,SAAS01C,gBAAgB,6BAA8B,mBACzD7zC,aAAa,KAAM/8D,GAC5B,EAAS+8D,aAAa,gBAAiB,kBACvC,EAASA,aAAa,KAAMvuD,OAAO6B,KAAK2yB,MAAMtnB,KAC9C,EAASqhD,aAAa,KAAMvuD,OAAO6B,KAAK2yB,MAAMi5F,KAC9C,EAASl/D,aAAa,KAAMvuD,OAAO6B,KAAK2yB,MAAMrnB,KAC9C,EAASohD,aAAa,KAAMvuD,OAAO6B,KAAK2yB,MAAMxP,KAGhD8Z,EAAQ6uF,WAAW5+H,SAAQ,SAAC,G,IAAEwR,EAAM,SAAEkkB,EAAK,QACnCjyB,EAAOk6D,SAAS01C,gBAAgB,6BAA8B,QACpE5vG,EAAK+7D,aAAa,SAAa,IAAMhuD,EAAM,KAC3C/N,EAAK+7D,aAAa,aAAc9pC,GAChC,EAAS+pC,YAAYh8D,MAGvBsvH,EAAKvzD,aAAa,OAAQ,SAAS/8D,EAAI,MACvChD,KAAKq7H,MAAMr7D,YAAY,QACd/pC,GACTq9F,EAAKvzD,aAAa,OAAQ9pC,GAG5Bj2B,KAAKq6H,SAASr6D,YAAYszD,IAE9B,EAjhBA,GG7BA,EACU,SZGJ8L,EAAoB,GAEjB3/H,EAAO,EAAGA,GAAQ,GAAIA,IAC7B2/H,EAAQ3/H,GAAQA,EauDlB,MA5BwC,CACtCA,KAAM4/H,EACN1D,MLnCQ,SKoCRzlG,MAAO,IACPC,OAAQ,IACRvmB,KAAM,GACNs9G,OAAQ,EACRiP,UAAW,CACTzN,WbvBJ,EauBgB,GACZrmF,UAAMA,EACNsmF,qBCrCC,KDuCH3B,aAAc,CACZ8P,oBAAoBA,EACpBT,UAAW,GACXpP,iBAAaA,EACbC,OAAQ,GAEVH,YAAa,CACXttH,KAAM,SACNw2B,MAAO,QAETinG,kBAAmB,CACjBl3F,MAAO,EACP/P,MAAO,S,+MEzDX,SAASqpG,EAAiBnC,GACxB,IAAMoC,EAAc,KAAKpC,GAEzB,IAAKoC,EAAYJ,aAAeI,EAAYJ,WAAW18H,OACrD,KAAM,6CAcR,OAXI88H,EAAYrF,SACdqF,EAAYrF,SAAWloH,OAAOutH,EAAYrF,UAE1CqF,EAAYrF,SAAW,EAGzBqF,EAAYJ,WAAaI,EAAYJ,WAAW3pG,KAAI,SAACgqG,GAAiD,SAAC,KAClGA,GAAS,CACZztH,OAAQC,OAAOwtH,EAAUztH,aAGpBwtH,EAGM,SAASE,EAAgBnvF,GACtC,IAAMovF,EAAa,KAAKpvF,GAkDxB,OAhDAovF,EAAWxpG,MAAQlkB,OAAO0tH,EAAWxpG,OACrCwpG,EAAWvpG,OAASnkB,OAAO0tH,EAAWvpG,QACtCupG,EAAWxS,OAASl7G,OAAO0tH,EAAWxS,QACtCwS,EAAW1S,aAAe,OACrB0S,EAAW1S,cAAY,CAC1B8P,mBAAoB9hG,QAAQ0kG,EAAW1S,aAAa8P,oBACpDT,UAAWrqH,OAAO0tH,EAAW1S,aAAaqP,WAC1CnP,OAAQl7G,OAAO0tH,EAAW1S,aAAaE,UAGrCwS,EAAWxS,OAAS75G,KAAKC,IAAIosH,EAAWxpG,MAAOwpG,EAAWvpG,UAC5DupG,EAAWxS,OAAS75G,KAAKC,IAAIosH,EAAWxpG,MAAOwpG,EAAWvpG,SAG5DupG,EAAW3S,YAAc,KACpB2S,EAAW3S,aAEZ2S,EAAW3S,YAAYoQ,WACzBuC,EAAW3S,YAAYoQ,SAAWmC,EAAiBI,EAAW3S,YAAYoQ,WAGxEuC,EAAWvS,uBACbuS,EAAWvS,qBAAuB,KAC7BuS,EAAWvS,sBAEZuS,EAAWvS,qBAAqBgQ,WAClCuC,EAAWvS,qBAAqBgQ,SAAWmC,EAAiBI,EAAWvS,qBAAqBgQ,YAI5FuC,EAAWtS,oBACbsS,EAAWtS,kBAAoB,KAC1BsS,EAAWtS,mBAEZsS,EAAWtS,kBAAkB+P,WAC/BuC,EAAWtS,kBAAkB+P,SAAWmC,EAAiBI,EAAWtS,kBAAkB+P,YAItFuC,EAAWxC,oBACbwC,EAAWxC,kBAAoB,KAC1BwC,EAAWxC,mBAEZwC,EAAWxC,kBAAkBC,WAC/BuC,EAAWxC,kBAAkBC,SAAWmC,EAAiBI,EAAWxC,kBAAkBC,YAInFuC,E,m2CChDT,EChBA,WAUE,WAAYpvF,GACVtwC,KAAKmqH,SAAW75E,EAAUmvF,EAAgB/G,EAAU,EAAgBpoF,IAA+B,EACnGtwC,KAAKqhB,SAuLT,OApLS,EAAAs+G,gBAAP,SAAuBj2H,GACjBA,IACFA,EAAUu2D,UAAY,KAI1B,YAAA2/D,UAAA,sBACE,GAAK5/H,KAAKg8H,IAAV,CAGA,IAAM6D,EAAQ,IAAI,EAAM7/H,KAAKmqH,UAE7BnqH,KAAKs5H,KAAOuG,EAAMvE,aAClBt7H,KAAK8/H,mBAAqBD,EAAMtE,OAAOv7H,KAAKg8H,KAAKj7H,MAAK,W,MAC/C2G,EAAK4xH,OACK,QAAf,EAAA5xH,EAAKq4H,sBAAU,UAAfr4H,EAAkBm4H,EAAMvE,aAAc5zH,EAAKyiH,gBAI/C,YAAA6V,aAAA,e,EAAA,OACOhgI,KAAKg8H,MAIVh8H,KAAKigI,QAAU/hE,SAASv0D,cAAc,UACtC3J,KAAKigI,QAAQ/pG,MAAQl2B,KAAKmqH,SAASj0F,MACnCl2B,KAAKigI,QAAQ9pG,OAASn2B,KAAKmqH,SAASh0F,OAEpCn2B,KAAK4/H,YACL5/H,KAAKkgI,sBAA+C,QAA1B,EAAGlgI,KAAK8/H,8BAAkB,WAAE/+H,MAAK,WACzD,GAAK,EAAKu4H,KAAV,CAEA,IAAMD,EAAM,EAAKC,KACX6G,GAAM,IAAIC,eAAgBC,kBAAkBhH,GAE5CiH,EAAU,6BADFC,KAAKJ,GAEbrT,EAAQ,IAAI6R,MAElB,OAAO,IAAIr7H,SAAQ,SAAC3C,GAClBmsH,EAAMx3E,OAAS,W,QACgB,QAA7B,EAAY,QAAZ,IAAK2qF,mBAAO,WAAEO,WAAW,iBAAI,KAAGxD,UAAUlQ,EAAO,EAAG,GACpDnsH,KAGFmsH,EAAMzyG,IAAMimH,WAKZ,YAAAG,YAAN,SAAkBC,G,gBAAAA,a,mFAChB,IAAK1gI,KAAKg8H,IAAK,KAAM,mB,MAEW,QAA5B0E,EAAUrwH,cAAVqwH,OACG1gI,KAAKs5H,MAASt5H,KAAK8/H,oBACtB9/H,KAAK4/H,YAEP,GAAM5/H,KAAK8/H,qB,OACX,OADA,SACO,CAAP,EAAO9/H,KAAKs5H,M,OAKZ,OAHKt5H,KAAKigI,SAAYjgI,KAAKkgI,uBACzBlgI,KAAKggI,eAEP,GAAMhgI,KAAKkgI,uB,OACX,OADA,SACO,CAAP,EAAOlgI,KAAKigI,iBAIhB,YAAA5+G,OAAA,SAAOivB,GACLqwF,EAAchB,gBAAgB3/H,KAAK4gI,YACnC5gI,KAAKmqH,SAAW75E,EAAUmvF,EAAgB/G,EAAU14H,KAAKmqH,SAAU75E,IAA+BtwC,KAAKmqH,SAElGnqH,KAAKmqH,SAASv6G,OAInB5P,KAAKg8H,IAAM,IAAOh8H,KAAKmqH,SAASgS,UAAUzN,WAAY1uH,KAAKmqH,SAASgS,UAAUxN,sBAC9E3uH,KAAKg8H,IAAI7J,QAAQnyH,KAAKmqH,SAASv6G,KAAM5P,KAAKmqH,SAASgS,UAAU9zF,MCnGlD,SAAiBz4B,GAC9B,QAAQ,GACN,IAAK,WAAW5C,KAAK4C,GACnB,MCCK,UDAP,IAAK,wBAAwB5C,KAAK4C,GAChC,MCAU,eDCZ,QACE,MCDE,QDNO,CDmGkE5P,KAAKmqH,SAASv6G,OAC3F5P,KAAKg8H,IAAItJ,OAEL1yH,KAAKmqH,SAAS1qH,OAAS4/H,EACzBr/H,KAAKggI,eAELhgI,KAAK4/H,YAGP5/H,KAAK80C,OAAO90C,KAAK4gI,cAGnB,YAAA9rF,OAAA,SAAOprC,GACL,GAAKA,EAAL,CAIA,GAAqC,mBAA1BA,EAAUs2D,YACnB,KAAM,wCAGJhgE,KAAKmqH,SAAS1qH,OAAS4/H,EACrBr/H,KAAKigI,SACPv2H,EAAUs2D,YAAYhgE,KAAKigI,SAGzBjgI,KAAKs5H,MACP5vH,EAAUs2D,YAAYhgE,KAAKs5H,MAI/Bt5H,KAAK4gI,WAAal3H,IAGpB,YAAAm3H,eAAA,SAAeH,GACb,IAAKA,EACH,KAAM,wCAGR1gI,KAAK+/H,WAAaW,EAClB1gI,KAAKqhB,UAGP,YAAAy/G,gBAAA,WACE9gI,KAAK+/H,kBACL//H,KAAKqhB,UAGD,YAAA0/G,WAAN,SAAiBL,G,gBAAAA,a,6FACf,IAAK1gI,KAAKg8H,IAAK,KAAM,mBACL,SAAMh8H,KAAKygI,YAAYC,I,OAEvC,OAFMnxD,EAAU,UAMgB,QAA5BmxD,EAAUrwH,eACN2wH,EAAa,IAAIZ,cACjBh5H,EAAS45H,EAAWX,kBAAkB9wD,GAErC,CAAP,EAAO,IAAIj7B,KAAK,CAAC,4CAA8CltC,GAAS,CAAE3H,KAAM,oBAEzE,CAAP,EAAO,IAAI6D,SAAQ,SAAC3C,GAAY,OAAC4uE,EAA8B0xD,OAAOtgI,EAAS,SAAS+/H,EAAa,OAT9F,CAAP,EAAO,cAaL,YAAA1H,SAAN,SAAekI,G,wGACb,IAAKlhI,KAAKg8H,IAAK,KAAM,mBAmBL,OAlBZ0E,EAAY,MACZ19H,EAAO,KAGoB,iBAApBk+H,GACTR,EAAYQ,EACZ3lG,QAAQi1C,KACN,gIAEkC,iBAApB0wD,GAAoD,OAApBA,IAC5CA,EAAgBl+H,OAClBA,EAAOk+H,EAAgBl+H,MAErBk+H,EAAgBR,YAClBA,EAAYQ,EAAgBR,YAIhB,GAAM1gI,KAAKygI,YAAYC,I,OAEvC,OAFMnxD,EAAU1nE,EAAA,SAMgB,QAA5B64H,EAAUrwH,eACN2wH,EAAa,IAAIZ,cAGvBh5H,EAAS,6CAFLA,EAAS45H,EAAWX,kBAAkB9wD,IAI1CupD,EADY,oCAAsCznF,mBAAmBjqC,GACjDpE,EAAI,SAGxB81H,EADavpD,EAA8B2pD,UAAU,SAASwH,GAC1C19H,EAAI,IAAI09H,G,KAZ5B,YAeN,EAnMA,KGVIS,EAA2B,GAG/B,SAASj1E,EAAoBC,GAE5B,GAAGg1E,EAAyBh1E,GAC3B,OAAOg1E,EAAyBh1E,GAAU5vD,QAG3C,IAAImK,EAASy6H,EAAyBh1E,GAAY,CAGjD5vD,QAAS,IAOV,OAHA6kI,EAAoBj1E,GAAUzlD,EAAQA,EAAOnK,QAAS2vD,GAG/CxlD,EAAOnK,QCjBf,OCFA2vD,EAAoBnkD,EAAKrB,YACxB,IAAI2lD,EAAS3lD,GAAUA,EAAOmwB,WAC7B,kBAAMnwB,EAAgB,SACtB,kBAAMA,GAEP,OADAwlD,EAAoBlkD,EAAEqkD,EAAQ,CAAExkD,EAAGwkD,IAC5BA,GCLRH,EAAoBlkD,EAAI,SAACzL,EAAS8kI,GACjC,IAAI,IAAI9jI,KAAO8jI,EACXn1E,EAAoBpkD,EAAEu5H,EAAY9jI,KAAS2uD,EAAoBpkD,EAAEvL,EAASgB,IAC5Ed,OAAOgB,eAAelB,EAASgB,EAAK,CAAEG,YAAYA,EAAMg4B,IAAK2rG,EAAW9jI,MCJ3E2uD,EAAoBpkD,EAAI,SAACxK,EAAKs4E,GAAN,OAAen5E,OAAOC,UAAUE,eAAegD,KAAKtC,EAAKs4E,IHG1E1pB,EAAoB,K,4BIH1B,MAA+Cp1B,EAA1B,qBAAdlD,YAAwCkD,EAW7C/G,QAAU,GATL1yB,aACI,OAQM,SAAS0yB,GAK3B,aAIA,IAgBIuxG,EAhBAC,EAAQ,6BAERC,EAAe,GAEfC,GAAuB,OAEvBC,GAAgB,EAQhBC,GAAkB,EAClBC,EAAW,GAEXC,EAAW,iCAAiC70H,KAAK4mB,UAAUua,WAG3D2zF,EAAQzuH,KAAKsE,IACboqH,EAAS1uH,KAAK24B,KACdg2F,EAAU3uH,KAAKoF,MAEfwpH,GADQ5uH,KAAKoC,IACLpC,KAAKC,KAEb4uH,EAAS,GAUb,SAASC,IAAqB,MAAO,IATpC,WACC,IACIz/H,EADA0/H,EAAgB,CAAC,MAAO,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,MAAO,OAAQ,MAAO,QAAS,SAAU,QAAS,OAAQ,MAAO,QAAS,OAAQ,QAAS,MAAO,MAAO,MAAO,SAAU,QAAS,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,QAAS,IAAK,OAAQ,MAAO,SAAU,QAAS,KAAM,UAAW,SAExW5yH,EAAM4yH,EAAc3/H,OACxB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBw/H,EAAOE,EAAc1/H,IAAM2Q,KAAK+uH,EAAc1/H,KALjD,GAWDw/H,EAAOzxF,OAASp9B,KAAKo9B,OACrByxF,EAAOviG,IAAM,SAAUp4B,GAErB,GAAe,kBADKA,GACOA,EAAI9E,OAAQ,CACrC,IACIC,EADA2/H,EAASC,EAAiB/6H,EAAI9E,QAE9B+M,EAAMjI,EAAI9E,OACd,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB2/H,EAAO3/H,GAAK2Q,KAAKssB,IAAIp4B,EAAI7E,IAE3B,OAAO2/H,EAET,OAAOhvH,KAAKssB,IAAIp4B,IAElB,IAAIg7H,EAAuB,IACvBC,EAAYnvH,KAAK4xB,GAAK,IACtBw9F,EAAc,MAElB,SAASC,EAAYC,GACfA,GACMtvH,KAAK2yB,MAuBjB,SAAS48F,EAAkBnjI,EAAMojI,EAAaC,EAAWC,GACvD/iI,KAAKP,KAAOA,EACZO,KAAK6iI,YAAcA,EACnB7iI,KAAK8iI,UAAYA,EACjB9iI,KAAKgjI,UAAYD,EAAkB,GAAK,EAAI,EAG9C,SAASE,EAAgBxjI,EAAMsjI,GAC7B/iI,KAAKP,KAAOA,EACZO,KAAKgjI,UAAYD,EAAkB,GAAK,EAAI,EAG9C,SAASG,EAAoBzjI,EAAM0jI,EAAYC,EAAaL,GAC1D/iI,KAAKP,KAAOA,EACZO,KAAKojI,YAAcA,EACnBpjI,KAAKmjI,WAAaA,EAClBnjI,KAAKgjI,UAAYD,EAAkB,GAAK,EAAI,EAG9C,SAASM,EAAoB5jI,EAAM6jI,EAAYC,GAC7CvjI,KAAKP,KAAOA,EACZO,KAAKsjI,WAAaA,EAClBtjI,KAAKujI,YAAcA,EAGrB,SAASC,EAAe/jI,EAAMsF,GAC5B/E,KAAKP,KAAOA,EACZO,KAAK+E,OAASA,EAGhB,SAAS0+H,EAAwBC,EAAab,GAC5C7iI,KAAKP,KAAO,mBACZO,KAAK0jI,YAAcA,EACnB1jI,KAAK6iI,YAAcA,EAGrB,SAASc,EAAmBD,GAC1B1jI,KAAKP,KAAO,cACZO,KAAK0jI,YAAcA,EAtDrBhB,GAAY,GA8DZ,IAAIkB,EAAmB,WACrB,IAAIC,EAAS,EACb,OAAO,WAEL,OAAOjC,EAAW,qBADlBiC,GAAU,IAHS,GAQvB,SAASC,EAASh7H,EAAGlB,EAAGe,GACtB,IAAIhB,EACA4f,EACAhf,EACA7F,EACAkG,EACAT,EACAK,EACAd,EAMJ,OAHAS,EAAIQ,GAAK,EAAIf,GACbY,EAAIG,GAAK,GAFTC,EAAQ,EAAJE,GADJpG,EAAI2Q,KAAKoF,MAAU,EAAJ3P,KAGElB,GACjBF,EAAIiB,GAAK,GAAK,EAAIC,GAAKhB,GACflF,EAAI,GACV,KAAK,EAAGiF,EAAIgB,EAAG4e,EAAI7f,EAAGa,EAAIJ,EAAG,MAC7B,KAAK,EAAGR,EAAIa,EAAG+e,EAAI5e,EAAGJ,EAAIJ,EAAG,MAC7B,KAAK,EAAGR,EAAIQ,EAAGof,EAAI5e,EAAGJ,EAAIb,EAAG,MAC7B,KAAK,EAAGC,EAAIQ,EAAGof,EAAI/e,EAAGD,EAAII,EAAG,MAC7B,KAAK,EAAGhB,EAAID,EAAG6f,EAAIpf,EAAGI,EAAII,EAAG,MAC7B,KAAK,EAAGhB,EAAIgB,EAAG4e,EAAIpf,EAAGI,EAAIC,EAG5B,MAAO,CAACb,EACN4f,EACAhf,GAGJ,SAASw7H,EAASp8H,EAAG4f,EAAGhf,GACtB,IAGIO,EAHA2M,EAAMpC,KAAKoC,IAAI9N,EAAG4f,EAAGhf,GACrB+K,EAAMD,KAAKC,IAAI3L,EAAG4f,EAAGhf,GACrBP,EAAIyN,EAAMnC,EAEV1L,EAAa,IAAR6N,EAAY,EAAIzN,EAAIyN,EACzB9M,EAAI8M,EAAM,IAEd,OAAQA,GACN,KAAKnC,EAAKxK,EAAI,EAAG,MACjB,KAAKnB,EAAGmB,EAAKye,EAAIhf,EAAKP,GAAKuf,EAAIhf,EAAI,EAAI,GAAIO,GAAK,EAAId,EAAG,MACvD,KAAKuf,EAAGze,EAAKP,EAAIZ,EAAS,EAAJK,EAAOc,GAAK,EAAId,EAAG,MACzC,KAAKO,EAAGO,EAAKnB,EAAI4f,EAAS,EAAJvf,EAAOc,GAAK,EAAId,EAIxC,MAAO,CACLc,EACAlB,EACAe,GAIJ,SAASq7H,EAAmB/tG,EAAOlkB,GACjC,IAAIkyH,EAAMF,EAAoB,IAAX9tG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IAOzD,OANAguG,EAAI,IAAMlyH,EACNkyH,EAAI,GAAK,EACXA,EAAI,GAAK,EACAA,EAAI,IAAM,IACnBA,EAAI,GAAK,GAEJH,EAASG,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAGtC,SAASC,EAAmBjuG,EAAOlkB,GACjC,IAAIkyH,EAAMF,EAAoB,IAAX9tG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IAOzD,OANAguG,EAAI,IAAMlyH,EACNkyH,EAAI,GAAK,EACXA,EAAI,GAAK,EACAA,EAAI,GAAK,IAClBA,EAAI,GAAK,GAEJH,EAASG,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAGtC,SAASE,EAAYluG,EAAOlkB,GAC1B,IAAIkyH,EAAMF,EAAoB,IAAX9tG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IAOzD,OANAguG,EAAI,IAAMlyH,EAAS,IACfkyH,EAAI,GAAK,EACXA,EAAI,IAAM,EACDA,EAAI,GAAK,IAClBA,EAAI,IAAM,GAELH,EAASG,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAGtC,IAAIG,EAAY,WACd,IACI1hI,EACA6vC,EAFA8xF,EAAW,GAGf,IAAK3hI,EAAI,EAAGA,EAAI,IAAKA,GAAK,EACxB6vC,EAAM7vC,EAAEsN,SAAS,IACjBq0H,EAAS3hI,GAAoB,IAAf6vC,EAAI9vC,OAAe,IAAM8vC,EAAMA,EAG/C,OAAO,SAAU5qC,EAAG4f,EAAGhf,GAUrB,OATIZ,EAAI,IACNA,EAAI,GAEF4f,EAAI,IACNA,EAAI,GAEFhf,EAAI,IACNA,EAAI,GAEC,IAAM87H,EAAS18H,GAAK08H,EAAS98G,GAAK88G,EAAS97H,IAnBtC,GAuBhB,SAAS+7H,KACTA,EAAU5nI,UAAY,CACpB6nI,aAAc,SAAUC,EAAW/9H,GACjC,GAAIzG,KAAKykI,KAAKD,GAEZ,IADA,IAAIE,EAAY1kI,KAAKykI,KAAKD,GACjB9hI,EAAI,EAAGA,EAAIgiI,EAAUjiI,OAAQC,GAAK,EACzCgiI,EAAUhiI,GAAG+D,IAInBszC,iBAAkB,SAAUyqF,EAAWntF,GAMrC,OALKr3C,KAAKykI,KAAKD,KACbxkI,KAAKykI,KAAKD,GAAa,IAEzBxkI,KAAKykI,KAAKD,GAAWtiI,KAAKm1C,GAEnB,WACLr3C,KAAKk6C,oBAAoBsqF,EAAWntF,IACpC3kB,KAAK1yB,OAETk6C,oBAAqB,SAAUsqF,EAAWntF,GACxC,GAAKA,GAEE,GAAIr3C,KAAKykI,KAAKD,GAAY,CAG/B,IAFA,IAAI9hI,EAAI,EACJ8M,EAAMxP,KAAKykI,KAAKD,GAAW/hI,OACxBC,EAAI8M,GACLxP,KAAKykI,KAAKD,GAAW9hI,KAAO20C,IAC9Br3C,KAAKykI,KAAKD,GAAW5pF,OAAOl4C,EAAG,GAC/BA,GAAK,EACL8M,GAAO,GAET9M,GAAK,EAEF1C,KAAKykI,KAAKD,GAAW/hI,SACxBzC,KAAKykI,KAAKD,GAAa,YAbzBxkI,KAAKykI,KAAKD,GAAa,OAqB7B,IAAIG,EAAoB,WACtB,SAASC,EAAmBnlI,EAAM+P,GAChC,IAEIhS,EAFAkF,EAAI,EACJ4K,EAAM,GAEV,OAAQ7N,GACN,IAAK,QACL,IAAK,SACHjC,EAAQ,EACR,MACF,QACEA,EAAQ,IAGZ,IAAKkF,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB4K,EAAIpL,KAAK1E,GAEX,OAAO8P,EAET,SAASu3H,EAAwBplI,EAAM+P,GACrC,MAAa,YAAT/P,EACK,IAAIykD,aAAa10C,GACX,UAAT/P,EACG,IAAIukD,WAAWx0C,GACT,WAAT/P,EACG,IAAIwkD,kBAAkBz0C,GAExBo1H,EAAmBnlI,EAAM+P,GAElC,MAAiC,oBAAtBy0C,mBAA4D,oBAAjBC,aAC7C2gF,EAEFD,EAhCe,GAmCxB,SAAStC,EAAiB9yH,GACxB,OAAOjC,MAAMpH,MAAM,KAAM,CAAE1D,OAAQ+M,IAMrC,SAASs1H,EAASrlI,GAEhB,OAAOy+D,SAAS01C,gBAAgB2tB,EAAO9hI,GAKzC,SAASslI,EAAUtlI,GAEjB,OAAOy+D,SAASv0D,cAAclK,GAGhC,SAASulI,KACTA,EAAyBtoI,UAAY,CACnCuoI,mBAAoB,SAAUrvD,IACkB,IAA1C51E,KAAKklI,kBAAkB/zH,QAAQykE,KACjC51E,KAAKklI,kBAAkBhjI,KAAK0zE,GAC5B51E,KAAK0J,UAAUu7H,mBAAmBjlI,MAClCA,KAAKmlI,aAAc,IAGvBC,yBAA0B,WAExB,IAAI1iI,EADJ1C,KAAKqlI,MAAO,EAEZ,IAAI71H,EAAMxP,KAAKklI,kBAAkBziI,OACjC,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKklI,kBAAkBxiI,GAAGilF,WACtB3nF,KAAKklI,kBAAkBxiI,GAAG2iI,OAC5BrlI,KAAKqlI,MAAO,IAIlBC,6BAA8B,SAAU57H,GACtC1J,KAAK0J,UAAYA,EACjB1J,KAAKklI,kBAAoB,GACzBllI,KAAKqlI,MAAO,EACZrlI,KAAKmlI,aAAc,IAMvB,IAAII,EAAgB,WAClB,IAAIC,EAAiB,CACnB,EAAG,cACH,EAAG,WACH,EAAG,SACH,EAAG,UACH,EAAG,SACH,EAAG,UACH,EAAG,cACH,EAAG,aACH,EAAG,aACH,EAAG,aACH,GAAI,aACJ,GAAI,YACJ,GAAI,MACJ,GAAI,aACJ,GAAI,QACJ,GAAI,cAGN,OAAO,SAAUn9F,GACf,OAAOm9F,EAAen9F,IAAS,IArBf,GA2BhBo9F,EAAc,CAChB,EAAG,OACH,EAAG,QACH,EAAG,UAGDC,EAAe,CACjB,EAAG,QACH,EAAG,QACH,EAAG,SAkCDC,EAAU,WACZ,IAAIC,EAAOvyH,KAAK2xB,IACZ6gG,EAAOxyH,KAAK8xB,IACZ2gG,EAAOzyH,KAAK6rH,IACZ6G,EAAO1yH,KAAK2yB,MAEhB,SAAS3jC,IAiBP,OAhBArC,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,GAAK,EAChBhF,KAAKgF,MAAM,IAAM,EACjBhF,KAAKgF,MAAM,IAAM,EACjBhF,KAAKgF,MAAM,IAAM,EACjBhF,KAAKgF,MAAM,IAAM,EACjBhF,KAAKgF,MAAM,IAAM,EACjBhF,KAAKgF,MAAM,IAAM,EACVhF,KAGT,SAASgmI,EAAOC,GACd,GAAc,IAAVA,EACF,OAAOjmI,KAET,IAAIkmI,EAAON,EAAKK,GACZE,EAAON,EAAKI,GAChB,OAAOjmI,KAAKuzC,GAAG2yF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAG3E,SAASE,EAAQH,GACf,GAAc,IAAVA,EACF,OAAOjmI,KAET,IAAIkmI,EAAON,EAAKK,GACZE,EAAON,EAAKI,GAChB,OAAOjmI,KAAKuzC,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG2yF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,GAG3E,SAASG,EAAQJ,GACf,GAAc,IAAVA,EACF,OAAOjmI,KAET,IAAIkmI,EAAON,EAAKK,GACZE,EAAON,EAAKI,GAChB,OAAOjmI,KAAKuzC,GAAG2yF,EAAM,EAAGC,EAAM,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAM,EAAGD,EAAM,EAAG,EAAG,EAAG,EAAG,GAG3E,SAASI,EAAQL,GACf,GAAc,IAAVA,EACF,OAAOjmI,KAET,IAAIkmI,EAAON,EAAKK,GACZE,EAAON,EAAKI,GAChB,OAAOjmI,KAAKuzC,GAAG2yF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAG3E,SAASK,EAAMC,EAAIC,GACjB,OAAOzmI,KAAKuzC,GAAG,EAAGkzF,EAAID,EAAI,EAAG,EAAG,GAGlC,SAASE,EAAKC,EAAIC,GAChB,OAAO5mI,KAAKumI,MAAMT,EAAKa,GAAKb,EAAKc,IAGnC,SAASC,EAAaF,EAAIV,GACxB,IAAIC,EAAON,EAAKK,GACZE,EAAON,EAAKI,GAChB,OAAOjmI,KAAKuzC,GAAG2yF,EAAMC,EAAM,EAAG,GAAIA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACtE3yF,GAAG,EAAG,EAAG,EAAG,EAAGuyF,EAAKa,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACvDpzF,GAAG2yF,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAIlE,SAASY,EAAMN,EAAIC,EAAIM,GAIrB,OAHKA,GAAa,IAAPA,IACTA,EAAK,GAEI,IAAPP,GAAmB,IAAPC,GAAmB,IAAPM,EACnB/mI,KAEFA,KAAKuzC,GAAGizF,EAAI,EAAG,EAAG,EAAG,EAAGC,EAAI,EAAG,EAAG,EAAG,EAAGM,EAAI,EAAG,EAAG,EAAG,EAAG,GAGjE,SAASC,EAAan/H,EAAGU,EAAGL,EAAGF,EAAGR,EAAGoB,EAAG2e,EAAGze,EAAGpG,EAAGgG,EAAG+U,EAAGrV,EAAGC,EAAGN,EAAGD,EAAGK,GAiBjE,OAhBAnI,KAAKgF,MAAM,GAAK6C,EAChB7H,KAAKgF,MAAM,GAAKuD,EAChBvI,KAAKgF,MAAM,GAAKkD,EAChBlI,KAAKgF,MAAM,GAAKgD,EAChBhI,KAAKgF,MAAM,GAAKwC,EAChBxH,KAAKgF,MAAM,GAAK4D,EAChB5I,KAAKgF,MAAM,GAAKuiB,EAChBvnB,KAAKgF,MAAM,GAAK8D,EAChB9I,KAAKgF,MAAM,GAAKtC,EAChB1C,KAAKgF,MAAM,GAAK0D,EAChB1I,KAAKgF,MAAM,IAAMyY,EACjBzd,KAAKgF,MAAM,IAAMoD,EACjBpI,KAAKgF,MAAM,IAAMqD,EACjBrI,KAAKgF,MAAM,IAAM+C,EACjB/H,KAAKgF,MAAM,IAAM8C,EACjB9H,KAAKgF,MAAM,IAAMmD,EACVnI,KAGT,SAASinI,EAAUz8G,EAAIC,EAAIy8G,GAEzB,OADAA,EAAKA,GAAM,EACA,IAAP18G,GAAmB,IAAPC,GAAmB,IAAPy8G,EACnBlnI,KAAKuzC,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG/oB,EAAIC,EAAIy8G,EAAI,GAE1DlnI,KAGT,SAAS8kC,EAAUnD,EAAI9d,EAAIqjC,EAAI3hC,EAAI4hH,EAAIC,EAAI14D,EAAIxoD,EAAImhH,EAAIzpH,EAAI4pG,EAAI8f,EAAIC,EAAIC,EAAIC,EAAIv7D,GAC7E,IAAIw7D,EAAK1nI,KAAKgF,MAEd,GAAW,IAAP28B,GAAmB,IAAP9d,GAAmB,IAAPqjC,GAAmB,IAAP3hC,GAAmB,IAAP4hH,GAAmB,IAAPC,GAAmB,IAAP14D,GAAmB,IAAPxoD,GAAmB,IAAPmhH,GAAmB,IAAPzpH,GAAmB,IAAP4pG,GAAmB,IAAP8f,EAStI,OANAI,EAAG,IAAMA,EAAG,IAAM/lG,EAAK+lG,EAAG,IAAMH,EAChCG,EAAG,IAAMA,EAAG,IAAMN,EAAKM,EAAG,IAAMF,EAChCE,EAAG,IAAMA,EAAG,IAAMlgB,EAAKkgB,EAAG,IAAMD,EAChCC,EAAG,KAAOx7D,EAEVlsE,KAAK2nI,qBAAsB,EACpB3nI,KAGT,IAAI0hC,EAAKgmG,EAAG,GACR9jH,EAAK8jH,EAAG,GACRzgF,EAAKygF,EAAG,GACRpiH,EAAKoiH,EAAG,GACRE,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRj5D,EAAKi5D,EAAG,GACRzhH,EAAKyhH,EAAG,GACRI,EAAKJ,EAAG,GACR/pH,EAAK+pH,EAAG,GACRK,EAAKL,EAAG,IACRM,EAAKN,EAAG,IACRO,EAAKP,EAAG,IACRx4D,EAAKw4D,EAAG,IACRQ,EAAKR,EAAG,IACRz7D,EAAKy7D,EAAG,IA4BZ,OArBAA,EAAG,GAAKhmG,EAAKC,EAAK/d,EAAKujH,EAAKlgF,EAAKogF,EAAK/hH,EAAKiiH,EAC3CG,EAAG,GAAKhmG,EAAK7d,EAAKD,EAAKwjH,EAAKngF,EAAKrpC,EAAK0H,EAAKkiH,EAC3CE,EAAG,GAAKhmG,EAAKwlB,EAAKtjC,EAAK8qD,EAAKznB,EAAKugE,EAAKliG,EAAKmiH,EAC3CC,EAAG,GAAKhmG,EAAKnc,EAAK3B,EAAKsC,EAAK+gC,EAAKqgF,EAAKhiH,EAAK4mD,EAE3Cw7D,EAAG,GAAKE,EAAKjmG,EAAKkmG,EAAKV,EAAK14D,EAAK44D,EAAKphH,EAAKshH,EAC3CG,EAAG,GAAKE,EAAK/jH,EAAKgkH,EAAKT,EAAK34D,EAAK7wD,EAAKqI,EAAKuhH,EAC3CE,EAAG,GAAKE,EAAK1gF,EAAK2gF,EAAKn5D,EAAKD,EAAK+4C,EAAKvhG,EAAKwhH,EAC3CC,EAAG,GAAKE,EAAKriH,EAAKsiH,EAAK3hH,EAAKuoD,EAAK64D,EAAKrhH,EAAKimD,EAE3Cw7D,EAAG,GAAKI,EAAKnmG,EAAKhkB,EAAKwpH,EAAKY,EAAKV,EAAKW,EAAKT,EAC3CG,EAAG,GAAKI,EAAKjkH,EAAKlG,EAAKypH,EAAKW,EAAKnqH,EAAKoqH,EAAKR,EAC3CE,EAAG,IAAMI,EAAK5gF,EAAKvpC,EAAK+wD,EAAKq5D,EAAKvgB,EAAKwgB,EAAKP,EAC5CC,EAAG,IAAMI,EAAKviH,EAAK5H,EAAKuI,EAAK6hH,EAAKT,EAAKU,EAAK97D,EAE5Cw7D,EAAG,IAAMO,EAAKtmG,EAAKutC,EAAKi4D,EAAKe,EAAKb,EAAKp7D,EAAKs7D,EAC5CG,EAAG,IAAMO,EAAKpkH,EAAKqrD,EAAKk4D,EAAKc,EAAKtqH,EAAKquD,EAAKu7D,EAC5CE,EAAG,IAAMO,EAAK/gF,EAAKgoB,EAAKR,EAAKw5D,EAAK1gB,EAAKv7C,EAAKw7D,EAC5CC,EAAG,IAAMO,EAAK1iH,EAAK2pD,EAAKhpD,EAAKgiH,EAAKZ,EAAKr7D,EAAKC,EAE5ClsE,KAAK2nI,qBAAsB,EACpB3nI,KAGT,SAASmoI,IAKP,OAJKnoI,KAAK2nI,sBACR3nI,KAAKooI,YAAgC,IAAlBpoI,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA8B,IAAlBhF,KAAKgF,MAAM,IAA+B,IAAnBhF,KAAKgF,MAAM,KAAgC,IAAnBhF,KAAKgF,MAAM,KAAgC,IAAnBhF,KAAKgF,MAAM,KAAgC,IAAnBhF,KAAKgF,MAAM,KAAgC,IAAnBhF,KAAKgF,MAAM,KAAgC,IAAnBhF,KAAKgF,MAAM,KAC5XhF,KAAK2nI,qBAAsB,GAEtB3nI,KAAKooI,UAGd,SAAS7yH,EAAO8yH,GAEd,IADA,IAAI3lI,EAAI,EACDA,EAAI,IAAI,CACb,GAAI2lI,EAAKrjI,MAAMtC,KAAO1C,KAAKgF,MAAMtC,GAC/B,OAAO,EAETA,GAAK,EAEP,OAAO,EAGT,SAASo7B,EAAMuqG,GACb,IAAI3lI,EACJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvB2lI,EAAKrjI,MAAMtC,GAAK1C,KAAKgF,MAAMtC,GAE7B,OAAO2lI,EAGT,SAASC,EAAetjI,GACtB,IAAItC,EACJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvB1C,KAAKgF,MAAMtC,GAAKsC,EAAMtC,GAI1B,SAAS6lI,EAAajgI,EAAGY,EAAG+W,GAC1B,MAAO,CACL3X,EAAGA,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IAC1EkE,EAAGZ,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IAC1Eib,EAAG3X,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,IAAMhF,KAAKgF,MAAM,KAO/E,SAASwjI,EAASlgI,EAAGY,EAAG+W,GACtB,OAAO3X,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IAEhF,SAASyjI,EAASngI,EAAGY,EAAG+W,GACtB,OAAO3X,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IAEhF,SAAS0jI,EAASpgI,EAAGY,EAAG+W,GACtB,OAAO3X,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,IAAMhF,KAAKgF,MAAM,IAGjF,SAAS2jI,IACP,IAAIC,EAAc5oI,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,GACzE6C,EAAI7H,KAAKgF,MAAM,GAAK4jI,EACpBrgI,GAAKvI,KAAKgF,MAAM,GAAK4jI,EACrB1gI,GAAKlI,KAAKgF,MAAM,GAAK4jI,EACrB5gI,EAAIhI,KAAKgF,MAAM,GAAK4jI,EACpBphI,GAAKxH,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IAAMhF,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,KAAO4jI,EACxEhgI,IAAM5I,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IAAMhF,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,KAAO4jI,EACzEC,EAAgB,IAAIlD,EAOxB,OANAkD,EAAc7jI,MAAM,GAAK6C,EACzBghI,EAAc7jI,MAAM,GAAKuD,EACzBsgI,EAAc7jI,MAAM,GAAKkD,EACzB2gI,EAAc7jI,MAAM,GAAKgD,EACzB6gI,EAAc7jI,MAAM,IAAMwC,EAC1BqhI,EAAc7jI,MAAM,IAAM4D,EACnBigI,EAGT,SAASC,EAAaC,GAEpB,OADoB/oI,KAAK2oI,mBACJK,kBAAkBD,EAAG,GAAIA,EAAG,GAAIA,EAAG,IAAM,GAGhE,SAASE,EAAcC,GACrB,IAAIxmI,EACA8M,EAAM05H,EAAIzmI,OACV0mI,EAAS,GACb,IAAKzmI,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBymI,EAAOzmI,GAAKomI,EAAaI,EAAIxmI,IAE/B,OAAOymI,EAGT,SAASC,EAAoBC,EAAKC,EAAKC,GACrC,IAAIj8H,EAAMq3H,EAAiB,UAAW,GACtC,GAAI3kI,KAAKmoI,aACP76H,EAAI,GAAK+7H,EAAI,GACb/7H,EAAI,GAAK+7H,EAAI,GACb/7H,EAAI,GAAKg8H,EAAI,GACbh8H,EAAI,GAAKg8H,EAAI,GACbh8H,EAAI,GAAKi8H,EAAI,GACbj8H,EAAI,GAAKi8H,EAAI,OACR,CACL,IAAIC,EAAKxpI,KAAKgF,MAAM,GAChBinE,EAAKjsE,KAAKgF,MAAM,GAChBykI,EAAKzpI,KAAKgF,MAAM,GAChB0kI,EAAK1pI,KAAKgF,MAAM,GAChB2kI,EAAM3pI,KAAKgF,MAAM,IACjB4kI,EAAM5pI,KAAKgF,MAAM,IACrBsI,EAAI,GAAK+7H,EAAI,GAAKG,EAAKH,EAAI,GAAKI,EAAKE,EACrCr8H,EAAI,GAAK+7H,EAAI,GAAKp9D,EAAKo9D,EAAI,GAAKK,EAAKE,EACrCt8H,EAAI,GAAKg8H,EAAI,GAAKE,EAAKF,EAAI,GAAKG,EAAKE,EACrCr8H,EAAI,GAAKg8H,EAAI,GAAKr9D,EAAKq9D,EAAI,GAAKI,EAAKE,EACrCt8H,EAAI,GAAKi8H,EAAI,GAAKC,EAAKD,EAAI,GAAKE,EAAKE,EACrCr8H,EAAI,GAAKi8H,EAAI,GAAKt9D,EAAKs9D,EAAI,GAAKG,EAAKE,EAEvC,OAAOt8H,EAGT,SAAS07H,EAAkB1gI,EAAGY,EAAG+W,GAW/B,OATIjgB,KAAKmoI,aACD,CAAC7/H,EAAGY,EAAG+W,GAEP,CACJ3X,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IACvEsD,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,GAAKhF,KAAKgF,MAAM,IACvEsD,EAAItI,KAAKgF,MAAM,GAAKkE,EAAIlJ,KAAKgF,MAAM,GAAKib,EAAIjgB,KAAKgF,MAAM,IAAMhF,KAAKgF,MAAM,KAM9E,SAAS6kI,EAAwBvhI,EAAGY,GAClC,GAAIlJ,KAAKmoI,aACP,OAAO7/H,EAAI,IAAMY,EAEnB,IAAIw+H,EAAK1nI,KAAKgF,MACd,OAAOqO,KAAK2yB,MAAyC,KAAlC19B,EAAIo/H,EAAG,GAAKx+H,EAAIw+H,EAAG,GAAKA,EAAG,MAAc,IAAM,IAAMr0H,KAAK2yB,MAAyC,KAAlC19B,EAAIo/H,EAAG,GAAKx+H,EAAIw+H,EAAG,GAAKA,EAAG,MAAc,IAG/H,SAASoC,IASP,IAJA,IAAIpnI,EAAI,EACJsC,EAAQhF,KAAKgF,MACb+kI,EAAW,YACXphI,EAAI,IACDjG,EAAI,IACTqnI,GAAYhE,EAAK/gI,EAAMtC,GAAKiG,GAAKA,EACjCohI,GAAkB,KAANrnI,EAAW,IAAM,IAC7BA,GAAK,EAEP,OAAOqnI,EAGT,SAASC,EAAoBziI,GAC3B,IAAIoB,EAAI,IACR,OAAKpB,EAAM,MAAYA,EAAM,GAAOA,GAAO,MAAYA,EAAM,EACpDw+H,EAAKx+H,EAAMoB,GAAKA,EAElBpB,EAGT,SAAS0iI,IAKP,IAAIjlI,EAAQhF,KAAKgF,MAOjB,MAAO,UANEglI,EAAoBhlI,EAAM,IAMX,IALfglI,EAAoBhlI,EAAM,IAKA,IAJ1BglI,EAAoBhlI,EAAM,IAIW,IAHrCglI,EAAoBhlI,EAAM,IAGsB,IAFhDglI,EAAoBhlI,EAAM,KAEiC,IAD3DglI,EAAoBhlI,EAAM,KAC4C,IAGjF,OAAO,WACLhF,KAAKqC,MAAQA,EACbrC,KAAKgmI,OAASA,EACdhmI,KAAKomI,QAAUA,EACfpmI,KAAKqmI,QAAUA,EACfrmI,KAAKsmI,QAAUA,EACftmI,KAAK0mI,KAAOA,EACZ1mI,KAAK6mI,aAAeA,EACpB7mI,KAAKumI,MAAQA,EACbvmI,KAAK8mI,MAAQA,EACb9mI,KAAKgnI,aAAeA,EACpBhnI,KAAKinI,UAAYA,EACjBjnI,KAAK8kC,UAAYA,EACjB9kC,KAAKuoI,aAAeA,EACpBvoI,KAAKwoI,SAAWA,EAChBxoI,KAAKyoI,SAAWA,EAChBzoI,KAAK0oI,SAAWA,EAChB1oI,KAAKgpI,kBAAoBA,EACzBhpI,KAAKopI,oBAAsBA,EAC3BppI,KAAK6pI,wBAA0BA,EAC/B7pI,KAAK8pI,MAAQA,EACb9pI,KAAKiqI,QAAUA,EACfjqI,KAAK89B,MAAQA,EACb99B,KAAKsoI,eAAiBA,EACtBtoI,KAAKuV,OAASA,EACdvV,KAAKipI,cAAgBA,EACrBjpI,KAAK8oI,aAAeA,EACpB9oI,KAAK2oI,iBAAmBA,EACxB3oI,KAAKuzC,GAAKvzC,KAAK8kC,UACf9kC,KAAKmoI,WAAaA,EAClBnoI,KAAKooI,WAAY,EACjBpoI,KAAK2nI,qBAAsB,EAE3B3nI,KAAKgF,MAAQ2/H,EAAiB,UAAW,IACzC3kI,KAAKqC,SApYK,IAiad,SAAW6nI,EAAMC,GAIb,IASIC,EATA91H,EAAStU,KACTk2B,EAAQ,IACRm0G,EAAS,EACTC,EAAS,GACTC,EAAU,SACVC,EAAaL,EAAKxyH,IAAIue,EAAOm0G,GAC7BI,EAAeN,EAAKxyH,IAAI,EAAG2yH,GAC3Bt2D,EAA0B,EAAfy2D,EACXnjH,EAAO4O,EAAQ,EAOnB,SAASw0G,EAAWr7G,EAAMihB,EAAS+G,GAC/B,IAAI95C,EAAM,GAINotI,EAAYC,EAAOC,GAHvBv6F,GAAuB,IAAZA,EAAoB,CAAEw6F,SAAS,GAAUx6F,GAAW,IAInDw6F,QAAU,CAACz7G,EAAM07G,EAASb,IACpB,OAAT76G,EAAiB27G,IAAa37G,EAAM,GAAI9xB,GAG7C0tI,EAAO,IAAIC,EAAK3tI,GAIhB4tI,EAAO,WAIP,IAHA,IAAIpjI,EAAIkjI,EAAK1jH,EAAE8iH,GACXriI,EAAIwiI,EACJliI,EAAI,EACDP,EAAI0iI,GACP1iI,GAAKA,EAAIO,GAAK4tB,EACdluB,GAAKkuB,EACL5tB,EAAI2iI,EAAK1jH,EAAE,GAEf,KAAOxf,GAAKisE,GACRjsE,GAAK,EACLC,GAAK,EACLM,KAAO,EAEX,OAAQP,EAAIO,GAAKN,GAWrB,OARAmjI,EAAKC,MAAQ,WAAa,OAAmB,EAAZH,EAAK1jH,EAAE,IACxC4jH,EAAKE,MAAQ,WAAa,OAAOJ,EAAK1jH,EAAE,GAAK,YAC7C4jH,EAAKG,OAASH,EAGdP,EAAOG,EAASE,EAAKtmH,GAAIulH,IAGjB55F,EAAQi7F,MAAQl0F,GACxB,SAAS8zF,EAAM97G,EAAMm8G,EAAc9sI,GAU/B,OATIA,IAEIA,EAAMimB,GAAKjV,EAAKhR,EAAOusI,GAE3BE,EAAKzsI,MAAQ,WAAa,OAAOgR,EAAKu7H,EAAM,MAK5CO,GAAgBrB,EAAKI,GAAWY,EAAa97G,GAIrC87G,IAEZA,EACAR,EACA,WAAYr6F,EAAUA,EAAQh8B,OAAUtU,MAAQmqI,EAChD75F,EAAQ5xC,OAchB,SAASwsI,EAAK3tI,GACV,IAAImK,EAAG+jI,EAASluI,EAAIkF,OAChBu6D,EAAKh9D,KAAM0C,EAAI,EAAGgG,EAAIs0D,EAAGt6D,EAAIs6D,EAAGt0D,EAAI,EAAGd,EAAIo1D,EAAGr4C,EAAI,GAMtD,IAHK8mH,IAAUluI,EAAM,CAACkuI,MAGf/oI,EAAIwzB,GACPtuB,EAAElF,GAAKA,IAEX,IAAKA,EAAI,EAAGA,EAAIwzB,EAAOxzB,IACnBkF,EAAElF,GAAKkF,EAAEc,EAAI4e,EAAQ5e,EAAInL,EAAImF,EAAI+oI,IAAW/jI,EAAIE,EAAElF,KAClDkF,EAAEc,GAAKhB,EAIXs1D,EAAGz1C,EAAI,SAAS4Q,GAIZ,IAFA,IAAIzwB,EAAGC,EAAI,EACPjF,EAAIs6D,EAAGt6D,EAAGgG,EAAIs0D,EAAGt0D,EAAGd,EAAIo1D,EAAGr4C,EACxBwT,KACHzwB,EAAIE,EAAElF,EAAI4kB,EAAQ5kB,EAAI,GACtBiF,EAAIA,EAAIuuB,EAAQtuB,EAAE0f,GAAS1f,EAAElF,GAAKkF,EAAEc,EAAI4e,EAAQ5e,EAAIhB,KAAQE,EAAEc,GAAKhB,IAGvE,OADAs1D,EAAGt6D,EAAIA,EAAGs6D,EAAGt0D,EAAIA,EACVf,GAWf,SAAS+H,EAAK9G,EAAGlB,GAIb,OAHAA,EAAEhF,EAAIkG,EAAElG,EACRgF,EAAEgB,EAAIE,EAAEF,EACRhB,EAAEid,EAAI/b,EAAE+b,EAAE5gB,QACH2D,EAOX,SAASmjI,EAAQvtI,EAAKyzD,GAClB,IAAqC6kB,EAAjC/0E,EAAS,GAAI6qI,SAAcpuI,EAC/B,GAAIyzD,GAAgB,UAAP26E,EACT,IAAK91D,KAAQt4E,EACT,IAAMuD,EAAOqB,KAAK2oI,EAAQvtI,EAAIs4E,GAAO7kB,EAAQ,IAAO,MAAOvpD,IAGnE,OAAQ3G,EAAO4B,OAAS5B,EAAgB,UAAP6qI,EAAkBpuI,EAAMA,EAAM,KAQnE,SAASstI,EAAOv7G,EAAM9xB,GAElB,IADA,IAA4BouI,EAAxBC,EAAav8G,EAAO,GAAW3mB,EAAI,EAChCA,EAAIkjI,EAAWnpI,QAClBlF,EAAI+pB,EAAO5e,GACP4e,GAASqkH,GAAyB,GAAhBpuI,EAAI+pB,EAAO5e,IAAWkjI,EAAWj5H,WAAWjK,KAEtE,OAAOqiI,EAASxtI,GAQpB,SAASytI,IACL,IACI,GAAIZ,EAAc,OAAOW,EAASX,EAAW78G,YAAY2I,IACzD,IAAI9f,EAAM,IAAIxJ,WAAWspB,GAEzB,OADC5hB,EAAOqb,QAAUrb,EAAOsb,UAAUC,gBAAgBzZ,GAC5C20H,EAAS30H,GAClB,MAAO5O,GACL,IAAI8pB,EAAUhd,EAAOsf,UACjBi4G,EAAUv6G,GAAWA,EAAQu6G,QACjC,MAAO,EAAE,IAAIl7F,KAAQr8B,EAAQu3H,EAASv3H,EAAOw3H,OAAQf,EAASb,KAQtE,SAASa,EAASljI,GACd,OAAO2J,OAAOyC,aAAa9N,MAAM,EAAG0B,GA3GxCsiI,EAAK,OAASI,GAAWG,EAqHzBE,EAAOT,EAAK15F,SAAUy5F,GArM1B,CA8MI,GACAhI,GAGJ,IAAI6J,EAAiB,WAYnB,IAAIhiD,EAAK,GACTA,EAAGiiD,gBAAkBA,EACrB,IAAIC,EAAU,GAEd,SAASD,EAAgBnkI,EAAGU,EAAGL,EAAGF,EAAGkkI,GACnC,IAAIz5H,EAAMy5H,IAAO,OAASrkI,EAAI,IAAMU,EAAI,IAAML,EAAI,IAAMF,GAAGkS,QAAQ,MAAO,KAC1E,GAAI+xH,EAAQx5H,GACV,OAAOw5H,EAAQx5H,GAEjB,IAAI05H,EAAY,IAAIC,EAAa,CAACvkI,EAAGU,EAAGL,EAAGF,IAE3C,OADAikI,EAAQx5H,GAAO05H,EACRA,EAIT,IAAIE,EAAoB,EACpBC,EAAmB,KACnBC,EAAwB,KACxBC,EAA6B,GAE7BC,EAAmB,GACnBC,EAAkB,GAAOD,EAAmB,GAE5CE,EAAgD,oBAAjBzoF,aAEnC,SAASjiC,EAAE2qH,EAAKC,GAAO,OAAO,EAAM,EAAMA,EAAM,EAAMD,EACtD,SAASzjG,EAAEyjG,EAAKC,GAAO,OAAO,EAAMA,EAAM,EAAMD,EAChD,SAAS/jI,EAAE+jI,GAAO,OAAO,EAAMA,EAG/B,SAASE,EAAWC,EAAIH,EAAKC,GAC3B,QAAS5qH,EAAE2qH,EAAKC,GAAOE,EAAK5jG,EAAEyjG,EAAKC,IAAQE,EAAKlkI,EAAE+jI,IAAQG,EAI5D,SAASC,EAASD,EAAIH,EAAKC,GACzB,OAAO,EAAM5qH,EAAE2qH,EAAKC,GAAOE,EAAKA,EAAK,EAAM5jG,EAAEyjG,EAAKC,GAAOE,EAAKlkI,EAAE+jI,GAGlE,SAASK,EAAgBC,EAAIC,EAAIC,EAAIC,EAAKC,GACxC,IAAIC,EACFC,EACA9qI,EAAI,EACN,IAEE6qI,EAAWT,EADXU,EAAWL,GAAMC,EAAKD,GAAM,EACIE,EAAKC,GAAOJ,GAC7B,EACbE,EAAKI,EAELL,EAAKK,QAEAn6H,KAAKssB,IAAI4tG,GAAYhB,KAA2B7pI,EAAI8pI,GAC7D,OAAOgB,EAGT,SAASC,EAAqBP,EAAIQ,EAASL,EAAKC,GAC9C,IAAK,IAAI5qI,EAAI,EAAGA,EAAI2pI,IAAqB3pI,EAAG,CAC1C,IAAIirI,EAAeX,EAASU,EAASL,EAAKC,GAC1C,GAAqB,IAAjBK,EAAsB,OAAOD,EAEjCA,IADeZ,EAAWY,EAASL,EAAKC,GAAOJ,GACzBS,EAExB,OAAOD,EAMT,SAAStB,EAAawB,GACpB5tI,KAAK0nI,GAAKkG,EACV5tI,KAAK6tI,eAAiBlB,EAAwB,IAAIzoF,aAAauoF,GAAoB,IAAIl/H,MAAMk/H,GAC7FzsI,KAAK8tI,cAAe,EAEpB9tI,KAAK01B,IAAM11B,KAAK01B,IAAIhD,KAAK1yB,MAoE3B,OAjEAosI,EAAa1vI,UAAY,CAEvBg5B,IAAK,SAAUptB,GACb,IAAI+kI,EAAMrtI,KAAK0nI,GAAG,GAChBqG,EAAM/tI,KAAK0nI,GAAG,GACd4F,EAAMttI,KAAK0nI,GAAG,GACdsG,EAAMhuI,KAAK0nI,GAAG,GAEhB,OADK1nI,KAAK8tI,cAAc9tI,KAAKiuI,cACzBZ,IAAQU,GAAOT,IAAQU,EAAY1lI,EAE7B,IAANA,EAAgB,EACV,IAANA,EAAgB,EACbwkI,EAAW9sI,KAAKkuI,UAAU5lI,GAAIylI,EAAKC,IAK5CC,YAAa,WACX,IAAIZ,EAAMrtI,KAAK0nI,GAAG,GAChBqG,EAAM/tI,KAAK0nI,GAAG,GACd4F,EAAMttI,KAAK0nI,GAAG,GACdsG,EAAMhuI,KAAK0nI,GAAG,GAChB1nI,KAAK8tI,cAAe,EAChBT,IAAQU,GAAOT,IAAQU,GAAOhuI,KAAKmuI,qBAGzCA,kBAAmB,WAGjB,IAFA,IAAId,EAAMrtI,KAAK0nI,GAAG,GAChB4F,EAAMttI,KAAK0nI,GAAG,GACPhlI,EAAI,EAAGA,EAAI+pI,IAAoB/pI,EACtC1C,KAAK6tI,eAAenrI,GAAKoqI,EAAWpqI,EAAIgqI,EAAiBW,EAAKC,IAOlEY,UAAW,SAAUhB,GASnB,IARA,IAAIG,EAAMrtI,KAAK0nI,GAAG,GAChB4F,EAAMttI,KAAK0nI,GAAG,GACd0G,EAAgBpuI,KAAK6tI,eAEnBQ,EAAgB,EAChBC,EAAgB,EAChBC,EAAa9B,EAAmB,EAE7B6B,IAAkBC,GAAcH,EAAcE,IAAkBpB,IAAMoB,EAC3ED,GAAiB3B,EAKnB,IACI8B,EAAYH,GADJnB,EAAKkB,IAHfE,KAGgDF,EAAcE,EAAgB,GAAKF,EAAcE,IAC5D5B,EAEnC+B,EAAezB,EAASwB,EAAWnB,EAAKC,GAC5C,OAAImB,GAAgBnC,EACXmB,EAAqBP,EAAIsB,EAAWnB,EAAKC,GAC3B,IAAjBmB,EACGD,EAEFvB,EAAgBC,EAAImB,EAAeA,EAAgB3B,EAAiBW,EAAKC,KAI7EvjD,EAzJY,GAwLrB,SAAS2kD,EAAgB/V,EAASgW,GAChC,IAAIjsI,EAEAksI,EADAp/H,EAAMmpH,EAAQl2H,OAElB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAExB,IAAK,IAAImsI,KADTD,EAAkBjW,EAAQj2H,GAAGhG,UAEvBD,OAAOC,UAAUE,eAAegD,KAAKgvI,EAAiBC,KAAOF,EAAYjyI,UAAUmyI,GAAQD,EAAgBC,IASrH,SAASC,EAAoBpyI,GAC3B,SAASqyI,KAET,OADAA,EAAcryI,UAAYA,EACnBqyI,EAMT,SAASC,IACP,IAAI7E,EAAO92H,KAEX,SAAS47H,EAActwH,EAAI6X,EAAI5X,EAAI6X,EAAI5X,EAAIqwH,GACzC,IAAIC,EAAQxwH,EAAK8X,EAAOD,EAAK3X,EAAOD,EAAKswH,EAAOrwH,EAAK4X,EAAOy4G,EAAKvwH,EAAOC,EAAK4X,EAC7E,OAAO24G,GAAQ,MAASA,EAAO,KAGjC,SAASC,EAAczwH,EAAI6X,EAAI64G,EAAIzwH,EAAI6X,EAAI64G,EAAIzwH,EAAIqwH,EAAIK,GACrD,GAAW,IAAPF,GAAmB,IAAPC,GAAmB,IAAPC,EAC1B,OAAON,EAActwH,EAAI6X,EAAI5X,EAAI6X,EAAI5X,EAAIqwH,GAE3C,IAGIM,EAHAC,EAAQtF,EAAKn+F,KAAKm+F,EAAKxyH,IAAIiH,EAAKD,EAAI,GAAKwrH,EAAKxyH,IAAI8e,EAAKD,EAAI,GAAK2zG,EAAKxyH,IAAI23H,EAAKD,EAAI,IAClFK,EAAQvF,EAAKn+F,KAAKm+F,EAAKxyH,IAAIkH,EAAKF,EAAI,GAAKwrH,EAAKxyH,IAAIu3H,EAAK14G,EAAI,GAAK2zG,EAAKxyH,IAAI43H,EAAKF,EAAI,IAClFM,EAAQxF,EAAKn+F,KAAKm+F,EAAKxyH,IAAIkH,EAAKD,EAAI,GAAKurH,EAAKxyH,IAAIu3H,EAAKz4G,EAAI,GAAK0zG,EAAKxyH,IAAI43H,EAAKD,EAAI,IAatF,OATIE,EAFAC,EAAQC,EACND,EAAQE,EACCF,EAAQC,EAAQC,EAEhBA,EAAQD,EAAQD,EAEpBE,EAAQD,EACNC,EAAQD,EAAQD,EAEhBC,EAAQD,EAAQE,IAEV,MAAUH,EAAW,KAG1C,IAAII,EACK,SAAUvG,EAAKC,EAAKC,EAAKsG,GAC9B,IACIpyH,EACA/a,EACA8M,EACAsgI,EACAC,EAEAC,EAPAC,EAAgB1N,EAMhB2N,EAAc,EAEdC,EAAQ,GACRC,EAAY,GACZC,EAAaC,GAAiBC,aAElC,IADA/gI,EAAM+5H,EAAI9mI,OACLgb,EAAI,EAAGA,EAAIwyH,EAAexyH,GAAK,EAAG,CAGrC,IAFAsyH,EAAOtyH,GAAKwyH,EAAgB,GAC5BD,EAAa,EACRttI,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBotI,EAAUhO,EAAM,EAAIiO,EAAM,GAAK1G,EAAI3mI,GAAK,EAAIo/H,EAAM,EAAIiO,EAAM,GAAKA,EAAOxG,EAAI7mI,GAAK,GAAK,EAAIqtI,GAAQjO,EAAMiO,EAAM,GAAKF,EAAIntI,GAAKo/H,EAAMiO,EAAM,GAAKzG,EAAI5mI,GACjJytI,EAAMztI,GAAKotI,EACU,OAAjBM,EAAU1tI,KACZstI,GAAclO,EAAMqO,EAAMztI,GAAK0tI,EAAU1tI,GAAI,IAE/C0tI,EAAU1tI,GAAKytI,EAAMztI,GAEnBstI,IAEFE,GADAF,EAAajO,EAAOiO,IAGtBK,EAAWG,SAAS/yH,GAAKsyH,EACzBM,EAAWI,QAAQhzH,GAAKyyH,EAG1B,OADAG,EAAWH,YAAcA,EAClBG,GAIX,SAASK,EAAkBC,GACzB,IAKIjuI,EALAkuI,EAAiBC,GAAmBN,aACpC3wE,EAAS+wE,EAAUzoI,EACnB4oI,EAAQH,EAAUhoI,EAClBooI,EAAQJ,EAAU7oI,EAClBkpI,EAAQL,EAAUjuI,EAElB8M,EAAMmhI,EAAU5a,QAChB0a,EAAUG,EAAeH,QACzBQ,EAAc,EAClB,IAAKvuI,EAAI,EAAGA,EAAI8M,EAAM,EAAG9M,GAAK,EAC5B+tI,EAAQ/tI,GAAKktI,EAAgBkB,EAAMpuI,GAAIouI,EAAMpuI,EAAI,GAAIquI,EAAMruI,GAAIsuI,EAAMtuI,EAAI,IACzEuuI,GAAeR,EAAQ/tI,GAAGwtI,YAO5B,OALItwE,GAAUpwD,IACZihI,EAAQ/tI,GAAKktI,EAAgBkB,EAAMpuI,GAAIouI,EAAM,GAAIC,EAAMruI,GAAIsuI,EAAM,IACjEC,GAAeR,EAAQ/tI,GAAGwtI,aAE5BU,EAAeK,YAAcA,EACtBL,EAGT,SAASM,EAAWzuI,GAClBzC,KAAKmxI,cAAgB,EACrBnxI,KAAK4tI,OAAS,IAAIrgI,MAAM9K,GAG1B,SAAS2uI,EAAU55G,EAAS24G,GAC1BnwI,KAAKqxI,cAAgB75G,EACrBx3B,KAAKmwI,MAAQA,EAGf,IAAImB,EAAmB,WACrB,IAAIC,EAAa,GAEjB,OAAO,SAAUlI,EAAKC,EAAKC,EAAKsG,GAC9B,IAAI2B,GAAcnI,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMsG,EAAI,GAAK,IAAMA,EAAI,IAAI31H,QAAQ,MAAO,KAClJ,IAAKq3H,EAAWC,GAAa,CAC3B,IACI/zH,EACA/a,EACA8M,EACAsgI,EACAC,EAEAC,EACAG,EARAF,EAAgB1N,EAMhB2N,EAAc,EAGdE,EAAY,KACG,IAAf/G,EAAI5mI,SAAiB4mI,EAAI,KAAOC,EAAI,IAAMD,EAAI,KAAOC,EAAI,KAAO2F,EAAc5F,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAID,EAAI,GAAKE,EAAI,GAAIF,EAAI,GAAKE,EAAI,KAAO0F,EAAc5F,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAKuG,EAAI,GAAIvG,EAAI,GAAKuG,EAAI,MACjOI,EAAgB,GAElB,IAAIwB,EAAa,IAAIP,EAAWjB,GAEhC,IADAzgI,EAAM+5H,EAAI9mI,OACLgb,EAAI,EAAGA,EAAIwyH,EAAexyH,GAAK,EAAG,CAIrC,IAHA0yH,EAAQ7N,EAAiB9yH,GACzBugI,EAAOtyH,GAAKwyH,EAAgB,GAC5BD,EAAa,EACRttI,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBotI,EAAUhO,EAAM,EAAIiO,EAAM,GAAK1G,EAAI3mI,GAAK,EAAIo/H,EAAM,EAAIiO,EAAM,GAAKA,GAAQ1G,EAAI3mI,GAAK6mI,EAAI7mI,IAAM,GAAK,EAAIqtI,GAAQjO,EAAMiO,EAAM,IAAMzG,EAAI5mI,GAAKmtI,EAAIntI,IAAMo/H,EAAMiO,EAAM,GAAKzG,EAAI5mI,GACvKytI,EAAMztI,GAAKotI,EACO,OAAdM,IACFJ,GAAclO,EAAMqO,EAAMztI,GAAK0tI,EAAU1tI,GAAI,IAIjDwtI,GADAF,EAAajO,EAAOiO,GAEpByB,EAAW7D,OAAOnwH,GAAK,IAAI2zH,EAAUpB,EAAYG,GACjDC,EAAYD,EAEdsB,EAAWN,cAAgBjB,EAC3BqB,EAAWC,GAAcC,EAE3B,OAAOF,EAAWC,IAxCC,GA4CvB,SAASE,EAAgB3B,EAAM0B,GAC7B,IAAIjB,EAAWiB,EAAWjB,SACtBC,EAAUgB,EAAWhB,QACrBjhI,EAAMghI,EAAS/tI,OACfkvI,EAAU3P,GAASxyH,EAAM,GAAKugI,GAC9B6B,EAAY7B,EAAO0B,EAAWvB,YAC9B2B,EAAQ,EACZ,GAAIF,IAAYniI,EAAM,GAAiB,IAAZmiI,GAAiBC,IAAcnB,EAAQkB,GAChE,OAAOnB,EAASmB,GAIlB,IAFA,IAAI1gI,EAAMw/H,EAAQkB,GAAWC,GAAa,EAAI,EAC1CjP,GAAO,EACJA,GAOL,GANI8N,EAAQkB,IAAYC,GAAanB,EAAQkB,EAAU,GAAKC,GAC1DC,GAASD,EAAYnB,EAAQkB,KAAalB,EAAQkB,EAAU,GAAKlB,EAAQkB,IACzEhP,GAAO,GAEPgP,GAAW1gI,EAET0gI,EAAU,GAAKA,GAAWniI,EAAM,EAAG,CAErC,GAAImiI,IAAYniI,EAAM,EACpB,OAAOghI,EAASmB,GAElBhP,GAAO,EAGX,OAAO6N,EAASmB,IAAYnB,EAASmB,EAAU,GAAKnB,EAASmB,IAAYE,EAG3E,SAASC,EAAkBzI,EAAKC,EAAKC,EAAKsG,EAAKkC,EAASN,GACtD,IAAIjxH,EAAKkxH,EAAgBK,EAASN,GAC9BO,EAAK,EAAIxxH,EAGb,MAAO,CAFG2pH,EAAKnkG,MAAwK,KAAjKgsG,EAAKA,EAAKA,EAAK3I,EAAI,IAAM7oH,EAAKwxH,EAAKA,EAAKA,EAAKxxH,EAAKwxH,EAAKA,EAAKA,EAAKxxH,GAAM+oH,EAAI,IAAM/oH,EAAKA,EAAKwxH,EAAKA,EAAKxxH,EAAKA,EAAKA,EAAKwxH,EAAKxxH,GAAMqvH,EAAI,GAAKrvH,EAAKA,EAAKA,EAAK8oH,EAAI,KAAc,IACrLa,EAAKnkG,MAAwK,KAAjKgsG,EAAKA,EAAKA,EAAK3I,EAAI,IAAM7oH,EAAKwxH,EAAKA,EAAKA,EAAKxxH,EAAKwxH,EAAKA,EAAKA,EAAKxxH,GAAM+oH,EAAI,IAAM/oH,EAAKA,EAAKwxH,EAAKA,EAAKxxH,EAAKA,EAAKA,EAAKwxH,EAAKxxH,GAAMqvH,EAAI,GAAKrvH,EAAKA,EAAKA,EAAK8oH,EAAI,KAAc,KAIjM,IAAI2I,EAAsBtN,EAAiB,UAAW,GAEtD,SAASuN,EAAc7I,EAAKC,EAAKC,EAAKsG,EAAKsC,EAAWC,EAASX,GACzDU,EAAY,EACdA,EAAY,EACHA,EAAY,IACrBA,EAAY,GAEd,IAGIzvI,EAHA6d,EAAKmxH,EAAgBS,EAAWV,GAEhCjxH,EAAKkxH,EADTU,EAAUA,EAAU,EAAI,EAAIA,EACMX,GAE9BjiI,EAAM65H,EAAI5mI,OACV4vI,EAAK,EAAI9xH,EACTyxH,EAAK,EAAIxxH,EACT8xH,EAASD,EAAKA,EAAKA,EACnBE,EAAWhyH,EAAK8xH,EAAKA,EAAK,EAC1BG,EAAWjyH,EAAKA,EAAK8xH,EAAK,EAC1BI,EAASlyH,EAAKA,EAAKA,EAEnBmyH,EAASL,EAAKA,EAAKL,EACnBW,EAAWpyH,EAAK8xH,EAAKL,EAAKK,EAAK9xH,EAAKyxH,EAAKK,EAAKA,EAAK7xH,EACnDoyH,EAAWryH,EAAKA,EAAKyxH,EAAKK,EAAK9xH,EAAKC,EAAKD,EAAK8xH,EAAK7xH,EACnDqyH,EAAStyH,EAAKA,EAAKC,EAEnBsyH,EAAST,EAAKL,EAAKA,EACnBe,EAAWxyH,EAAKyxH,EAAKA,EAAKK,EAAK7xH,EAAKwxH,EAAKK,EAAKL,EAAKxxH,EACnDwyH,EAAWzyH,EAAKC,EAAKwxH,EAAKK,EAAK7xH,EAAKA,EAAKD,EAAKyxH,EAAKxxH,EACnDyyH,EAAS1yH,EAAKC,EAAKA,EAEnB0yH,EAASlB,EAAKA,EAAKA,EACnBmB,EAAW3yH,EAAKwxH,EAAKA,EAAKA,EAAKxxH,EAAKwxH,EAAKA,EAAKA,EAAKxxH,EACnD4yH,EAAW5yH,EAAKA,EAAKwxH,EAAKA,EAAKxxH,EAAKA,EAAKA,EAAKwxH,EAAKxxH,EACnD6yH,EAAS7yH,EAAKA,EAAKA,EACvB,IAAK9d,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBuvI,EAAwB,EAAJvvI,GAASynI,EAAKnkG,MAAoF,KAA7EssG,EAASjJ,EAAI3mI,GAAK6vI,EAAWhJ,EAAI7mI,GAAK8vI,EAAW3C,EAAIntI,GAAK+vI,EAASnJ,EAAI5mI,KAAc,IAC9HuvI,EAAwB,EAAJvvI,EAAQ,GAAKynI,EAAKnkG,MAAoF,KAA7E0sG,EAASrJ,EAAI3mI,GAAKiwI,EAAWpJ,EAAI7mI,GAAKkwI,EAAW/C,EAAIntI,GAAKmwI,EAASvJ,EAAI5mI,KAAc,IAClIuvI,EAAwB,EAAJvvI,EAAQ,GAAKynI,EAAKnkG,MAAoF,KAA7E8sG,EAASzJ,EAAI3mI,GAAKqwI,EAAWxJ,EAAI7mI,GAAKswI,EAAWnD,EAAIntI,GAAKuwI,EAAS3J,EAAI5mI,KAAc,IAClIuvI,EAAwB,EAAJvvI,EAAQ,GAAKynI,EAAKnkG,MAAoF,KAA7EktG,EAAS7J,EAAI3mI,GAAKywI,EAAW5J,EAAI7mI,GAAK0wI,EAAWvD,EAAIntI,GAAK2wI,EAAS/J,EAAI5mI,KAAc,IAGpI,OAAOuvI,EAGT,MAAO,CACLvB,kBAAmBA,EACnBwB,cAAeA,EACfJ,kBAAmBA,EACnBR,gBAAiBA,EACjBrC,cAAeA,EACfG,cAAeA,IA5RlB,WAGC,IAFA,IAAIkE,EAAW,EACXC,EAAU,CAAC,KAAM,MAAO,SAAU,KAC7BjrI,EAAI,EAAGA,EAAIirI,EAAQ9wI,SAAWstB,EAAOyf,wBAAyBlnC,EACrEynB,EAAOyf,sBAAwBzf,EAAOwjH,EAAQjrI,GAAK,yBACnDynB,EAAOyjH,qBAAuBzjH,EAAOwjH,EAAQjrI,GAAK,yBAA2BynB,EAAOwjH,EAAQjrI,GAAK,+BAE9FynB,EAAOyf,wBACVzf,EAAOyf,sBAAwB,SAAU6H,GACvC,IAAIo8F,GAAW,IAAI9iG,MAAOse,UACtBykF,EAAargI,KAAKoC,IAAI,EAAG,IAAMg+H,EAAWH,IAC1ClqI,EAAKmnB,YAAW,WAClB8mB,EAASo8F,EAAWC,KAEtBA,GAEA,OADAJ,EAAWG,EAAWC,EACftqI,IAGN2mB,EAAOyjH,uBACVzjH,EAAOyjH,qBAAuB,SAAUpqI,GACtConB,aAAapnB,KArBlB,GAgSD,IAAIuqI,EAAM3E,IAIN4E,EAAe,WACjB,IAEIC,EACAC,EAHAC,EAAa,EACbC,EAAY,GAGZC,EAAc,CAChBt2B,UAAW,aAGX3+C,YAAa,SAAUwvD,GACrBqlB,EAAS,CACPjkI,KAAM4+G,MAIR0lB,EAAc,CAChBl1E,YAAa,SAAUpvD,GACrBqkI,EAAYt2B,UAAU,CACpB/tG,KAAMA,MAIZ,SAASukI,EAAax0I,GACpB,GAAIowB,EAAOqkH,QAAUrkH,EAAOukB,MAAQotF,EAAe,CACjD,IAAIjsF,EAAO,IAAInB,KAAK,CAAC,4CAA6C30C,EAAGqQ,YAAa,CAAEvQ,KAAM,oBAEtFi4C,EAAMlG,IAAI6iG,gBAAgB5+F,GAC9B,OAAO,IAAI2+F,OAAO18F,GAGpB,OADAm8F,EAAWl0I,EACJs0I,EAGT,SAASK,IACFR,IACHA,EAAiBK,GAAa,SAAqB3sI,GAGjD,SAAS+sI,IAGP,SAASC,EAAeC,EAAQC,GAC9B,IAAIC,EACAjyI,EAEAgG,EACAksI,EACAn3H,EACAo3H,EAJArlI,EAAMilI,EAAOhyI,OAKjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAExB,GAAK,OADLiyI,EAAYF,EAAO/xI,MACSiyI,EAAUG,UAAW,CAK/C,GAJAH,EAAUG,WAAY,EAClBH,EAAUI,KACZN,EAAO/xI,EAAI,GAAGw0F,GAAKy9C,EAAUI,IAE3BJ,EAAUK,QAAS,CACrB,IAAIC,EAAYN,EAAUO,gBAE1B,IADAN,EAAOK,EAAUxyI,OACZiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB,GAAIusI,EAAUvsI,GAAGqgI,GAAGtrH,EAAE/a,EACpByyI,EAA6BF,EAAUvsI,GAAGqgI,GAAGtrH,QAG7C,IADAo3H,EAAOI,EAAUvsI,GAAGqgI,GAAGtrH,EAAEhb,OACpBgb,EAAI,EAAGA,EAAIo3H,EAAMp3H,GAAK,EACrBw3H,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAG7V,GACvButI,EAA6BF,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAG7V,EAAE,IAElDqtI,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAGjW,GACvB2tI,EAA6BF,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAGjW,EAAE,IAMzC,IAAjBmtI,EAAUlqH,IACZkqH,EAAUF,OAASW,EAAeT,EAAUU,MAAOX,GACnDF,EAAeG,EAAUF,OAAQC,IACP,IAAjBC,EAAUlqH,GACnB6qH,EAAeX,EAAUY,QACC,IAAjBZ,EAAUlqH,IACnB+qH,EAAab,IAMrB,SAASS,EAAehsI,EAAIsrI,GAG1B,IAFA,IAAIhyI,EAAI,EACJ8M,EAAMklI,EAAMjyI,OACTC,EAAI8M,GAAK,CACd,GAAIklI,EAAMhyI,GAAG0G,KAAOA,EAClB,OAAKsrI,EAAMhyI,GAAG+xI,OAAOgB,OAIdt+F,KAAKnG,MAAMmG,KAAKlH,UAAUykG,EAAMhyI,GAAG+xI,UAHxCC,EAAMhyI,GAAG+xI,OAAOgB,QAAS,EAClBf,EAAMhyI,GAAG+xI,QAIpB/xI,GAAK,EAEP,OAAO,KAGT,SAAS4yI,EAAehoI,GACtB,IAAI5K,EAEAgG,EACAksI,EACJ,IAAKlyI,EAHK4K,EAAI7K,OAGC,EAAGC,GAAK,EAAGA,GAAK,EAC7B,GAAkB,OAAd4K,EAAI5K,GAAG+nB,GACT,GAAInd,EAAI5K,GAAGgzI,GAAGj4H,EAAE/a,EACdyyI,EAA6B7nI,EAAI5K,GAAGgzI,GAAGj4H,QAGvC,IADAm3H,EAAOtnI,EAAI5K,GAAGgzI,GAAGj4H,EAAEhb,OACdiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACrB4E,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGd,GACjButI,EAA6B7nI,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGd,EAAE,IAE5C0F,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGlB,GACjB2tI,EAA6B7nI,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGlB,EAAE,QAI7B,OAAd8F,EAAI5K,GAAG+nB,IAChB6qH,EAAehoI,EAAI5K,GAAG+X,IAK5B,SAAS06H,EAA6B3mB,GACpC,IAAI9rH,EACA8M,EAAMg/G,EAAK9rH,EAAED,OACjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB8rH,EAAK9rH,EAAEA,GAAG,IAAM8rH,EAAK7lH,EAAEjG,GAAG,GAC1B8rH,EAAK9rH,EAAEA,GAAG,IAAM8rH,EAAK7lH,EAAEjG,GAAG,GAC1B8rH,EAAK1mH,EAAEpF,GAAG,IAAM8rH,EAAK7lH,EAAEjG,GAAG,GAC1B8rH,EAAK1mH,EAAEpF,GAAG,IAAM8rH,EAAK7lH,EAAEjG,GAAG,GAI9B,SAASizI,EAAahsE,EAASisE,GAC7B,IAAIC,EAAcD,EAAoBA,EAAkBhhH,MAAM,KAAO,CAAC,IAAK,IAAK,KAChF,OAAI+0C,EAAQ,GAAKksE,EAAY,MAEvBA,EAAY,GAAKlsE,EAAQ,MAG3BA,EAAQ,GAAKksE,EAAY,MAEvBA,EAAY,GAAKlsE,EAAQ,MAG3BA,EAAQ,GAAKksE,EAAY,MAEvBA,EAAY,GAAKlsE,EAAQ,KAGxB,OAGT,IAAImsE,EAAa,WACf,IAAIC,EAAiB,CAAC,EAAG,EAAG,IAE5B,SAASC,EAAgBC,GACvB,IAAIC,EAAeD,EAAUvuI,EAAEM,EAC/BiuI,EAAUvuI,EAAEM,EAAI,CACdyV,EAAG,CACD,CACE7V,EAAGsuI,EACHxuI,EAAG,KAMX,SAASyuI,EAAc1B,GACrB,IAAI/xI,EACA8M,EAAMilI,EAAOhyI,OACjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACH,IAAjB+xI,EAAO/xI,GAAG+nB,IACZurH,EAAgBvB,EAAO/xI,IAK7B,OAAO,SAAU0zI,GACf,GAAIT,EAAaI,EAAgBK,EAAcztI,KAC7CwtI,EAAcC,EAAc3B,QACxB2B,EAAcC,QAAQ,CACxB,IAAI3zI,EACA8M,EAAM4mI,EAAcC,OAAO5zI,OAC/B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACpB0zI,EAAcC,OAAO3zI,GAAG+xI,QAC1B0B,EAAcC,EAAcC,OAAO3zI,GAAG+xI,UAjCjC,GAyCb6B,EAAc,WAChB,IAAIP,EAAiB,CAAC,EAAG,EAAG,IAC5B,OAAO,SAAUK,GACf,GAAIA,EAAcr/F,QAAU4+F,EAAaI,EAAgBK,EAAcztI,GAAI,CACzE,IAAIjG,EAEAgG,EACAksI,EACA2B,EACAtwB,EAJAz2G,EAAM4mI,EAAcr/F,MAAMt0C,OAK9B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB,GAAI0zI,EAAcr/F,MAAMr0C,GAAGkN,MAAQwmI,EAAcr/F,MAAMr0C,GAAGkN,KAAK2lI,OAI7D,IAFAX,GADA3uB,EAAQmwB,EAAcr/F,MAAMr0C,GAAGkN,KAAK2lI,OAAO,GAAG96H,IACjChY,OAERiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzB6tI,EAAWtwB,EAAMv9G,GAAGgtI,GAAGj4H,GACT+4H,cACZrB,EAA6BlvB,EAAMv9G,GAAGgtI,GAAGj4H,GACzC84H,EAASC,aAAc,KAnBnB,GA4BdC,EAAuB,WACzB,IAAIV,EAAiB,CAAC,EAAG,EAAG,IAE5B,SAASC,EAAgBC,GACvB,IAAIM,EAAWN,EAAUvuI,EAAES,EACD,kBAAfouI,EAAS1uI,IAClB0uI,EAAS1uI,EAAI,CACXA,EAAG,EACH4V,EAAG84H,EAAS1uI,IAGU,kBAAf0uI,EAASpuI,IAClBouI,EAASpuI,EAAI,CACXN,EAAG,EACH4V,EAAG84H,EAASpuI,IAGU,kBAAfouI,EAAS5uI,IAClB4uI,EAAS5uI,EAAI,CACXE,EAAG,EACH4V,EAAG84H,EAAS5uI,IAKlB,SAASwuI,EAAc1B,GACrB,IAAI/xI,EACA8M,EAAMilI,EAAOhyI,OACjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACH,IAAjB+xI,EAAO/xI,GAAG+nB,IACZurH,EAAgBvB,EAAO/xI,IAK7B,OAAO,SAAU0zI,GACf,GAAIT,EAAaI,EAAgBK,EAAcztI,KAC7CwtI,EAAcC,EAAc3B,QACxB2B,EAAcC,QAAQ,CACxB,IAAI3zI,EACA8M,EAAM4mI,EAAcC,OAAO5zI,OAC/B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACpB0zI,EAAcC,OAAO3zI,GAAG+xI,QAC1B0B,EAAcC,EAAcC,OAAO3zI,GAAG+xI,UA3CvB,GAmDvBiC,EAAe,WACjB,IAAIX,EAAiB,CAAC,EAAG,EAAG,GAE5B,SAASY,EAAcpB,GACrB,IAAI7yI,EAEAgG,EACAksI,EAFAplI,EAAM+lI,EAAO9yI,OAGjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB,GAAqB,OAAjB6yI,EAAO7yI,GAAG+nB,GACZksH,EAAcpB,EAAO7yI,GAAG+X,SACnB,GAAqB,OAAjB86H,EAAO7yI,GAAG+nB,IAAgC,OAAjB8qH,EAAO7yI,GAAG+nB,GAC5C,GAAI8qH,EAAO7yI,GAAGwF,EAAEuV,GAAK83H,EAAO7yI,GAAGwF,EAAEuV,EAAE,GAAG/a,EAEpC,IADAkyI,EAAOW,EAAO7yI,GAAGwF,EAAEuV,EAAEhb,OAChBiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACrB6sI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGd,IACnB2tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGd,EAAE,IAAM,IACzB2tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGd,EAAE,IAAM,IACzB2tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGd,EAAE,IAAM,IACzB2tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGd,EAAE,IAAM,KAEvB2tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGlB,IACnB+tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGlB,EAAE,IAAM,IACzB+tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGlB,EAAE,IAAM,IACzB+tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGlB,EAAE,IAAM,IACzB+tI,EAAO7yI,GAAGwF,EAAEuV,EAAE/U,GAAGlB,EAAE,IAAM,UAI7B+tI,EAAO7yI,GAAGwF,EAAEuV,EAAE,IAAM,IACpB83H,EAAO7yI,GAAGwF,EAAEuV,EAAE,IAAM,IACpB83H,EAAO7yI,GAAGwF,EAAEuV,EAAE,IAAM,IACpB83H,EAAO7yI,GAAGwF,EAAEuV,EAAE,IAAM,IAM5B,SAAS04H,EAAc1B,GACrB,IAAI/xI,EACA8M,EAAMilI,EAAOhyI,OACjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACH,IAAjB+xI,EAAO/xI,GAAG+nB,IACZksH,EAAclC,EAAO/xI,GAAG6yI,QAK9B,OAAO,SAAUa,GACf,GAAIT,EAAaI,EAAgBK,EAAcztI,KAC7CwtI,EAAcC,EAAc3B,QACxB2B,EAAcC,QAAQ,CACxB,IAAI3zI,EACA8M,EAAM4mI,EAAcC,OAAO5zI,OAC/B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACpB0zI,EAAcC,OAAO3zI,GAAG+xI,QAC1B0B,EAAcC,EAAcC,OAAO3zI,GAAG+xI,UAxD/B,GAgEfmC,EAAe,WACjB,IAAIb,EAAiB,CAAC,EAAG,EAAG,IAE5B,SAASc,EAAsBvpI,GAC7B,IAAI5K,EAEAgG,EACAksI,EACJ,IAAKlyI,EAHK4K,EAAI7K,OAGC,EAAGC,GAAK,EAAGA,GAAK,EAC7B,GAAkB,OAAd4K,EAAI5K,GAAG+nB,GACT,GAAInd,EAAI5K,GAAGgzI,GAAGj4H,EAAE/a,EACd4K,EAAI5K,GAAGgzI,GAAGj4H,EAAEvV,EAAIoF,EAAI5K,GAAGk9D,YAGvB,IADAg1E,EAAOtnI,EAAI5K,GAAGgzI,GAAGj4H,EAAEhb,OACdiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACrB4E,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGd,IACjB0F,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGd,EAAE,GAAGM,EAAIoF,EAAI5K,GAAGk9D,QAE7BtyD,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGlB,IACjB8F,EAAI5K,GAAGgzI,GAAGj4H,EAAE/U,GAAGlB,EAAE,GAAGU,EAAIoF,EAAI5K,GAAGk9D,YAId,OAAdtyD,EAAI5K,GAAG+nB,IAChBosH,EAAsBvpI,EAAI5K,GAAG+X,IAKnC,SAAS07H,EAAc1B,GACrB,IAAIE,EACAjyI,EAEAgG,EACAksI,EACAn3H,EACAo3H,EAJArlI,EAAMilI,EAAOhyI,OAKjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAE3B,IADAiyI,EAAYF,EAAO/xI,IACLsyI,QAAS,CACrB,IAAIC,EAAYN,EAAUO,gBAE1B,IADAN,EAAOK,EAAUxyI,OACZiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB,GAAIusI,EAAUvsI,GAAGqgI,GAAGtrH,EAAE/a,EACpBuyI,EAAUvsI,GAAGqgI,GAAGtrH,EAAEvV,EAAI+sI,EAAUvsI,GAAGg0E,QAGnC,IADAm4D,EAAOI,EAAUvsI,GAAGqgI,GAAGtrH,EAAEhb,OACpBgb,EAAI,EAAGA,EAAIo3H,EAAMp3H,GAAK,EACrBw3H,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAG7V,IACvBqtI,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAG7V,EAAE,GAAGM,EAAI+sI,EAAUvsI,GAAGg0E,IAEzCu4D,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAGjW,IACvBytI,EAAUvsI,GAAGqgI,GAAGtrH,EAAEA,GAAGjW,EAAE,GAAGU,EAAI+sI,EAAUvsI,GAAGg0E,IAMhC,IAAjBi4D,EAAUlqH,IACZosH,EAAsBlC,EAAUY,SAKtC,OAAO,SAAUa,GACf,GAAIT,EAAaI,EAAgBK,EAAcztI,KAC7CwtI,EAAcC,EAAc3B,QACxB2B,EAAcC,QAAQ,CACxB,IAAI3zI,EACA8M,EAAM4mI,EAAcC,OAAO5zI,OAC/B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACpB0zI,EAAcC,OAAO3zI,GAAG+xI,QAC1B0B,EAAcC,EAAcC,OAAO3zI,GAAG+xI,UAxE/B,GAgFnB,SAASqC,EAAaV,GAChBA,EAAcW,aAGlBL,EAAYN,GACZN,EAAUM,GACVE,EAAWF,GACXK,EAAoBL,GACpBQ,EAAYR,GACZ5B,EAAe4B,EAAc3B,OAAQ2B,EAAcC,QACnDD,EAAcW,YAAa,GAG7B,SAASvB,EAAa5lI,GACI,IAApBA,EAAKlI,EAAEG,EAAEpF,QAAkB,MAAOmN,EAAKlI,EAAES,IAC3CyH,EAAKonI,aAAc,GAIvB,IAAIC,EAAW,GAQf,OAPAA,EAASH,aAAeA,EACxBG,EAASP,YAAcA,EACvBO,EAASX,WAAaA,EACtBW,EAASR,oBAAsBA,EAC/BQ,EAASL,YAAcA,EACvBK,EAASzC,eAAiBA,EAEnByC,EAgET,GA9DK/C,EAAYN,cACfM,EAAYN,YAAcW,KAIvBL,EAAYgD,cACfhD,EAAYgD,YAAe,WACzB,SAASC,EAAeh+F,GAGtB,IAAIi+F,EAAoBj+F,EAAIk+F,kBAAkB,gBAC9C,OAAID,GAA0C,SAArBj+F,EAAIU,eAAkE,IAAvCu9F,EAAkBjmI,QAAQ,SAG9EgoC,EAAIP,UAAoC,kBAAjBO,EAAIP,SAFtBO,EAAIP,SAIPO,EAAIP,UAAoC,kBAAjBO,EAAIP,SACxBzB,KAAKnG,MAAMmI,EAAIP,UAClBO,EAAIM,aACDtC,KAAKnG,MAAMmI,EAAIM,cAEjB,KAGT,SAAS69F,EAAU9oB,EAAM+oB,EAAUlgG,EAAUmgG,GAC3C,IAAI5+F,EACAO,EAAM,IAAIC,eAEd,IAEED,EAAIU,aAAe,OACnB,MAAOh8C,IACTs7C,EAAIa,mBAAqB,WACvB,GAAuB,IAAnBb,EAAIc,WACN,GAAmB,MAAfd,EAAIV,OACNG,EAAWu+F,EAAeh+F,GAC1B9B,EAASuB,QAET,IACEA,EAAWu+F,EAAeh+F,GAC1B9B,EAASuB,GACT,MAAO/6C,GACH25I,GACFA,EAAc35I,KAMxB,IACEs7C,EAAIxrB,KAAK,MAAO6gG,GAAM,GACtB,MAAOvtH,GACPk4C,EAAIxrB,KAAK,MAAO4pH,EAAW,IAAM/oB,GAAM,GAEzCr1E,EAAIgB,OAEN,MAAO,CACLs9F,KAAMH,GAnDiB,IAwDT,kBAAhB9vI,EAAEoI,KAAKnQ,KACTy0I,EAAYgD,YAAYO,KACtBjwI,EAAEoI,KAAK4+G,KACPhnH,EAAEoI,KAAK2nI,UACP,SAAU3nI,GACRskI,EAAYN,YAAYkD,aAAalnI,GACrCskI,EAAYl1E,YAAY,CACtB51D,GAAI5B,EAAEoI,KAAKxG,GACXw/F,QAASh5F,EACT6oC,OAAQ,eAGZ,WACEy7F,EAAYl1E,YAAY,CACtB51D,GAAI5B,EAAEoI,KAAKxG,GACXqvC,OAAQ,kBAIT,GAAoB,aAAhBjxC,EAAEoI,KAAKnQ,KAAqB,CACrC,IAAImgG,EAAYp4F,EAAEoI,KAAKgwF,UACvBs0C,EAAYN,YAAYkD,aAAal3C,GACrCs0C,EAAYl1E,YAAY,CACtB51D,GAAI5B,EAAEoI,KAAKxG,GACXw/F,QAAShJ,EACTnnD,OAAQ,gBAEe,aAAhBjxC,EAAEoI,KAAKnQ,MAChBy0I,EAAYgD,YAAYO,KACtBjwI,EAAEoI,KAAK4+G,KACPhnH,EAAEoI,KAAK2nI,UACP,SAAU3nI,GACRskI,EAAYl1E,YAAY,CACtB51D,GAAI5B,EAAEoI,KAAKxG,GACXw/F,QAASh5F,EACT6oC,OAAQ,eAGZ,WACEy7F,EAAYl1E,YAAY,CACtB51D,GAAI5B,EAAEoI,KAAKxG,GACXqvC,OAAQ,gBAOlBq7F,EAAen2B,UAAY,SAAU17C,GACnC,IAAIryD,EAAOqyD,EAAMryD,KACbxG,EAAKwG,EAAKxG,GACV8mB,EAAU8jH,EAAU5qI,GACxB4qI,EAAU5qI,GAAM,KACI,YAAhBwG,EAAK6oC,OACPvoB,EAAQwnH,WAAW9nI,EAAKg5F,SACf14E,EAAQk/D,SACjBl/D,EAAQk/D,YAMhB,SAASuoD,EAAcD,EAAYtoD,GAEjC,IAAIhmF,EAAK,cADT2qI,GAAc,GAMd,OAJAC,EAAU5qI,GAAM,CACdsuI,WAAYA,EACZtoD,QAASA,GAEJhmF,EAGT,SAASklH,EAAcE,EAAMkpB,EAAYtoD,GACvCklD,IACA,IAAIsD,EAAYD,EAAcD,EAAYtoD,GAC1C0kD,EAAe90E,YAAY,CACzBv/D,KAAM,gBACN+uH,KAAMA,EACN+oB,SAAUxnH,EAAOgpB,SAASgmB,OAAShvC,EAAOgpB,SAAS0mB,SACnDr2D,GAAIwuI,IAIR,SAASC,EAASrpB,EAAMkpB,EAAYtoD,GAClCklD,IACA,IAAIsD,EAAYD,EAAcD,EAAYtoD,GAC1C0kD,EAAe90E,YAAY,CACzBv/D,KAAM,WACN+uH,KAAMA,EACN+oB,SAAUxnH,EAAOgpB,SAASgmB,OAAShvC,EAAOgpB,SAAS0mB,SACnDr2D,GAAIwuI,IAIR,SAASE,EAAkBC,EAAML,EAAYtoD,GAC3CklD,IACA,IAAIsD,EAAYD,EAAcD,EAAYtoD,GAC1C0kD,EAAe90E,YAAY,CACzBv/D,KAAM,WACNmgG,UAAWm4C,EACX3uI,GAAIwuI,IAIR,MAAO,CACLtpB,cAAeA,EACfupB,SAAUA,EACVC,kBAAmBA,GA9mBJ,GAonBnB,SAASE,EAAkBC,GAOzB,IANA,IAAIh+E,EAASg+E,EAASC,OAASD,EAASC,OAAOtjH,MAAM,KAAO,GAExDujH,EAAU,SACZD,EAAS,SACP1oI,EAAMyqD,EAAOx3D,OAERC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAE5B,OADYu3D,EAAOv3D,GAAG2N,eAEpB,IAAK,SACH6nI,EAAS,SACT,MACF,IAAK,OACHC,EAAU,MACV,MACF,IAAK,QACHA,EAAU,MACV,MACF,IAAK,SACHA,EAAU,MACV,MACF,IAAK,UACL,IAAK,SACHA,EAAU,MACV,MACF,IAAK,QACL,IAAK,OACHA,EAAU,MAOhB,MAAO,CACLpkH,MAAOmkH,EACPE,OAAQH,EAASE,SAAWA,GAOhC,IAAIE,EAAe,WACjB,IAAIC,EAAiB,IACjBC,EAAY,CACdl7G,EAAG,EACHttB,KAAM,EACNwlI,OAAQ,IAENiD,EAAqB,GAEzBA,EAAqBA,EAAmBvjI,OAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC9F,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAE9D,IAAIwjI,EAAqB,CACvB,WACA,WACA,WACA,WACA,YAGEC,EAAkB,CAAC,MAAO,MAE9B,SAASC,EAAgBC,GACvB,IACIl2I,EADAm2I,EAAcD,EAAKhkH,MAAM,KAEzBplB,EAAMqpI,EAAYp2I,OAClBq2I,EAAkB,GACtB,IAAKp2I,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACD,eAAnBm2I,EAAYn2I,IAA0C,cAAnBm2I,EAAYn2I,IACjDo2I,EAAgB52I,KAAK22I,EAAYn2I,IAGrC,OAAOo2I,EAAgBnjI,KAAK,KAG9B,SAASojI,EAAUH,EAAMI,GACvB,IAAIhoE,EAAa+zD,EAAU,QAE3B/zD,EAAWjR,aAAa,eAAe,GACvCiR,EAAWj9C,MAAMklH,WAAaD,EAC9B,IAAIhiH,EAAO+tG,EAAU,QAErB/tG,EAAKkiH,UAAY,iBAEjBloE,EAAWj9C,MAAMwD,SAAW,WAC5By5C,EAAWj9C,MAAM4I,KAAO,WACxBq0C,EAAWj9C,MAAMkgD,IAAM,WAEvBjD,EAAWj9C,MAAMolH,SAAW,QAE5BnoE,EAAWj9C,MAAMqlH,YAAc,SAC/BpoE,EAAWj9C,MAAMslH,UAAY,SAC7BroE,EAAWj9C,MAAM83D,WAAa,SAC9B7a,EAAWj9C,MAAMulH,cAAgB,IACjCtoE,EAAWhR,YAAYhpC,GACvBknC,SAAShpB,KAAK8qB,YAAYgR,GAG1B,IAAI96C,EAAQc,EAAKg5C,YAEjB,OADAh5C,EAAKjD,MAAMklH,WAAaN,EAAgBC,GAAQ,KAAOI,EAChD,CAAEhiH,KAAMA,EAAMqG,EAAGnH,EAAOqjH,OAAQvoE,GAGzC,SAASwoE,IACP,IAAI92I,EAEAs0B,EACAqG,EAFA7tB,EAAMxP,KAAKy5I,MAAMh3I,OAGjBi3I,EAAclqI,EAClB,IAAK9M,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACpB1C,KAAKy5I,MAAM/2I,GAAGi3I,OAChBD,GAAe,EACoB,MAA1B15I,KAAKy5I,MAAM/2I,GAAGk3I,SAA4C,IAAzB55I,KAAKy5I,MAAM/2I,GAAGq8D,OACxD/+D,KAAKy5I,MAAM/2I,GAAGi3I,QAAS,GAEvB3iH,EAAOh3B,KAAKy5I,MAAM/2I,GAAGm3I,SAAS7iH,KAC9BqG,EAAIr9B,KAAKy5I,MAAM/2I,GAAGm3I,SAASx8G,EACvBrG,EAAKg5C,cAAgB3yC,GACvBq8G,GAAe,EACf15I,KAAKy5I,MAAM/2I,GAAGi3I,QAAS,IAEvB3iH,EAAOh3B,KAAKy5I,MAAM/2I,GAAGo3I,SAAS9iH,KAC9BqG,EAAIr9B,KAAKy5I,MAAM/2I,GAAGo3I,SAASz8G,EACvBrG,EAAKg5C,cAAgB3yC,IACvBq8G,GAAe,EACf15I,KAAKy5I,MAAM/2I,GAAGi3I,QAAS,IAGvB35I,KAAKy5I,MAAM/2I,GAAGi3I,SAChB35I,KAAKy5I,MAAM/2I,GAAGo3I,SAASP,OAAOvoE,WAAW4Y,YAAY5pF,KAAKy5I,MAAM/2I,GAAGo3I,SAASP,QAC5Ev5I,KAAKy5I,MAAM/2I,GAAGm3I,SAASN,OAAOvoE,WAAW4Y,YAAY5pF,KAAKy5I,MAAM/2I,GAAGm3I,SAASN,UAK9D,IAAhBG,GAAqB/oG,KAAKC,MAAQ5wC,KAAK+5I,SAAWzB,EACpD/nH,WAAWvwB,KAAKg6I,uBAAwB,IAExCzpH,WAAWvwB,KAAKi6I,kBAAmB,IAIvC,SAASC,EAAaC,EAAKlC,GACzB,IAAImC,EAAUtV,EAAS,QACvBsV,EAAQrmH,MAAMolH,SAAW,QAGzB,IAAIkB,EAAYrC,EAAkBC,GAelC,OAdAmC,EAAQr6E,aAAa,cAAek4E,EAASqC,SAC7CF,EAAQr6E,aAAa,aAAcs6E,EAAUtmH,OAC7CqmH,EAAQr6E,aAAa,cAAes6E,EAAUjC,QAC9CgC,EAAQl7D,YAAc,IAClB+4D,EAASsC,QACXH,EAAQrmH,MAAMklH,WAAa,UAC3BmB,EAAQr6E,aAAa,QAASk4E,EAASsC,SAEvCH,EAAQrmH,MAAMklH,WAAahB,EAASqC,QAEtCH,EAAIn6E,YAAYo6E,GACIrV,EAAU,UAAUvE,WAAW,MACrCoY,KAAOX,EAASE,QAAU,IAAMF,EAASC,OAAS,UAAYD,EAASqC,QAE9EF,EAGT,SAASI,EAASvC,EAAUwC,GAC1B,GAAKxC,EAAL,CAIA,GAAIj4I,KAAK+2C,MAGP,OAFA/2C,KAAK06I,UAAW,OAChB16I,KAAKy5I,MAAQxB,EAAS/iI,MAIxB,IACIxS,EADAi4I,EAAU1C,EAAS/iI,KAEnB1F,EAAMmrI,EAAQl4I,OACdm4I,EAAgBprI,EACpB,IAAK9M,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAC3B,IACIm4I,EACAnyI,EAFAoyI,GAAiB,EAMrB,GAHAH,EAAQj4I,GAAGi3I,QAAS,EACpBgB,EAAQj4I,GAAGm3I,SAAWd,EAAU4B,EAAQj4I,GAAG43I,QAAS,aACpDK,EAAQj4I,GAAGo3I,SAAWf,EAAU4B,EAAQj4I,GAAG43I,QAAS,cAC/CK,EAAQj4I,GAAGq4I,OAGT,GAA2B,MAAvBJ,EAAQj4I,GAAGk3I,SAAyC,IAAtBe,EAAQj4I,GAAGq8D,QAOlD,IANA87E,EAAiB38E,SAASuR,iBAAiB,kCAAoCkrE,EAAQj4I,GAAG43I,QAAU,qCAAuCK,EAAQj4I,GAAG43I,QAAU,OAE7I73I,OAAS,IAC1Bq4I,GAAiB,GAGfA,EAAgB,CAClB,IAAIlzI,EAAIm9H,EAAU,SAClBn9H,EAAEm4D,aAAa,YAAa46E,EAAQj4I,GAAGk3I,SACvChyI,EAAEm4D,aAAa,WAAY46E,EAAQj4I,GAAGq8D,QACtCn3D,EAAEm4D,aAAa,WAAY46E,EAAQj4I,GAAG43I,SACtC1yI,EAAEnI,KAAO,WACTmI,EAAEsxI,UAAY,4BAA8ByB,EAAQj4I,GAAG43I,QAAU,mCAAqCK,EAAQj4I,GAAGq4I,MAAQ,OACzHN,EAAKz6E,YAAYp4D,SAEd,GAA2B,MAAvB+yI,EAAQj4I,GAAGk3I,SAAyC,IAAtBe,EAAQj4I,GAAGq8D,OAAc,CAGhE,IAFA87E,EAAiB38E,SAASuR,iBAAiB,2CAEtC/mE,EAAI,EAAGA,EAAImyI,EAAep4I,OAAQiG,GAAK,GACgB,IAAtDmyI,EAAenyI,GAAGkoE,KAAKz/D,QAAQwpI,EAAQj4I,GAAGq4I,SAE5CD,GAAiB,GAIrB,GAAIA,EAAgB,CAClB,IAAI1yI,EAAI28H,EAAU,QAClB38H,EAAE23D,aAAa,YAAa46E,EAAQj4I,GAAGk3I,SACvCxxI,EAAE23D,aAAa,WAAY46E,EAAQj4I,GAAGq8D,QACtC32D,EAAE3I,KAAO,WACT2I,EAAE4yI,IAAM,aACR5yI,EAAEwoE,KAAO+pE,EAAQj4I,GAAGq4I,MACpB78E,SAAShpB,KAAK8qB,YAAY53D,SAEvB,GAA2B,MAAvBuyI,EAAQj4I,GAAGk3I,SAAyC,IAAtBe,EAAQj4I,GAAGq8D,OAAc,CAGhE,IAFA87E,EAAiB38E,SAASuR,iBAAiB,+CAEtC/mE,EAAI,EAAGA,EAAImyI,EAAep4I,OAAQiG,GAAK,EACtCiyI,EAAQj4I,GAAGq4I,QAAUF,EAAenyI,GAAG2R,MAEzCygI,GAAiB,GAIrB,GAAIA,EAAgB,CAClB,IAAI5oD,EAAK6yC,EAAU,QACnB7yC,EAAGnyB,aAAa,YAAa46E,EAAQj4I,GAAGk3I,SACxC1nD,EAAGnyB,aAAa,WAAY46E,EAAQj4I,GAAGq8D,QACvCmzB,EAAGnyB,aAAa,MAAO,cACvBmyB,EAAGnyB,aAAa,OAAQ46E,EAAQj4I,GAAGq4I,OACnCN,EAAKz6E,YAAYkyB,UArDnByoD,EAAQj4I,GAAGi3I,QAAS,EACpBiB,GAAiB,EAuDnBD,EAAQj4I,GAAGu4I,OAASf,EAAaO,EAAME,EAAQj4I,IAC/Ci4I,EAAQj4I,GAAGs+D,MAAQ,GACnBhhE,KAAKy5I,MAAMv3I,KAAKy4I,EAAQj4I,IAEJ,IAAlBk4I,EACF56I,KAAK06I,UAAW,EAIhBnqH,WAAWvwB,KAAKw5I,iBAAiB9mH,KAAK1yB,MAAO,UAtF7CA,KAAK06I,UAAW,EA0FpB,SAASQ,EAASnkG,GAChB,GAAKA,EAAL,CAMA,IAAIr0C,EAHC1C,KAAK+2C,QACR/2C,KAAK+2C,MAAQ,IAGf,IACIruC,EAEAmJ,EAHArC,EAAMunC,EAAMt0C,OAEZmyI,EAAO50I,KAAK+2C,MAAMt0C,OAEtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAG3B,IAFAgG,EAAI,EACJmJ,GAAQ,EACDnJ,EAAIksI,GACL50I,KAAK+2C,MAAMruC,GAAGqrB,QAAUgjB,EAAMr0C,GAAGqxB,OAAS/zB,KAAK+2C,MAAMruC,GAAG4xI,UAAYvjG,EAAMr0C,GAAG43I,SAAWt6I,KAAK+2C,MAAMruC,GAAG+zE,KAAO1lC,EAAMr0C,GAAG+5E,KACxH5qE,GAAQ,GAEVnJ,GAAK,EAEFmJ,IACH7R,KAAK+2C,MAAM70C,KAAK60C,EAAMr0C,IACtBkyI,GAAQ,KAKd,SAASuG,EAAYhkE,EAAMpjD,EAAO6kH,GAGhC,IAFA,IAAIl2I,EAAI,EACJ8M,EAAMxP,KAAK+2C,MAAMt0C,OACdC,EAAI8M,GAAK,CACd,GAAIxP,KAAK+2C,MAAMr0C,GAAG+5E,KAAOtF,GAAQn3E,KAAK+2C,MAAMr0C,GAAGqxB,QAAUA,GAAS/zB,KAAK+2C,MAAMr0C,GAAG43I,UAAY1B,EAC1F,OAAO54I,KAAK+2C,MAAMr0C,GAEpBA,GAAK,EAUP,OARsB,kBAATy0E,GAA4C,KAAvBA,EAAKxkE,WAAW,KAAewkE,IACtD57C,SACAA,QAAQi1C,OACPxwE,KAAKo7I,UAEfp7I,KAAKo7I,SAAU,EACf7/G,QAAQi1C,KAAK,oDAAqD2G,EAAMpjD,EAAO6kH,IAE1EL,EAGT,SAAS8C,EAAYlkE,EAAMmkE,EAAUvrI,GACnC,IAAIkoI,EAAWj4I,KAAKu7I,cAAcD,GAC9BrxI,EAAQktE,EAAKxkE,WAAW,GAC5B,IAAKslI,EAASj3E,MAAM/2D,EAAQ,GAAI,CAC9B,IAAImwI,EAAUnC,EAASgD,OAKvB,GAAa,MAAT9jE,EAAc,CAChBijE,EAAQl7D,YAAc,IAAM/H,EAAO,IACnC,IAAIqkE,EAAapB,EAAQqB,wBACzBrB,EAAQl7D,YAAc,KACtB,IAAIw8D,EAAatB,EAAQqB,wBACzBxD,EAASj3E,MAAM/2D,EAAQ,IAAMuxI,EAAaE,GAAc,SAExDtB,EAAQl7D,YAAc/H,EACtB8gE,EAASj3E,MAAM/2D,EAAQ,GAAMmwI,EAAQqB,wBAA2B,IAGpE,OAAOxD,EAASj3E,MAAM/2D,EAAQ,GAAK8F,EAGrC,SAASwrI,EAAcv4I,GAGrB,IAFA,IAAIN,EAAI,EACJ8M,EAAMxP,KAAKy5I,MAAMh3I,OACdC,EAAI8M,GAAK,CACd,GAAIxP,KAAKy5I,MAAM/2I,GAAGi5I,QAAU34I,EAC1B,OAAOhD,KAAKy5I,MAAM/2I,GAEpBA,GAAK,EAEP,OAAO1C,KAAKy5I,MAAM,GAGpB,SAASmC,EAAWC,EAAeC,GACjC,IAAI9xE,EAAM6xE,EAAc7rI,SAAS,IAAM8rI,EAAe9rI,SAAS,IAC/D,OAA4C,IAArCyoI,EAAmBtnI,QAAQ64D,GAGpC,SAAS+xE,EAAkBF,EAAeC,GACxC,OAAKA,EAGED,IAAkBnD,EAAgB,IAAMoD,IAAmBpD,EAAgB,GAFzEmD,IAAkBnD,EAAgB,GAK7C,SAASsD,EAAoB7kE,GAC3B,OAA6C,IAAtCqhE,EAAmBrnI,QAAQgmE,GAGpC,SAAS8kE,IACPj8I,KAAK06I,UAAW,EAGlB,IAAIwB,EAAO,WACTl8I,KAAKy5I,MAAQ,GACbz5I,KAAK+2C,MAAQ,KACb/2C,KAAKm8I,cAAgB,EACrBn8I,KAAK06I,UAAW,EAChB16I,KAAKo7I,SAAU,EACfp7I,KAAK+5I,SAAWppG,KAAKC,MACrB5wC,KAAKi6I,kBAAoBj6I,KAAKi8I,YAAYvpH,KAAK1yB,MAC/CA,KAAKg6I,uBAAyBh6I,KAAKw5I,iBAAiB9mH,KAAK1yB,OAE3Dk8I,EAAKN,WAAaA,EAClBM,EAAKH,kBAAoBA,EACzBG,EAAKF,oBAAsBA,EAE3B,IAAII,EAAgB,CAClBlB,SAAUA,EACVV,SAAUA,EACVW,YAAaA,EACbI,cAAeA,EACfF,YAAaA,EACb7B,iBAAkBA,EAClByC,YAAaA,GAKf,OAFAC,EAAKx/I,UAAY0/I,EAEVF,EA3VU,GAiWfG,EAAmB,WACrB,IAAIC,EAAY7a,EACZ8a,EAAUlpI,KAAKssB,IAEnB,SAAS68G,EAAiBC,EAAUC,GAClC,IACI1xF,EADA2xF,EAAa38I,KAAK28I,WAEA,qBAAlB38I,KAAK48I,WACP5xF,EAAW25E,EAAiB,UAAW3kI,KAAK68I,GAAGp6I,SAUjD,IARA,IAIIq6I,EACAC,EACAC,EAyBAv/H,EACAo3H,EACA9E,EACA6E,EACAlsI,EACAu0I,EApCAC,EAAiBR,EAAQ9yB,UACzBlnH,EAAIw6I,EACJ1tI,EAAMxP,KAAKm9I,UAAU16I,OAAS,EAC9BkgI,GAAO,EAKJA,GAAM,CAGX,GAFAma,EAAU98I,KAAKm9I,UAAUz6I,GACzBq6I,EAAc/8I,KAAKm9I,UAAUz6I,EAAI,GAC7BA,IAAM8M,EAAM,GAAKitI,GAAYM,EAAYr1I,EAAIi1I,EAAY,CACvDG,EAAQh0I,IACVg0I,EAAUC,GAEZG,EAAiB,EACjB,MAEF,GAAKH,EAAYr1I,EAAIi1I,EAAcF,EAAU,CAC3CS,EAAiBx6I,EACjB,MAEEA,EAAI8M,EAAM,EACZ9M,GAAK,GAELw6I,EAAiB,EACjBva,GAAO,GAGXqa,EAAmBh9I,KAAKo9I,kBAAkB16I,IAAM,GAQhD,IAEI26I,EAFAC,EAAcP,EAAYr1I,EAAIi1I,EAC9BY,EAAUT,EAAQp1I,EAAIi1I,EAE1B,GAAIG,EAAQU,GAAI,CACTR,EAAiBvL,aACpBuL,EAAiBvL,WAAakC,EAAIrC,gBAAgBwL,EAAQl1I,EAAGm1I,EAAYn1I,GAAKk1I,EAAQt1I,EAAGs1I,EAAQU,GAAIV,EAAQ7uC,KAE/G,IAAIwjC,EAAauL,EAAiBvL,WAClC,GAAIgL,GAAYa,GAAeb,EAAWc,EAAS,CACjD,IAAIE,EAAMhB,GAAYa,EAAc7L,EAAW7D,OAAOnrI,OAAS,EAAI,EAEnE,IADAoyI,EAAOpD,EAAW7D,OAAO6P,GAAKtN,MAAM1tI,OAC/Bgb,EAAI,EAAGA,EAAIo3H,EAAMp3H,GAAK,EACzButC,EAASvtC,GAAKg0H,EAAW7D,OAAO6P,GAAKtN,MAAM1yH,OAGxC,CACDu/H,EAAiBU,OACnBT,EAAMD,EAAiBU,QAEvBT,EAAMlR,EAAcC,gBAAgB8Q,EAAQh1I,EAAEQ,EAAGw0I,EAAQh1I,EAAEoB,EAAG4zI,EAAQp6I,EAAE4F,EAAGw0I,EAAQp6I,EAAEwG,EAAG4zI,EAAQ/0I,GAAG2tB,IACnGsnH,EAAiBU,OAAST,GAE5BlN,EAAOkN,GAAKR,EAAWc,IAAYD,EAAcC,IACjD,IAEII,EAFAC,EAAiBnM,EAAWN,cAAgBpB,EAG5CG,EAAewM,EAAQmB,UAAYpB,GAAYC,EAAQoB,qBAAuBp7I,EAAKg6I,EAAQqB,iBAAmB,EAIlH,IAHAr1I,EAAKg0I,EAAQmB,UAAYpB,GAAYC,EAAQoB,qBAAuBp7I,EAAKg6I,EAAQsB,WAAa,EAC9Frb,GAAO,EACPiS,EAAOnD,EAAW7D,OAAOnrI,OAClBkgI,GAAM,CAEX,GADAuN,GAAeuB,EAAW7D,OAAOllI,GAAG2oI,cACb,IAAnBuM,GAAiC,IAAT7N,GAAcrnI,IAAM+oI,EAAW7D,OAAOnrI,OAAS,EAAG,CAE5E,IADAoyI,EAAOpD,EAAW7D,OAAOllI,GAAGynI,MAAM1tI,OAC7Bgb,EAAI,EAAGA,EAAIo3H,EAAMp3H,GAAK,EACzButC,EAASvtC,GAAKg0H,EAAW7D,OAAOllI,GAAGynI,MAAM1yH,GAE3C,MACK,GAAImgI,GAAkB1N,GAAe0N,EAAiB1N,EAAcuB,EAAW7D,OAAOllI,EAAI,GAAG2oI,cAAe,CAGjH,IAFAsM,GAAeC,EAAiB1N,GAAeuB,EAAW7D,OAAOllI,EAAI,GAAG2oI,cACxEwD,EAAOpD,EAAW7D,OAAOllI,GAAGynI,MAAM1tI,OAC7Bgb,EAAI,EAAGA,EAAIo3H,EAAMp3H,GAAK,EACzButC,EAASvtC,GAAKg0H,EAAW7D,OAAOllI,GAAGynI,MAAM1yH,IAAMg0H,EAAW7D,OAAOllI,EAAI,GAAGynI,MAAM1yH,GAAKg0H,EAAW7D,OAAOllI,GAAGynI,MAAM1yH,IAAMkgI,EAEtH,MAEEj1I,EAAIksI,EAAO,EACblsI,GAAK,EAELi6H,GAAO,EAGX+Z,EAAQsB,WAAat1I,EACrBg0I,EAAQqB,iBAAmB7N,EAAcuB,EAAW7D,OAAOllI,GAAG2oI,cAC9DqL,EAAQoB,mBAAqBp7I,OAE1B,CACL,IAAIu7I,EACAC,EACAC,EACAC,EACAC,EAGJ,GAFA7uI,EAAMstI,EAAQl1I,EAAEnF,OAChB46I,EAAWN,EAAYn1I,GAAKk1I,EAAQt1I,EAChCxH,KAAKgqG,IAAoB,IAAd8yC,EAAQh0I,EACjB2zI,GAAYa,GACdtyF,EAAS,GAAKqyF,EAAS,GACvBryF,EAAS,GAAKqyF,EAAS,GACvBryF,EAAS,GAAKqyF,EAAS,IACdZ,GAAYc,GACrBvyF,EAAS,GAAK8xF,EAAQl1I,EAAE,GACxBojD,EAAS,GAAK8xF,EAAQl1I,EAAE,GACxBojD,EAAS,GAAK8xF,EAAQl1I,EAAE,IAKxB02I,EAAkBtzF,EAAUuzF,EAHZC,EAAiB1B,EAAQl1I,GAC3B42I,EAAiBnB,IACnBZ,EAAWc,IAAYD,EAAcC,UAInD,IAAK76I,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACN,IAAdo6I,EAAQh0I,IACN2zI,GAAYa,EACdvN,EAAO,EACE0M,EAAWc,EACpBxN,EAAO,GAEH+M,EAAQh1I,EAAEQ,EAAEvF,cAAgBwK,OACzByvI,EAAiBU,SACpBV,EAAiBU,OAAS,IAEvBV,EAAiBU,OAAOh7I,GAQ3Bu6I,EAAMD,EAAiBU,OAAOh7I,IAP9Bu7I,OAA0B78I,IAAnB07I,EAAQh1I,EAAEQ,EAAE5F,GAAmBo6I,EAAQh1I,EAAEQ,EAAE,GAAKw0I,EAAQh1I,EAAEQ,EAAE5F,GACnEw7I,OAA0B98I,IAAnB07I,EAAQh1I,EAAEoB,EAAExG,GAAmBo6I,EAAQh1I,EAAEoB,EAAE,GAAK4zI,EAAQh1I,EAAEoB,EAAExG,GACnEy7I,OAAyB/8I,IAAnB07I,EAAQp6I,EAAE4F,EAAE5F,GAAmBo6I,EAAQp6I,EAAE4F,EAAE,GAAKw0I,EAAQp6I,EAAE4F,EAAE5F,GAClE07I,OAAyBh9I,IAAnB07I,EAAQp6I,EAAEwG,EAAExG,GAAmBo6I,EAAQp6I,EAAEwG,EAAE,GAAK4zI,EAAQp6I,EAAEwG,EAAExG,GAClEu6I,EAAMlR,EAAcC,gBAAgBiS,EAAMC,EAAMC,EAAKC,GAAK1oH,IAC1DsnH,EAAiBU,OAAOh7I,GAAKu6I,IAIrBD,EAAiBU,OAQ3BT,EAAMD,EAAiBU,QAPvBO,EAAOnB,EAAQh1I,EAAEQ,EACjB41I,EAAOpB,EAAQh1I,EAAEoB,EACjBi1I,EAAMrB,EAAQp6I,EAAE4F,EAChB81I,EAAMtB,EAAQp6I,EAAEwG,EAChB+zI,EAAMlR,EAAcC,gBAAgBiS,EAAMC,EAAMC,EAAKC,GAAK1oH,IAC1DonH,EAAQE,iBAAmBC,GAI7BlN,EAAOkN,GAAKR,EAAWc,IAAYD,EAAcC,MAIrDF,EAAWN,EAAYn1I,GAAKk1I,EAAQt1I,EACpC62I,EAAyB,IAAdvB,EAAQh0I,EAAUg0I,EAAQl1I,EAAElF,GAAKo6I,EAAQl1I,EAAElF,IAAM26I,EAAS36I,GAAKo6I,EAAQl1I,EAAElF,IAAMqtI,EAEpE,qBAAlB/vI,KAAK48I,SACP5xF,EAAStoD,GAAK27I,EAEdrzF,EAAWqzF,EAMnB,OADA3B,EAAQ9yB,UAAYszB,EACblyF,EAIT,SAASuzF,EAAM12I,EAAGU,EAAGb,GACnB,IAUI+2I,EACAC,EACAC,EACAC,EACAC,EAdAzoI,EAAM,GACNuwH,EAAK9+H,EAAE,GACP++H,EAAK/+H,EAAE,GACPi3I,EAAKj3I,EAAE,GACPk3I,EAAKl3I,EAAE,GACPm3I,EAAKz2I,EAAE,GACP02I,EAAK12I,EAAE,GACP22I,EAAK32I,EAAE,GACP42I,EAAK52I,EAAE,GA8BX,OAtBAm2I,EAAQ/X,EAAKqY,EAAKpY,EAAKqY,EAAKH,EAAKI,EAAKH,EAAKI,GAC/B,IACVT,GAASA,EACTM,GAAMA,EACNC,GAAMA,EACNC,GAAMA,EACNC,GAAMA,GAEH,EAAMT,EAAS,MAClBD,EAAQprI,KAAK+rI,KAAKV,GAClBC,EAAQtrI,KAAK8xB,IAAIs5G,GACjBG,EAASvrI,KAAK8xB,KAAK,EAAMz9B,GAAK+2I,GAASE,EACvCE,EAASxrI,KAAK8xB,IAAIz9B,EAAI+2I,GAASE,IAE/BC,EAAS,EAAMl3I,EACfm3I,EAASn3I,GAEX0O,EAAI,GAAKwoI,EAASjY,EAAKkY,EAASG,EAChC5oI,EAAI,GAAKwoI,EAAShY,EAAKiY,EAASI,EAChC7oI,EAAI,GAAKwoI,EAASE,EAAKD,EAASK,EAChC9oI,EAAI,GAAKwoI,EAASG,EAAKF,EAASM,EAEzB/oI,EAGT,SAASkoI,EAAkBloI,EAAKipI,GAC9B,IAAIC,EAAKD,EAAK,GACVE,EAAKF,EAAK,GACVG,EAAKH,EAAK,GACVI,EAAKJ,EAAK,GACVK,EAAUrsI,KAAKssI,MAAM,EAAIJ,EAAKE,EAAK,EAAIH,EAAKE,EAAI,EAAI,EAAID,EAAKA,EAAK,EAAIC,EAAKA,GAC3EI,EAAWvsI,KAAKwsI,KAAK,EAAIP,EAAKC,EAAK,EAAIC,EAAKC,GAC5CK,EAAOzsI,KAAKssI,MAAM,EAAIL,EAAKG,EAAK,EAAIF,EAAKC,EAAI,EAAI,EAAIF,EAAKA,EAAK,EAAIE,EAAKA,GAC5EppI,EAAI,GAAKspI,EAAUld,EACnBpsH,EAAI,GAAKwpI,EAAWpd,EACpBpsH,EAAI,GAAK0pI,EAAOtd,EAGlB,SAASgc,EAAiBp+I,GACxB,IAAIs/I,EAAUt/I,EAAO,GAAKoiI,EACtBod,EAAWx/I,EAAO,GAAKoiI,EACvBsd,EAAO1/I,EAAO,GAAKoiI,EACnBv7E,EAAK5zC,KAAK2xB,IAAI06G,EAAU,GACxBx4F,EAAK7zC,KAAK2xB,IAAI46G,EAAW,GACzBz4F,EAAK9zC,KAAK2xB,IAAI86G,EAAO,GACrBvzB,EAAKl5G,KAAK8xB,IAAIu6G,EAAU,GACxBK,EAAK1sI,KAAK8xB,IAAIy6G,EAAW,GACzBI,EAAK3sI,KAAK8xB,IAAI26G,EAAO,GAMzB,MAAO,CAJCvzB,EAAKwzB,EAAK54F,EAAKF,EAAKC,EAAK84F,EACzBzzB,EAAKrlE,EAAKC,EAAKF,EAAK84F,EAAKC,EACzB/4F,EAAK84F,EAAK54F,EAAKolE,EAAKrlE,EAAK84F,EAHzB/4F,EAAKC,EAAKC,EAAKolE,EAAKwzB,EAAKC,GAQnC,SAASC,IACP,IAAIxD,EAAWz8I,KAAKkgJ,KAAKC,cAAgBngJ,KAAK28I,WAC1C5C,EAAW/5I,KAAKm9I,UAAU,GAAGz1I,EAAI1H,KAAK28I,WACtCyD,EAAUpgJ,KAAKm9I,UAAUn9I,KAAKm9I,UAAU16I,OAAS,GAAGiF,EAAI1H,KAAK28I,WACjE,KAAMF,IAAaz8I,KAAKqgJ,SAASxC,WAAc79I,KAAKqgJ,SAASxC,YAAcvB,IAAet8I,KAAKqgJ,SAASxC,WAAauC,GAAW3D,GAAY2D,GAAapgJ,KAAKqgJ,SAASxC,UAAY9D,GAAY0C,EAAW1C,IAAc,CAClN/5I,KAAKqgJ,SAASxC,WAAapB,IAC7Bz8I,KAAKqgJ,SAASvC,oBAAsB,EACpC99I,KAAKqgJ,SAASz2B,UAAY,GAG5B,IAAI02B,EAAetgJ,KAAKw8I,iBAAiBC,EAAUz8I,KAAKqgJ,UACxDrgJ,KAAK68I,GAAKyD,EAGZ,OADAtgJ,KAAKqgJ,SAASxC,UAAYpB,EACnBz8I,KAAK68I,GAGd,SAAS0D,EAAUh5I,GACjB,IAAIi5I,EACJ,GAAsB,mBAAlBxgJ,KAAK48I,SACP4D,EAAkBj5I,EAAMvH,KAAKygJ,KACzBlE,EAAQv8I,KAAK2I,EAAI63I,GAAmB,OACtCxgJ,KAAK2I,EAAI63I,EACTxgJ,KAAKqlI,MAAO,QAKd,IAFA,IAAI3iI,EAAI,EACJ8M,EAAMxP,KAAK2I,EAAElG,OACVC,EAAI8M,GACTgxI,EAAkBj5I,EAAI7E,GAAK1C,KAAKygJ,KAC5BlE,EAAQv8I,KAAK2I,EAAEjG,GAAK89I,GAAmB,OACzCxgJ,KAAK2I,EAAEjG,GAAK89I,EACZxgJ,KAAKqlI,MAAO,GAEd3iI,GAAK,EAKX,SAASg+I,IACP,GAAI1gJ,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,SAAY7gJ,KAAK8gJ,gBAAgBr+I,OAG3E,GAAIzC,KAAK+gJ,KACP/gJ,KAAKugJ,UAAUvgJ,KAAK68I,QADtB,CAMA,IAAIn6I,EAFJ1C,KAAK+gJ,MAAO,EACZ/gJ,KAAKqlI,KAAOrlI,KAAKghJ,cAEjB,IAAIxxI,EAAMxP,KAAK8gJ,gBAAgBr+I,OAC3Bw+I,EAAajhJ,KAAKkhJ,GAAKlhJ,KAAK68I,GAAK78I,KAAK4P,KAAK6N,EAC/C,IAAK/a,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBu+I,EAAajhJ,KAAK8gJ,gBAAgBp+I,GAAGu+I,GAEvCjhJ,KAAKugJ,UAAUU,GACfjhJ,KAAKghJ,eAAgB,EACrBhhJ,KAAK+gJ,MAAO,EACZ/gJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,SAGtC,SAASM,EAAUC,GACjBphJ,KAAK8gJ,gBAAgB5+I,KAAKk/I,GAC1BphJ,KAAK0J,UAAUu7H,mBAAmBjlI,MAGpC,SAASqhJ,EAAcV,EAAM/wI,EAAM6wI,EAAM/2I,GACvC1J,KAAK48I,SAAW,iBAChB58I,KAAKygJ,KAAOA,GAAQ,EACpBzgJ,KAAK4P,KAAOA,EACZ5P,KAAK2I,EAAI83I,EAAO7wI,EAAK6N,EAAIgjI,EAAO7wI,EAAK6N,EACrCzd,KAAK68I,GAAKjtI,EAAK6N,EACfzd,KAAKqlI,MAAO,EACZrlI,KAAK2gJ,KAAOA,EACZ3gJ,KAAK0J,UAAYA,EACjB1J,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAKyd,GAAI,EACTzd,KAAKkhJ,IAAK,EACVlhJ,KAAKshJ,IAAM,EACXthJ,KAAK8gJ,gBAAkB,GACvB9gJ,KAAKghJ,eAAgB,EACrBhhJ,KAAK2nF,SAAW+4D,EAChB1gJ,KAAKugJ,UAAYA,EACjBvgJ,KAAKmhJ,UAAYA,EAGnB,SAASI,EAAyBZ,EAAM/wI,EAAM6wI,EAAM/2I,GAWlD,IAAIhH,EAVJ1C,KAAK48I,SAAW,mBAChB58I,KAAKygJ,KAAOA,GAAQ,EACpBzgJ,KAAK4P,KAAOA,EACZ5P,KAAKqlI,MAAO,EACZrlI,KAAK2gJ,KAAOA,EACZ3gJ,KAAK0J,UAAYA,EACjB1J,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAKyd,GAAI,EACTzd,KAAKkhJ,IAAK,EACVlhJ,KAAK6gJ,SAAW,EAEhB,IAAIrxI,EAAMI,EAAK6N,EAAEhb,OAIjB,IAHAzC,KAAK2I,EAAIg8H,EAAiB,UAAWn1H,GACrCxP,KAAK68I,GAAKlY,EAAiB,UAAWn1H,GACtCxP,KAAKshJ,IAAM3c,EAAiB,UAAWn1H,GAClC9M,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK2I,EAAEjG,GAAKkN,EAAK6N,EAAE/a,GAAK1C,KAAKygJ,KAC7BzgJ,KAAK68I,GAAGn6I,GAAKkN,EAAK6N,EAAE/a,GAEtB1C,KAAKghJ,eAAgB,EACrBhhJ,KAAK8gJ,gBAAkB,GACvB9gJ,KAAK2nF,SAAW+4D,EAChB1gJ,KAAKugJ,UAAYA,EACjBvgJ,KAAKmhJ,UAAYA,EAGnB,SAASK,EAAuBb,EAAM/wI,EAAM6wI,EAAM/2I,GAChD1J,KAAK48I,SAAW,iBAChB58I,KAAKm9I,UAAYvtI,EAAK6N,EACtBzd,KAAKo9I,kBAAoB,GACzBp9I,KAAK28I,WAAagE,EAAK/wI,KAAK6xI,GAC5BzhJ,KAAK6gJ,SAAW,EAChB7gJ,KAAKqgJ,SAAW,CACdxC,UAAWvB,EAAW1yB,UAAW,EAAGpsH,MAAO,EAAGsgJ,oBAAqB,GAErE99I,KAAKyd,GAAI,EACTzd,KAAKkhJ,IAAK,EACVlhJ,KAAK4P,KAAOA,EACZ5P,KAAKygJ,KAAOA,GAAQ,EACpBzgJ,KAAK2gJ,KAAOA,EACZ3gJ,KAAK0J,UAAYA,EACjB1J,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAK2I,EAAI2zI,EACTt8I,KAAK68I,GAAKP,EACVt8I,KAAKghJ,eAAgB,EACrBhhJ,KAAK2nF,SAAW+4D,EAChB1gJ,KAAKugJ,UAAYA,EACjBvgJ,KAAKw8I,iBAAmBA,EACxBx8I,KAAK8gJ,gBAAkB,CAACb,EAAsBvtH,KAAK1yB,OACnDA,KAAKmhJ,UAAYA,EAGnB,SAASO,EAAkCf,EAAM/wI,EAAM6wI,EAAM/2I,GAE3D,IAAIhH,EADJ1C,KAAK48I,SAAW,mBAEhB,IACIh1I,EACAJ,EACAg2I,EACAvvC,EAJAz+F,EAAMI,EAAK6N,EAAEhb,OAKjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAM,EAAG9M,GAAK,EACxBkN,EAAK6N,EAAE/a,GAAG86I,IAAM5tI,EAAK6N,EAAE/a,GAAGkF,GAAKgI,EAAK6N,EAAE/a,EAAI,IAAMkN,EAAK6N,EAAE/a,EAAI,GAAGkF,IAChEA,EAAIgI,EAAK6N,EAAE/a,GAAGkF,EACdJ,EAAIoI,EAAK6N,EAAE/a,EAAI,GAAGkF,EAClB41I,EAAK5tI,EAAK6N,EAAE/a,GAAG86I,GACfvvC,EAAKr+F,EAAK6N,EAAE/a,GAAGurG,IACG,IAAbrmG,EAAEnF,SAAkBmF,EAAE,KAAOJ,EAAE,IAAMI,EAAE,KAAOJ,EAAE,KAAOmsI,EAAI1E,cAAcrnI,EAAE,GAAIA,EAAE,GAAIJ,EAAE,GAAIA,EAAE,GAAII,EAAE,GAAK41I,EAAG,GAAI51I,EAAE,GAAK41I,EAAG,KAAO7J,EAAI1E,cAAcrnI,EAAE,GAAIA,EAAE,GAAIJ,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAKymG,EAAG,GAAIzmG,EAAE,GAAKymG,EAAG,KAAsB,IAAbrmG,EAAEnF,SAAkBmF,EAAE,KAAOJ,EAAE,IAAMI,EAAE,KAAOJ,EAAE,IAAMI,EAAE,KAAOJ,EAAE,KAAOmsI,EAAIvE,cAAcxnI,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIJ,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAII,EAAE,GAAK41I,EAAG,GAAI51I,EAAE,GAAK41I,EAAG,GAAI51I,EAAE,GAAK41I,EAAG,KAAO7J,EAAIvE,cAAcxnI,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIJ,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAKymG,EAAG,GAAIzmG,EAAE,GAAKymG,EAAG,GAAIzmG,EAAE,GAAKymG,EAAG,OACrdr+F,EAAK6N,EAAE/a,GAAG86I,GAAK,KACf5tI,EAAK6N,EAAE/a,GAAGurG,GAAK,MAEbrmG,EAAE,KAAOJ,EAAE,IAAMI,EAAE,KAAOJ,EAAE,IAAgB,IAAVg2I,EAAG,IAAsB,IAAVA,EAAG,IAAsB,IAAVvvC,EAAG,IAAsB,IAAVA,EAAG,KACnE,IAAbrmG,EAAEnF,QAAiBmF,EAAE,KAAOJ,EAAE,IAAgB,IAAVg2I,EAAG,IAAsB,IAAVvvC,EAAG,MACxDr+F,EAAK6N,EAAE/a,GAAG86I,GAAK,KACf5tI,EAAK6N,EAAE/a,GAAGurG,GAAK,OAKvBjuG,KAAK8gJ,gBAAkB,CAACb,EAAsBvtH,KAAK1yB,OACnDA,KAAK4P,KAAOA,EACZ5P,KAAKm9I,UAAYvtI,EAAK6N,EACtBzd,KAAKo9I,kBAAoB,GACzBp9I,KAAK28I,WAAagE,EAAK/wI,KAAK6xI,GAC5BzhJ,KAAKyd,GAAI,EACTzd,KAAKkhJ,IAAK,EACVlhJ,KAAKghJ,eAAgB,EACrBhhJ,KAAKygJ,KAAOA,GAAQ,EACpBzgJ,KAAK2gJ,KAAOA,EACZ3gJ,KAAK0J,UAAYA,EACjB1J,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAK2nF,SAAW+4D,EAChB1gJ,KAAKugJ,UAAYA,EACjBvgJ,KAAKw8I,iBAAmBA,EACxBx8I,KAAK6gJ,SAAW,EAChB,IAAIc,EAAS/xI,EAAK6N,EAAE,GAAG7V,EAAEnF,OAGzB,IAFAzC,KAAK2I,EAAIg8H,EAAiB,UAAWgd,GACrC3hJ,KAAK68I,GAAKlY,EAAiB,UAAWgd,GACjCj/I,EAAI,EAAGA,EAAIi/I,EAAQj/I,GAAK,EAC3B1C,KAAK2I,EAAEjG,GAAK45I,EACZt8I,KAAK68I,GAAGn6I,GAAK45I,EAEft8I,KAAKqgJ,SAAW,CAAExC,UAAWvB,EAAW1yB,UAAW,EAAGpsH,MAAOmnI,EAAiB,UAAWgd,IACzF3hJ,KAAKmhJ,UAAYA,EAGnB,SAASS,EAAQjB,EAAM/wI,EAAMnQ,EAAMghJ,EAAM/2I,GACvC,IAAIvB,EACJ,GAAKyH,EAAK6N,EAAEhb,OAEL,GAA2B,kBAAfmN,EAAK6N,EAAE,GACxBtV,EAAI,IAAIo5I,EAAyBZ,EAAM/wI,EAAM6wI,EAAM/2I,QAEnD,OAAQjK,GACN,KAAK,EACH0I,EAAI,IAAIq5I,EAAuBb,EAAM/wI,EAAM6wI,EAAM/2I,GACjD,MACF,KAAK,EACHvB,EAAI,IAAIu5I,EAAkCf,EAAM/wI,EAAM6wI,EAAM/2I,QAThEvB,EAAI,IAAIk5I,EAAcV,EAAM/wI,EAAM6wI,EAAM/2I,GAkB1C,OAHIvB,EAAE24I,gBAAgBr+I,QACpBiH,EAAUu7H,mBAAmB98H,GAExBA,EAMT,MAHS,CACPy5I,QAASA,GApdU,GA4dnBC,EAA4B,WAC9B,IAAIC,EAAgB,CAAC,EAAG,GAExB,SAASC,EAAcC,GACrB,IAAI3c,EAAOrlI,KAAKqlI,KAChBrlI,KAAKolI,2BACLplI,KAAKqlI,KAAOrlI,KAAKqlI,MAAQA,EACrBrlI,KAAK6H,GACPm6I,EAAI/a,WAAWjnI,KAAK6H,EAAEc,EAAE,IAAK3I,KAAK6H,EAAEc,EAAE,GAAI3I,KAAK6H,EAAEc,EAAE,IAEjD3I,KAAK4H,GACPo6I,EAAIlb,MAAM9mI,KAAK4H,EAAEe,EAAE,GAAI3I,KAAK4H,EAAEe,EAAE,GAAI3I,KAAK4H,EAAEe,EAAE,IAE3C3I,KAAK+qB,IACPi3H,EAAInb,cAAc7mI,KAAK+qB,GAAGpiB,EAAG3I,KAAKwlF,GAAG78E,GAEnC3I,KAAK2H,EACPq6I,EAAIhc,QAAQhmI,KAAK2H,EAAEgB,GAEnBq5I,EAAI1b,SAAStmI,KAAKiiJ,GAAGt5I,GAAG09H,QAAQrmI,KAAKkiJ,GAAGv5I,GAAGy9H,QAAQpmI,KAAK0lC,GAAG/8B,GAAG29H,SAAStmI,KAAKsgC,GAAG33B,EAAE,IAC9E09H,QAAQrmI,KAAKsgC,GAAG33B,EAAE,IAClBy9H,QAAQpmI,KAAKsgC,GAAG33B,EAAE,IAEnB3I,KAAK4P,KAAKzH,EAAEP,EACV5H,KAAK4P,KAAKzH,EAAE8X,EACd+hI,EAAI/a,UAAUjnI,KAAKmiJ,GAAGx5I,EAAG3I,KAAKoiJ,GAAGz5I,GAAI3I,KAAKqiJ,GAAG15I,GAE7Cq5I,EAAI/a,UAAUjnI,KAAKmiJ,GAAGx5I,EAAG3I,KAAKoiJ,GAAGz5I,EAAG,GAGtCq5I,EAAI/a,UAAUjnI,KAAKmI,EAAEQ,EAAE,GAAI3I,KAAKmI,EAAEQ,EAAE,IAAK3I,KAAKmI,EAAEQ,EAAE,IAGtD,SAAS25I,EAAYC,GACnB,GAAIviJ,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,QAA1C,CAUA,GAPI7gJ,KAAKwiJ,WACPxiJ,KAAKyiJ,qBACLziJ,KAAKwiJ,UAAW,GAGlBxiJ,KAAKolI,2BAEDplI,KAAKqlI,MAAQkd,EAAa,CAC5B,IAAIG,EAkBJ,GAjBA1iJ,KAAK2I,EAAE2/H,eAAetoI,KAAK2iJ,IAAI39I,OAC3BhF,KAAK4iJ,uBAAyB,GAChC5iJ,KAAK2I,EAAEs+H,WAAWjnI,KAAK6H,EAAEc,EAAE,IAAK3I,KAAK6H,EAAEc,EAAE,GAAI3I,KAAK6H,EAAEc,EAAE,IAEpD3I,KAAK4iJ,uBAAyB,GAChC5iJ,KAAK2I,EAAEm+H,MAAM9mI,KAAK4H,EAAEe,EAAE,GAAI3I,KAAK4H,EAAEe,EAAE,GAAI3I,KAAK4H,EAAEe,EAAE,IAE9C3I,KAAK+qB,IAAM/qB,KAAK4iJ,uBAAyB,GAC3C5iJ,KAAK2I,EAAEk+H,cAAc7mI,KAAK+qB,GAAGpiB,EAAG3I,KAAKwlF,GAAG78E,GAEtC3I,KAAK2H,GAAK3H,KAAK4iJ,uBAAyB,EAC1C5iJ,KAAK2I,EAAEq9H,QAAQhmI,KAAK2H,EAAEgB,IACZ3I,KAAK2H,GAAK3H,KAAK4iJ,uBAAyB,GAClD5iJ,KAAK2I,EAAE29H,SAAStmI,KAAKiiJ,GAAGt5I,GAAG09H,QAAQrmI,KAAKkiJ,GAAGv5I,GAAGy9H,QAAQpmI,KAAK0lC,GAAG/8B,GAAG29H,SAAStmI,KAAKsgC,GAAG33B,EAAE,IACjF09H,QAAQrmI,KAAKsgC,GAAG33B,EAAE,IAClBy9H,QAAQpmI,KAAKsgC,GAAG33B,EAAE,IAEnB3I,KAAK6iJ,aAAc,CACrB,IAAIlrH,EACAC,EAEJ,GADA8qH,EAAY1iJ,KAAK2gJ,KAAKC,WAAW8B,UAC7B1iJ,KAAKmI,GAAKnI,KAAKmI,EAAEg1I,WAAan9I,KAAKmI,EAAE26I,eACnC9iJ,KAAKmI,EAAEk4I,SAASxC,UAAY79I,KAAKmI,EAAEw0I,YAAc38I,KAAKmI,EAAEg1I,UAAU,GAAGz1I,GACvEiwB,EAAK33B,KAAKmI,EAAE26I,gBAAgB9iJ,KAAKmI,EAAEg1I,UAAU,GAAGz1I,EAAI,KAAQg7I,EAAW,GACvE9qH,EAAK53B,KAAKmI,EAAE26I,eAAe9iJ,KAAKmI,EAAEg1I,UAAU,GAAGz1I,EAAIg7I,EAAW,IACrD1iJ,KAAKmI,EAAEk4I,SAASxC,UAAY79I,KAAKmI,EAAEw0I,YAAc38I,KAAKmI,EAAEg1I,UAAUn9I,KAAKmI,EAAEg1I,UAAU16I,OAAS,GAAGiF,GACxGiwB,EAAK33B,KAAKmI,EAAE26I,eAAgB9iJ,KAAKmI,EAAEg1I,UAAUn9I,KAAKmI,EAAEg1I,UAAU16I,OAAS,GAAGiF,EAAIg7I,EAAY,GAC1F9qH,EAAK53B,KAAKmI,EAAE26I,gBAAgB9iJ,KAAKmI,EAAEg1I,UAAUn9I,KAAKmI,EAAEg1I,UAAU16I,OAAS,GAAGiF,EAAI,KAAQg7I,EAAW,KAEjG/qH,EAAK33B,KAAKmI,EAAE00I,GACZjlH,EAAK53B,KAAKmI,EAAE26I,gBAAgB9iJ,KAAKmI,EAAEk4I,SAASxC,UAAY79I,KAAKmI,EAAEw0I,WAAa,KAAQ+F,EAAW1iJ,KAAKmI,EAAEw0I,kBAEnG,GAAI38I,KAAKmiJ,IAAMniJ,KAAKmiJ,GAAGhF,WAAan9I,KAAKoiJ,GAAGjF,WAAan9I,KAAKmiJ,GAAGW,gBAAkB9iJ,KAAKoiJ,GAAGU,eAAgB,CAChHnrH,EAAK,GACLC,EAAK,GACL,IAAIuqH,EAAKniJ,KAAKmiJ,GACVC,EAAKpiJ,KAAKoiJ,GACVD,EAAG9B,SAASxC,UAAYsE,EAAGxF,YAAcwF,EAAGhF,UAAU,GAAGz1I,GAC3DiwB,EAAG,GAAKwqH,EAAGW,gBAAgBX,EAAGhF,UAAU,GAAGz1I,EAAI,KAAQg7I,EAAW,GAClE/qH,EAAG,GAAKyqH,EAAGU,gBAAgBV,EAAGjF,UAAU,GAAGz1I,EAAI,KAAQg7I,EAAW,GAClE9qH,EAAG,GAAKuqH,EAAGW,eAAgBX,EAAGhF,UAAU,GAAGz1I,EAAKg7I,EAAW,GAC3D9qH,EAAG,GAAKwqH,EAAGU,eAAgBV,EAAGjF,UAAU,GAAGz1I,EAAKg7I,EAAW,IAClDP,EAAG9B,SAASxC,UAAYsE,EAAGxF,YAAcwF,EAAGhF,UAAUgF,EAAGhF,UAAU16I,OAAS,GAAGiF,GACxFiwB,EAAG,GAAKwqH,EAAGW,eAAgBX,EAAGhF,UAAUgF,EAAGhF,UAAU16I,OAAS,GAAGiF,EAAIg7I,EAAY,GACjF/qH,EAAG,GAAKyqH,EAAGU,eAAgBV,EAAGjF,UAAUiF,EAAGjF,UAAU16I,OAAS,GAAGiF,EAAIg7I,EAAY,GACjF9qH,EAAG,GAAKuqH,EAAGW,gBAAgBX,EAAGhF,UAAUgF,EAAGhF,UAAU16I,OAAS,GAAGiF,EAAI,KAAQg7I,EAAW,GACxF9qH,EAAG,GAAKwqH,EAAGU,gBAAgBV,EAAGjF,UAAUiF,EAAGjF,UAAU16I,OAAS,GAAGiF,EAAI,KAAQg7I,EAAW,KAExF/qH,EAAK,CAACwqH,EAAGtF,GAAIuF,EAAGvF,IAChBjlH,EAAG,GAAKuqH,EAAGW,gBAAgBX,EAAG9B,SAASxC,UAAYsE,EAAGxF,WAAa,KAAQ+F,EAAWP,EAAGxF,YACzF/kH,EAAG,GAAKwqH,EAAGU,gBAAgBV,EAAG/B,SAASxC,UAAYuE,EAAGzF,WAAa,KAAQ+F,EAAWN,EAAGzF,kBAI3FhlH,EADAC,EAAKkqH,EAGP9hJ,KAAK2I,EAAEq9H,QAAQ3yH,KAAKssI,MAAMhoH,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,KAElD53B,KAAK4P,KAAKzH,GAAKnI,KAAK4P,KAAKzH,EAAEP,EACzB5H,KAAK4P,KAAKzH,EAAE8X,EACdjgB,KAAK2I,EAAEs+H,UAAUjnI,KAAKmiJ,GAAGx5I,EAAG3I,KAAKoiJ,GAAGz5I,GAAI3I,KAAKqiJ,GAAG15I,GAEhD3I,KAAK2I,EAAEs+H,UAAUjnI,KAAKmiJ,GAAGx5I,EAAG3I,KAAKoiJ,GAAGz5I,EAAG,GAGzC3I,KAAK2I,EAAEs+H,UAAUjnI,KAAKmI,EAAEQ,EAAE,GAAI3I,KAAKmI,EAAEQ,EAAE,IAAK3I,KAAKmI,EAAEQ,EAAE,IAGzD3I,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,SAGtC,SAAS4B,IACP,IAAKziJ,KAAK6H,EAAE4V,IACVzd,KAAK2iJ,IAAI1b,WAAWjnI,KAAK6H,EAAEc,EAAE,IAAK3I,KAAK6H,EAAEc,EAAE,GAAI3I,KAAK6H,EAAEc,EAAE,IACxD3I,KAAK4iJ,uBAAyB,GAI3B5iJ,KAAK4H,EAAEk5I,gBAAgBr+I,QAA5B,CAMA,GALEzC,KAAK2iJ,IAAI7b,MAAM9mI,KAAK4H,EAAEe,EAAE,GAAI3I,KAAK4H,EAAEe,EAAE,GAAI3I,KAAK4H,EAAEe,EAAE,IAClD3I,KAAK4iJ,uBAAyB,EAI5B5iJ,KAAK+qB,GAAI,CACX,GAAK/qB,KAAK+qB,GAAG+1H,gBAAgBr+I,QAAWzC,KAAKwlF,GAAGs7D,gBAAgBr+I,OAI9D,OAHAzC,KAAK2iJ,IAAI9b,cAAc7mI,KAAK+qB,GAAGpiB,EAAG3I,KAAKwlF,GAAG78E,GAC1C3I,KAAK4iJ,uBAAyB,EAK9B5iJ,KAAK2H,EACF3H,KAAK2H,EAAEm5I,gBAAgBr+I,SAC1BzC,KAAK2iJ,IAAI3c,QAAQhmI,KAAK2H,EAAEgB,GACxB3I,KAAK4iJ,uBAAyB,GAEtB5iJ,KAAKiiJ,GAAGnB,gBAAgBr+I,QAAWzC,KAAKkiJ,GAAGpB,gBAAgBr+I,QAAWzC,KAAK0lC,GAAGo7G,gBAAgBr+I,QAAWzC,KAAKsgC,GAAGwgH,gBAAgBr+I,SAC3IzC,KAAK2iJ,IAAIrc,SAAStmI,KAAKiiJ,GAAGt5I,GAAG09H,QAAQrmI,KAAKkiJ,GAAGv5I,GAAGy9H,QAAQpmI,KAAK0lC,GAAG/8B,GAAG29H,SAAStmI,KAAKsgC,GAAG33B,EAAE,IACnF09H,QAAQrmI,KAAKsgC,GAAG33B,EAAE,IAClBy9H,QAAQpmI,KAAKsgC,GAAG33B,EAAE,IACrB3I,KAAK4iJ,uBAAyB,IAIlC,SAASG,KAKT,SAAS9d,EAAmBrvD,GAC1B51E,KAAKgjJ,oBAAoBptE,GACzB51E,KAAK2gJ,KAAK1b,mBAAmBrvD,GAC7B51E,KAAKwiJ,UAAW,EAGlB,SAASS,EAAkBtC,EAAM/wI,EAAMlG,GAmBrC,GAlBA1J,KAAK2gJ,KAAOA,EACZ3gJ,KAAK6gJ,SAAW,EAChB7gJ,KAAK48I,SAAW,YAChB58I,KAAK4P,KAAOA,EACZ5P,KAAK2I,EAAI,IAAIg9H,EAEb3lI,KAAK2iJ,IAAM,IAAIhd,EACf3lI,KAAK4iJ,uBAAyB,EAC9B5iJ,KAAKslI,6BAA6B57H,GAAai3I,GAC3C/wI,EAAKzH,GAAKyH,EAAKzH,EAAEP,GACnB5H,KAAKmiJ,GAAK9F,EAAgBuF,QAAQjB,EAAM/wI,EAAKzH,EAAEG,EAAG,EAAG,EAAGtI,MACxDA,KAAKoiJ,GAAK/F,EAAgBuF,QAAQjB,EAAM/wI,EAAKzH,EAAEe,EAAG,EAAG,EAAGlJ,MACpD4P,EAAKzH,EAAE8X,IACTjgB,KAAKqiJ,GAAKhG,EAAgBuF,QAAQjB,EAAM/wI,EAAKzH,EAAE8X,EAAG,EAAG,EAAGjgB,QAG1DA,KAAKmI,EAAIk0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKzH,GAAK,CAAEsV,EAAG,CAAC,EAAG,EAAG,IAAM,EAAG,EAAGzd,MAEvE4P,EAAK81B,GAAI,CAIX,GAHA1lC,KAAK0lC,GAAK22G,EAAgBuF,QAAQjB,EAAM/wI,EAAK81B,GAAI,EAAG88F,EAAWxiI,MAC/DA,KAAKkiJ,GAAK7F,EAAgBuF,QAAQjB,EAAM/wI,EAAKsyI,GAAI,EAAG1f,EAAWxiI,MAC/DA,KAAKiiJ,GAAK5F,EAAgBuF,QAAQjB,EAAM/wI,EAAKqyI,GAAI,EAAGzf,EAAWxiI,MAC3D4P,EAAK0wB,GAAG7iB,EAAE,GAAGwwF,GAAI,CACnB,IAAIvrG,EACA8M,EAAMI,EAAK0wB,GAAG7iB,EAAEhb,OACpB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBkN,EAAK0wB,GAAG7iB,EAAE/a,GAAG86I,GAAK,KAClB5tI,EAAK0wB,GAAG7iB,EAAE/a,GAAGurG,GAAK,KAGtBjuG,KAAKsgC,GAAK+7G,EAAgBuF,QAAQjB,EAAM/wI,EAAK0wB,GAAI,EAAGkiG,EAAWxiI,MAE/DA,KAAKsgC,GAAG0pE,IAAK,OAEbhqG,KAAK2H,EAAI00I,EAAgBuF,QAAQjB,EAAM/wI,EAAKjI,GAAK,CAAE8V,EAAG,GAAK,EAAG+kH,EAAWxiI,MAEvE4P,EAAKmb,KACP/qB,KAAK+qB,GAAKsxH,EAAgBuF,QAAQjB,EAAM/wI,EAAKmb,GAAI,EAAGy3G,EAAWxiI,MAC/DA,KAAKwlF,GAAK62D,EAAgBuF,QAAQjB,EAAM/wI,EAAK41E,GAAI,EAAGg9C,EAAWxiI,OAEjEA,KAAK6H,EAAIw0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK/H,GAAK,CAAE4V,EAAG,CAAC,EAAG,EAAG,IAAM,EAAG,EAAGzd,MACzEA,KAAK4H,EAAIy0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKhI,GAAK,CAAE6V,EAAG,CAAC,IAAK,IAAK,MAAQ,EAAG,IAAMzd,MAE9E4P,EAAK9H,EACP9H,KAAK8H,EAAIu0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK9H,EAAG,EAAG,IAAM64I,GAExD3gJ,KAAK8H,EAAI,CAAEu9H,MAAM,EAAO18H,EAAG,GAE7B3I,KAAKwiJ,UAAW,EACXxiJ,KAAKklI,kBAAkBziI,QAC1BzC,KAAK2nF,UAAS,GAelB,SAASu7D,EAAqBvC,EAAM/wI,EAAMlG,GACxC,OAAO,IAAIu5I,EAAkBtC,EAAM/wI,EAAMlG,GAG3C,OAfAu5I,EAAkBvmJ,UAAY,CAC5BqlJ,cAAeA,EACfp6D,SAAU26D,EACVG,mBAAoBA,EACpBM,WAAYA,GAGdrU,EAAgB,CAAC1J,GAA2Bie,GAC5CA,EAAkBvmJ,UAAUuoI,mBAAqBA,EACjDge,EAAkBvmJ,UAAUsmJ,oBAAsBhe,EAAyBtoI,UAAUuoI,mBAM9E,CACLie,qBAAsBA,GAzOM,GA+OhC,SAASC,IACPnjJ,KAAKkI,GAAI,EACTlI,KAAK+1H,QAAU,EACf/1H,KAAKojJ,WAAa,EAClBpjJ,KAAK2I,EAAI25H,EAAiBtiI,KAAKojJ,YAC/BpjJ,KAAK8H,EAAIw6H,EAAiBtiI,KAAKojJ,YAC/BpjJ,KAAK0C,EAAI4/H,EAAiBtiI,KAAKojJ,YAGjCD,EAAUzmJ,UAAU2mJ,YAAc,SAAUzjF,EAAQpwD,GAClDxP,KAAKkI,EAAI03D,EACT5/D,KAAKsjJ,UAAU9zI,GAEf,IADA,IAAI9M,EAAI,EACDA,EAAI8M,GACTxP,KAAK2I,EAAEjG,GAAK6gJ,GAAUhT,aACtBvwI,KAAK8H,EAAEpF,GAAK6gJ,GAAUhT,aACtBvwI,KAAK0C,EAAEA,GAAK6gJ,GAAUhT,aACtB7tI,GAAK,GAITygJ,EAAUzmJ,UAAU4mJ,UAAY,SAAU9zI,GACxC,KAAOxP,KAAKojJ,WAAa5zI,GACvBxP,KAAKwjJ,oBAEPxjJ,KAAK+1H,QAAUvmH,GAGjB2zI,EAAUzmJ,UAAU8mJ,kBAAoB,WACtCxjJ,KAAK2I,EAAI3I,KAAK2I,EAAEsM,OAAOqtH,EAAiBtiI,KAAKojJ,aAC7CpjJ,KAAK0C,EAAI1C,KAAK0C,EAAEuS,OAAOqtH,EAAiBtiI,KAAKojJ,aAC7CpjJ,KAAK8H,EAAI9H,KAAK8H,EAAEmN,OAAOqtH,EAAiBtiI,KAAKojJ,aAC7CpjJ,KAAKojJ,YAAc,GAGrBD,EAAUzmJ,UAAU+mJ,QAAU,SAAUn7I,EAAGY,EAAGzJ,EAAM0V,EAAK+E,GACvD,IAAI5M,EAKJ,OAJAtN,KAAK+1H,QAAU1iH,KAAKoC,IAAIzV,KAAK+1H,QAAS5gH,EAAM,GACxCnV,KAAK+1H,SAAW/1H,KAAKojJ,YACvBpjJ,KAAKwjJ,oBAEC/jJ,GACN,IAAK,IACH6N,EAAMtN,KAAK2I,EACX,MACF,IAAK,IACH2E,EAAMtN,KAAK0C,EACX,MACF,IAAK,IACH4K,EAAMtN,KAAK8H,EACX,MACF,QACEwF,EAAM,KAGLA,EAAI6H,IAAS7H,EAAI6H,KAAS+E,KAC7B5M,EAAI6H,GAAOouI,GAAUhT,cAEvBjjI,EAAI6H,GAAK,GAAK7M,EACdgF,EAAI6H,GAAK,GAAKjM,GAGhBi6I,EAAUzmJ,UAAUgnJ,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI7uI,EAAK+E,GACvEla,KAAKyjJ,QAAQE,EAAIC,EAAI,IAAKzuI,EAAK+E,GAC/Bla,KAAKyjJ,QAAQI,EAAIC,EAAI,IAAK3uI,EAAK+E,GAC/Bla,KAAKyjJ,QAAQM,EAAIC,EAAI,IAAK7uI,EAAK+E,IAGjCipI,EAAUzmJ,UAAUgH,QAAU,WAC5B,IAAIugJ,EAAU,IAAId,EAClBc,EAAQZ,YAAYrjJ,KAAKkI,EAAGlI,KAAK+1H,SACjC,IAAImuB,EAAWlkJ,KAAK2I,EAChBw7I,EAAYnkJ,KAAK8H,EACjBs8I,EAAWpkJ,KAAK0C,EAChB4Z,EAAO,EACPtc,KAAKkI,IACP+7I,EAAQP,YAAYQ,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAIE,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAID,EAAU,GAAG,GAAIA,EAAU,GAAG,GAAI,GAAG,GACzH7nI,EAAO,GAET,IAGI5Z,EAHAovC,EAAM9xC,KAAK+1H,QAAU,EACrBvmH,EAAMxP,KAAK+1H,QAGf,IAAKrzH,EAAI4Z,EAAM5Z,EAAI8M,EAAK9M,GAAK,EAC3BuhJ,EAAQP,YAAYQ,EAASpyG,GAAK,GAAIoyG,EAASpyG,GAAK,GAAIsyG,EAAStyG,GAAK,GAAIsyG,EAAStyG,GAAK,GAAIqyG,EAAUryG,GAAK,GAAIqyG,EAAUryG,GAAK,GAAIpvC,GAAG,GACrIovC,GAAO,EAET,OAAOmyG,GAOT,IAAII,GAAwB,WAC1B,IAAI/H,GAAa,OAEjB,SAASgI,EAAiB7H,EAAU8H,EAAe7H,GACjD,IACI8H,EACAC,EACAC,EACAh8I,EACA+U,EACAm3H,EACAC,EACA9E,EACA4U,EATAzH,EAAiBR,EAAQ9yB,UAUzBs3B,EAAKlhJ,KAAKm9I,UACd,GAAIV,EAAWyE,EAAG,GAAGx5I,EAAI1H,KAAK28I,WAC5B6H,EAAWtD,EAAG,GAAGt5I,EAAE,GACnB88I,GAAS,EACTxH,EAAiB,OACZ,GAAIT,GAAYyE,EAAGA,EAAGz+I,OAAS,GAAGiF,EAAI1H,KAAK28I,WAChD6H,EAAWtD,EAAGA,EAAGz+I,OAAS,GAAGmF,EAAIs5I,EAAGA,EAAGz+I,OAAS,GAAGmF,EAAE,GAAKs5I,EAAGA,EAAGz+I,OAAS,GAAG+E,EAAE,GAM9Ek9I,GAAS,MACJ,CAOL,IANA,IAGI5H,EACAC,EACAC,EALAt6I,EAAIw6I,EACJ1tI,EAAM0xI,EAAGz+I,OAAS,EAClBkgI,GAAO,EAIJA,IACLma,EAAUoE,EAAGx+I,MACbq6I,EAAcmE,EAAGx+I,EAAI,IACJgF,EAAI1H,KAAK28I,WAAcF,KAGpC/5I,EAAI8M,EAAM,EACZ9M,GAAK,EAELigI,GAAO,EAMX,GAHAqa,EAAmBh9I,KAAKo9I,kBAAkB16I,IAAM,GAEhDw6I,EAAiBx6I,IADjBgiJ,EAAuB,IAAd5H,EAAQh0I,GAEJ,CACX,GAAI2zI,GAAYM,EAAYr1I,EAAI1H,KAAK28I,WACnC5M,EAAO,OACF,GAAI0M,EAAWK,EAAQp1I,EAAI1H,KAAK28I,WACrC5M,EAAO,MACF,CACL,IAAIkN,EACAD,EAAiBU,OACnBT,EAAMD,EAAiBU,QAEvBT,EAAMlR,EAAcC,gBAAgB8Q,EAAQh1I,EAAEQ,EAAGw0I,EAAQh1I,EAAEoB,EAAG4zI,EAAQp6I,EAAE4F,EAAGw0I,EAAQp6I,EAAEwG,GAAGwsB,IACxFsnH,EAAiBU,OAAST,GAE5BlN,EAAOkN,GAAKR,GAAYK,EAAQp1I,EAAI1H,KAAK28I,cAAiBI,EAAYr1I,EAAI1H,KAAK28I,YAAeG,EAAQp1I,EAAI1H,KAAK28I,cAEjH8H,EAAW1H,EAAYn1I,EAAIm1I,EAAYn1I,EAAE,GAAKk1I,EAAQt1I,EAAE,GAE1Dg9I,EAAW1H,EAAQl1I,EAAE,GAMvB,IAJAgtI,EAAO2P,EAAcxuB,QACrB8e,EAAO2P,EAAS9hJ,EAAE,GAAGD,OACrBi6I,EAAQ9yB,UAAYszB,EAEfx0I,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB,IAAK+U,EAAI,EAAGA,EAAIo3H,EAAMp3H,GAAK,EACzBknI,EAAcD,EAASF,EAAS9hJ,EAAEgG,GAAG+U,GAAK+mI,EAAS9hJ,EAAEgG,GAAG+U,IAAMgnI,EAAS/hJ,EAAEgG,GAAG+U,GAAK+mI,EAAS9hJ,EAAEgG,GAAG+U,IAAMsyH,EACrGwU,EAAc7hJ,EAAEgG,GAAG+U,GAAKknI,EACxBA,EAAcD,EAASF,EAAS18I,EAAEY,GAAG+U,GAAK+mI,EAAS18I,EAAEY,GAAG+U,IAAMgnI,EAAS38I,EAAEY,GAAG+U,GAAK+mI,EAAS18I,EAAEY,GAAG+U,IAAMsyH,EACrGwU,EAAcz8I,EAAEY,GAAG+U,GAAKknI,EACxBA,EAAcD,EAASF,EAAS77I,EAAED,GAAG+U,GAAK+mI,EAAS77I,EAAED,GAAG+U,IAAMgnI,EAAS97I,EAAED,GAAG+U,GAAK+mI,EAAS77I,EAAED,GAAG+U,IAAMsyH,EACrGwU,EAAc57I,EAAED,GAAG+U,GAAKknI,EAK9B,SAASC,IACP,IAAInI,EAAWz8I,KAAKkgJ,KAAKC,cAAgBngJ,KAAK28I,WAC1C5C,EAAW/5I,KAAKm9I,UAAU,GAAGz1I,EAAI1H,KAAK28I,WACtCyD,EAAUpgJ,KAAKm9I,UAAUn9I,KAAKm9I,UAAU16I,OAAS,GAAGiF,EAAI1H,KAAK28I,WAC7DkB,EAAY79I,KAAKqgJ,SAASxC,UAQ9B,OAPMA,IAAcvB,IAAeuB,EAAY9D,GAAY0C,EAAW1C,GAAc8D,EAAYuC,GAAW3D,EAAW2D,KAEpHpgJ,KAAKqgJ,SAASz2B,UAAYi0B,EAAYpB,EAAWz8I,KAAKqgJ,SAASz2B,UAAY,EAC3E5pH,KAAKskJ,iBAAiB7H,EAAUz8I,KAAK68I,GAAI78I,KAAKqgJ,WAGhDrgJ,KAAKqgJ,SAASxC,UAAYpB,EACnBz8I,KAAK68I,GAGd,SAASgI,IACP7kJ,KAAKimH,MAAQjmH,KAAK8kJ,qBAGpB,SAASC,EAAYC,EAAQC,GAC3B,GAAID,EAAOjvB,UAAYkvB,EAAOlvB,SAAWivB,EAAO98I,IAAM+8I,EAAO/8I,EAC3D,OAAO,EAET,IAAIxF,EACA8M,EAAMw1I,EAAOjvB,QACjB,IAAKrzH,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB,GAAIsiJ,EAAOr8I,EAAEjG,GAAG,KAAOuiJ,EAAOt8I,EAAEjG,GAAG,IAC1BsiJ,EAAOr8I,EAAEjG,GAAG,KAAOuiJ,EAAOt8I,EAAEjG,GAAG,IAC/BsiJ,EAAOl9I,EAAEpF,GAAG,KAAOuiJ,EAAOn9I,EAAEpF,GAAG,IAC/BsiJ,EAAOl9I,EAAEpF,GAAG,KAAOuiJ,EAAOn9I,EAAEpF,GAAG,IAC/BsiJ,EAAOtiJ,EAAEA,GAAG,KAAOuiJ,EAAOviJ,EAAEA,GAAG,IAC/BsiJ,EAAOtiJ,EAAEA,GAAG,KAAOuiJ,EAAOviJ,EAAEA,GAAG,GACtC,OAAO,EAGX,OAAO,EAGT,SAAS69I,EAAU0D,GACZc,EAAY/kJ,KAAK2I,EAAGs7I,KACvBjkJ,KAAK2I,EAAIu8I,GAAUpnH,MAAMmmH,GACzBjkJ,KAAK8kJ,qBAAqBK,gBAC1BnlJ,KAAK8kJ,qBAAqBM,SAASplJ,KAAK2I,GACxC3I,KAAKqlI,MAAO,EACZrlI,KAAKimH,MAAQjmH,KAAK8kJ,sBAItB,SAASpE,IACP,GAAI1gJ,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,QAExC,GAAK7gJ,KAAK8gJ,gBAAgBr+I,OAI5B,GAAIzC,KAAK+gJ,KACP/gJ,KAAKugJ,UAAUvgJ,KAAK68I,QADtB,CAMA,IAAIoE,EAQAv+I,EAVJ1C,KAAK+gJ,MAAO,EACZ/gJ,KAAKqlI,MAAO,EAGV4b,EADEjhJ,KAAKkhJ,GACMlhJ,KAAK68I,GACT78I,KAAK4P,KAAK8lI,GACN11I,KAAK4P,KAAK8lI,GAAGj4H,EAEbzd,KAAK4P,KAAKm5H,GAAGtrH,EAG5B,IAAIjO,EAAMxP,KAAK8gJ,gBAAgBr+I,OAC/B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBu+I,EAAajhJ,KAAK8gJ,gBAAgBp+I,GAAGu+I,GAEvCjhJ,KAAKugJ,UAAUU,GACfjhJ,KAAK+gJ,MAAO,EACZ/gJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,aAxBlC7gJ,KAAKqlI,MAAO,EA2BhB,SAASggB,EAAc1E,EAAM/wI,EAAMnQ,GACjCO,KAAK48I,SAAW,QAChB58I,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAK0J,UAAYi3I,EACjB3gJ,KAAK2gJ,KAAOA,EACZ3gJ,KAAK4P,KAAOA,EACZ5P,KAAKyd,GAAI,EACTzd,KAAKkhJ,IAAK,EACVlhJ,KAAKqlI,MAAO,EACZ,IAAIkR,EAAoB,IAAT92I,EAAamQ,EAAKm5H,GAAGtrH,EAAI7N,EAAK8lI,GAAGj4H,EAChDzd,KAAK2I,EAAIu8I,GAAUpnH,MAAMy4G,GACzBv2I,KAAK68I,GAAKqI,GAAUpnH,MAAM99B,KAAK2I,GAC/B3I,KAAK8kJ,qBAAuBQ,GAAoBC,qBAChDvlJ,KAAKimH,MAAQjmH,KAAK8kJ,qBAClB9kJ,KAAKimH,MAAMm/B,SAASplJ,KAAK2I,GACzB3I,KAAKqC,MAAQwiJ,EACb7kJ,KAAK8gJ,gBAAkB,GAGzB,SAASK,EAAUC,GACjBphJ,KAAK8gJ,gBAAgB5+I,KAAKk/I,GAC1BphJ,KAAK0J,UAAUu7H,mBAAmBjlI,MAQpC,SAASwlJ,EAAuB7E,EAAM/wI,EAAMnQ,GAC1CO,KAAK48I,SAAW,QAChB58I,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAK2gJ,KAAOA,EACZ3gJ,KAAK0J,UAAYi3I,EACjB3gJ,KAAK28I,WAAagE,EAAK/wI,KAAK6xI,GAC5BzhJ,KAAKm9I,UAAqB,IAAT19I,EAAamQ,EAAKm5H,GAAGtrH,EAAI7N,EAAK8lI,GAAGj4H,EAClDzd,KAAKo9I,kBAAoB,GACzBp9I,KAAKyd,GAAI,EACTzd,KAAKkhJ,IAAK,EACV,IAAI1xI,EAAMxP,KAAKm9I,UAAU,GAAGv1I,EAAE,GAAGlF,EAAED,OACnCzC,KAAK2I,EAAIu8I,GAAU3U,aACnBvwI,KAAK2I,EAAE06I,YAAYrjJ,KAAKm9I,UAAU,GAAGv1I,EAAE,GAAGM,EAAGsH,GAC7CxP,KAAK68I,GAAKqI,GAAUpnH,MAAM99B,KAAK2I,GAC/B3I,KAAK8kJ,qBAAuBQ,GAAoBC,qBAChDvlJ,KAAKimH,MAAQjmH,KAAK8kJ,qBAClB9kJ,KAAKimH,MAAMm/B,SAASplJ,KAAK2I,GACzB3I,KAAK69I,UAAYvB,EACjBt8I,KAAKqC,MAAQwiJ,EACb7kJ,KAAKqgJ,SAAW,CAAExC,UAAWvB,EAAW1yB,UAAW,GACnD5pH,KAAK8gJ,gBAAkB,CAAC8D,EAA4BlyH,KAAK1yB,OAzB3DqlJ,EAAc3oJ,UAAU4nJ,iBAAmBA,EAC3Ce,EAAc3oJ,UAAUirF,SAAW+4D,EACnC2E,EAAc3oJ,UAAU6jJ,UAAYA,EACpC8E,EAAc3oJ,UAAUykJ,UAAYA,EAwBpCqE,EAAuB9oJ,UAAUirF,SAAW+4D,EAC5C8E,EAAuB9oJ,UAAU4nJ,iBAAmBA,EACpDkB,EAAuB9oJ,UAAU6jJ,UAAYA,EAC7CiF,EAAuB9oJ,UAAUykJ,UAAYA,EAE7C,IAAIsE,EAAoB,WACtB,IAAIC,EAASjjB,EAEb,SAASkjB,EAAwBhF,EAAM/wI,GAOrC5P,KAAK2I,EAAIu8I,GAAU3U,aACnBvwI,KAAK2I,EAAE06I,aAAY,EAAM,GACzBrjJ,KAAK8kJ,qBAAuBQ,GAAoBC,qBAChDvlJ,KAAKimH,MAAQjmH,KAAK8kJ,qBAClB9kJ,KAAK8kJ,qBAAqBM,SAASplJ,KAAK2I,GACxC3I,KAAKgI,EAAI4H,EAAK5H,EACdhI,KAAK2gJ,KAAOA,EACZ3gJ,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAK6gJ,SAAW,EAChB7gJ,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAKmI,EAAIk0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKzH,EAAG,EAAG,EAAGnI,MACrDA,KAAK4H,EAAIy0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKhI,EAAG,EAAG,EAAG5H,MACjDA,KAAKklI,kBAAkBziI,OACzBzC,KAAKyd,GAAI,GAETzd,KAAKyd,GAAI,EACTzd,KAAK4lJ,oBAqDT,OAjDAD,EAAwBjpJ,UAAY,CAClC2F,MAAOwiJ,EACPl9D,SAAU,WACJ3nF,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,UAG1C7gJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,QACpC7gJ,KAAKolI,2BAEDplI,KAAKqlI,MACPrlI,KAAK4lJ,qBAGTA,iBAAkB,WAChB,IAAIpc,EAAKxpI,KAAKmI,EAAEQ,EAAE,GACdsjE,EAAKjsE,KAAKmI,EAAEQ,EAAE,GACd2jH,EAAKtsH,KAAK4H,EAAEe,EAAE,GAAK,EACnB4jH,EAAKvsH,KAAK4H,EAAEe,EAAE,GAAK,EACnBk9I,EAAiB,IAAX7lJ,KAAKgI,EACX89I,EAAK9lJ,KAAK2I,EACdm9I,EAAGn9I,EAAE,GAAG,GAAK6gI,EACbsc,EAAGn9I,EAAE,GAAG,GAAKsjE,EAAKsgD,EAClBu5B,EAAGn9I,EAAE,GAAG,GAAKk9I,EAAMrc,EAAKld,EAAKkd,EAAKld,EAClCw5B,EAAGn9I,EAAE,GAAG,GAAKsjE,EACb65E,EAAGn9I,EAAE,GAAG,GAAK6gI,EACbsc,EAAGn9I,EAAE,GAAG,GAAKsjE,EAAKsgD,EAClBu5B,EAAGn9I,EAAE,GAAG,GAAKk9I,EAAMrc,EAAKld,EAAKkd,EAAKld,EAClCw5B,EAAGn9I,EAAE,GAAG,GAAKsjE,EACb65E,EAAGpjJ,EAAE,GAAG,GAAKmjJ,EAAMrc,EAAKld,EAAKo5B,EAASlc,EAAKld,EAAKo5B,EAChDI,EAAGpjJ,EAAE,GAAG,GAAKupE,EAAKsgD,EAClBu5B,EAAGpjJ,EAAE,GAAG,GAAKmjJ,EAAMrc,EAAKld,EAAKkd,EAAKld,EAClCw5B,EAAGpjJ,EAAE,GAAG,GAAKupE,EAAKsgD,EAAKm5B,EACvBI,EAAGpjJ,EAAE,GAAG,GAAKmjJ,EAAMrc,EAAKld,EAAKo5B,EAASlc,EAAKld,EAAKo5B,EAChDI,EAAGpjJ,EAAE,GAAG,GAAKupE,EAAKsgD,EAClBu5B,EAAGpjJ,EAAE,GAAG,GAAKmjJ,EAAMrc,EAAKld,EAAKkd,EAAKld,EAClCw5B,EAAGpjJ,EAAE,GAAG,GAAKupE,EAAKsgD,EAAKm5B,EACvBI,EAAGh+I,EAAE,GAAG,GAAK+9I,EAAMrc,EAAKld,EAAKo5B,EAASlc,EAAKld,EAAKo5B,EAChDI,EAAGh+I,EAAE,GAAG,GAAKmkE,EAAKsgD,EAClBu5B,EAAGh+I,EAAE,GAAG,GAAK+9I,EAAMrc,EAAKld,EAAKkd,EAAKld,EAClCw5B,EAAGh+I,EAAE,GAAG,GAAKmkE,EAAKsgD,EAAKm5B,EACvBI,EAAGh+I,EAAE,GAAG,GAAK+9I,EAAMrc,EAAKld,EAAKo5B,EAASlc,EAAKld,EAAKo5B,EAChDI,EAAGh+I,EAAE,GAAG,GAAKmkE,EAAKsgD,EAClBu5B,EAAGh+I,EAAE,GAAG,GAAK+9I,EAAMrc,EAAKld,EAAKkd,EAAKld,EAClCw5B,EAAGh+I,EAAE,GAAG,GAAKmkE,EAAKsgD,EAAKm5B,IAI3BhX,EAAgB,CAAC1J,GAA2B2gB,GAErCA,EA/Ee,GAkFpBI,EAAqB,WACvB,SAASC,EAAyBrF,EAAM/wI,GACtC5P,KAAK2I,EAAIu8I,GAAU3U,aACnBvwI,KAAK2I,EAAE06I,aAAY,EAAM,GACzBrjJ,KAAK2gJ,KAAOA,EACZ3gJ,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAK4P,KAAOA,EACZ5P,KAAK6gJ,SAAW,EAChB7gJ,KAAKgI,EAAI4H,EAAK5H,EACdhI,KAAKslI,6BAA6Bqb,GAClB,IAAZ/wI,EAAK62H,IACPzmI,KAAKimJ,GAAK5J,EAAgBuF,QAAQjB,EAAM/wI,EAAKq2I,GAAI,EAAG,EAAGjmJ,MACvDA,KAAKo0B,GAAKioH,EAAgBuF,QAAQjB,EAAM/wI,EAAKwkB,GAAI,EAAG,IAAMp0B,MAC1DA,KAAKkmJ,cAAgBlmJ,KAAKmmJ,mBAE1BnmJ,KAAKkmJ,cAAgBlmJ,KAAKomJ,qBAE5BpmJ,KAAK+oI,GAAKsT,EAAgBuF,QAAQjB,EAAM/wI,EAAKm5H,GAAI,EAAG,EAAG/oI,MACvDA,KAAKmI,EAAIk0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKzH,EAAG,EAAG,EAAGnI,MACrDA,KAAK2H,EAAI00I,EAAgBuF,QAAQjB,EAAM/wI,EAAKjI,EAAG,EAAG66H,EAAWxiI,MAC7DA,KAAKsgC,GAAK+7G,EAAgBuF,QAAQjB,EAAM/wI,EAAK0wB,GAAI,EAAG,EAAGtgC,MACvDA,KAAKyhD,GAAK46F,EAAgBuF,QAAQjB,EAAM/wI,EAAK6xC,GAAI,EAAG,IAAMzhD,MAC1DA,KAAK8kJ,qBAAuBQ,GAAoBC,qBAChDvlJ,KAAK8kJ,qBAAqBM,SAASplJ,KAAK2I,GACxC3I,KAAKimH,MAAQjmH,KAAK8kJ,qBACd9kJ,KAAKklI,kBAAkBziI,OACzBzC,KAAKyd,GAAI,GAETzd,KAAKyd,GAAI,EACTzd,KAAKkmJ,iBAqFT,OAjFAF,EAAyBtpJ,UAAY,CACnC2F,MAAOwiJ,EACPl9D,SAAU,WACJ3nF,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,UAG1C7gJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,QACpC7gJ,KAAKolI,2BACDplI,KAAKqlI,MACPrlI,KAAKkmJ,kBAGTC,kBAAmB,WACjB,IAYIzjJ,EACA2jJ,EACAC,EACAC,EAfAC,EAAiC,EAAxBnzI,KAAKoF,MAAMzY,KAAK+oI,GAAGpgI,GAC5Bs9H,EAAmB,EAAV5yH,KAAK4xB,GAAUuhH,EAIxBC,GAAW,EACXC,EAAU1mJ,KAAKsgC,GAAG33B,EAClBg+I,EAAW3mJ,KAAKimJ,GAAGt9I,EACnBi+I,EAAY5mJ,KAAKyhD,GAAG94C,EACpBk+I,EAAa7mJ,KAAKo0B,GAAGzrB,EACrBm+I,EAAoB,EAAIzzI,KAAK4xB,GAAKyhH,GAAqB,EAATF,GAC9CO,EAAqB,EAAI1zI,KAAK4xB,GAAK0hH,GAAsB,EAATH,GAKhDQ,GAAc3zI,KAAK4xB,GAAK,EAC5B+hH,GAAchnJ,KAAK2H,EAAEgB,EACrB,IAAIsI,EAAsB,IAAhBjR,KAAK4P,KAAK5H,GAAW,EAAI,EAEnC,IADAhI,KAAK2I,EAAEotH,QAAU,EACZrzH,EAAI,EAAGA,EAAI8jJ,EAAQ9jJ,GAAK,EAAG,CAE9B4jJ,EAAYG,EAAWG,EAAYC,EACnCN,EAAeE,EAAWK,EAAmBC,EAC7C,IAAIz+I,GAHJ+9I,EAAMI,EAAWC,EAAUC,GAGbtzI,KAAK2xB,IAAIgiH,GACnB99I,EAAIm9I,EAAMhzI,KAAK8xB,IAAI6hH,GACnBC,EAAW,IAAN3+I,GAAiB,IAANY,EAAU,EAAIA,EAAImK,KAAK24B,KAAK1jC,EAAIA,EAAIY,EAAIA,GACxDg+I,EAAW,IAAN5+I,GAAiB,IAANY,EAAU,GAAKZ,EAAI+K,KAAK24B,KAAK1jC,EAAIA,EAAIY,EAAIA,GAC7DZ,IAAMtI,KAAKmI,EAAEQ,EAAE,GACfO,IAAMlJ,KAAKmI,EAAEQ,EAAE,GACf3I,KAAK2I,EAAE+6I,YAAYp7I,EAAGY,EAAGZ,EAAI2+I,EAAKV,EAAeD,EAAYr1I,EAAK/H,EAAIg+I,EAAKX,EAAeD,EAAYr1I,EAAK3I,EAAI2+I,EAAKV,EAAeD,EAAYr1I,EAAK/H,EAAIg+I,EAAKX,EAAeD,EAAYr1I,EAAKvO,GAAG,GAMhM+jJ,GAAYA,EACZO,GAAc/gB,EAAQh1H,IAG1Bm1I,qBAAsB,WACpB,IAKI1jJ,EALA8jJ,EAASnzI,KAAKoF,MAAMzY,KAAK+oI,GAAGpgI,GAC5Bs9H,EAAmB,EAAV5yH,KAAK4xB,GAAUuhH,EACxBH,EAAMrmJ,KAAKsgC,GAAG33B,EACd29I,EAAYtmJ,KAAKyhD,GAAG94C,EACpB49I,EAAgB,EAAIlzI,KAAK4xB,GAAKohH,GAAiB,EAATG,GAEtCQ,EAAwB,IAAV3zI,KAAK4xB,GACnBh0B,EAAsB,IAAhBjR,KAAK4P,KAAK5H,GAAW,EAAI,EAGnC,IAFAg/I,GAAchnJ,KAAK2H,EAAEgB,EACrB3I,KAAK2I,EAAEotH,QAAU,EACZrzH,EAAI,EAAGA,EAAI8jJ,EAAQ9jJ,GAAK,EAAG,CAC9B,IAAI4F,EAAI+9I,EAAMhzI,KAAK2xB,IAAIgiH,GACnB99I,EAAIm9I,EAAMhzI,KAAK8xB,IAAI6hH,GACnBC,EAAW,IAAN3+I,GAAiB,IAANY,EAAU,EAAIA,EAAImK,KAAK24B,KAAK1jC,EAAIA,EAAIY,EAAIA,GACxDg+I,EAAW,IAAN5+I,GAAiB,IAANY,EAAU,GAAKZ,EAAI+K,KAAK24B,KAAK1jC,EAAIA,EAAIY,EAAIA,GAC7DZ,IAAMtI,KAAKmI,EAAEQ,EAAE,GACfO,IAAMlJ,KAAKmI,EAAEQ,EAAE,GACf3I,KAAK2I,EAAE+6I,YAAYp7I,EAAGY,EAAGZ,EAAI2+I,EAAKV,EAAeD,EAAYr1I,EAAK/H,EAAIg+I,EAAKX,EAAeD,EAAYr1I,EAAK3I,EAAI2+I,EAAKV,EAAeD,EAAYr1I,EAAK/H,EAAIg+I,EAAKX,EAAeD,EAAYr1I,EAAKvO,GAAG,GAChMskJ,GAAc/gB,EAAQh1H,EAExBjR,KAAKimH,MAAMxjH,OAAS,EACpBzC,KAAKimH,MAAM,GAAKjmH,KAAK2I,IAIzB+lI,EAAgB,CAAC1J,GAA2BghB,GAErCA,EAlHgB,GAqHrBmB,EAAqB,WACvB,SAASC,EAAyBzG,EAAM/wI,GACtC5P,KAAK2I,EAAIu8I,GAAU3U,aACnBvwI,KAAK2I,EAAET,GAAI,EACXlI,KAAK8kJ,qBAAuBQ,GAAoBC,qBAChDvlJ,KAAK8kJ,qBAAqBM,SAASplJ,KAAK2I,GACxC3I,KAAKimH,MAAQjmH,KAAK8kJ,qBAClB9kJ,KAAK2gJ,KAAOA,EACZ3gJ,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAK6gJ,SAAW,EAChB7gJ,KAAKgI,EAAI4H,EAAK5H,EACdhI,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAKmI,EAAIk0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKzH,EAAG,EAAG,EAAGnI,MACrDA,KAAK4H,EAAIy0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKhI,EAAG,EAAG,EAAG5H,MACrDA,KAAK2H,EAAI00I,EAAgBuF,QAAQjB,EAAM/wI,EAAKjI,EAAG,EAAG,EAAG3H,MACjDA,KAAKklI,kBAAkBziI,OACzBzC,KAAKyd,GAAI,GAETzd,KAAKyd,GAAI,EACTzd,KAAKqnJ,qBA2DT,OAvDAD,EAAyB1qJ,UAAY,CACnC2qJ,kBAAmB,WACjB,IAAI7d,EAAKxpI,KAAKmI,EAAEQ,EAAE,GACdsjE,EAAKjsE,KAAKmI,EAAEQ,EAAE,GACd2+I,EAAKtnJ,KAAK4H,EAAEe,EAAE,GAAK,EACnBgvB,EAAK33B,KAAK4H,EAAEe,EAAE,GAAK,EACnBq9B,EAAQi8F,EAAMqlB,EAAI3vH,EAAI33B,KAAK2H,EAAEgB,GAC7B+8I,EAAS1/G,GAAS,EAAIy8F,GAC1BziI,KAAK2I,EAAEotH,QAAU,EAEF,IAAX/1H,KAAKgI,GAAsB,IAAXhI,KAAKgI,GACvBhI,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQ,GAAG,GACrG1lJ,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQlc,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAO,GAAG,GACvF,IAAVA,GACFhmC,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI,GAAG,GACrG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI,GAAG,GACrG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQ,GAAG,GACrG1lJ,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQlc,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAO,GAAG,GACrGhmC,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI,GAAG,GACrG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI,GAAG,KAErG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI6xG,EAAK8d,EAAIr7E,EAAKt0C,EAAI,GAClF33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAI6xG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQlc,EAAK8d,EAAIr7E,EAAKt0C,EAAI,MAGpF33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQlc,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAO,GAAG,GACvF,IAAVA,GACFhmC,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI,GAAG,GACrG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI,GAAG,GACrG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQ,GAAG,GACrG1lJ,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQlc,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAO,GAAG,GACrGhmC,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI,GAAG,GACrG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI6xG,EAAK8d,EAAKthH,EAAOimC,EAAKt0C,EAAI,GAAG,GACrG33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAKqO,EAAOwjG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQ,GAAG,KAErG1lJ,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI6xG,EAAK8d,EAAIr7E,EAAKt0C,EAAI,GAAG,GACrF33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAI6xG,EAAK8d,EAAIr7E,EAAKt0C,EAAK+tH,EAAQlc,EAAK8d,EAAIr7E,EAAKt0C,EAAI,GAAG,GACrF33B,KAAK2I,EAAE+6I,YAAYla,EAAK8d,EAAIr7E,EAAKt0C,EAAI6xG,EAAK8d,EAAK5B,EAAQz5E,EAAKt0C,EAAI6xG,EAAK8d,EAAIr7E,EAAKt0C,EAAI,GAAG,MAI3FgwD,SAAU,WACJ3nF,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,UAG1C7gJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,QACpC7gJ,KAAKolI,2BACDplI,KAAKqlI,MACPrlI,KAAKqnJ,sBAGThlJ,MAAOwiJ,GAETnW,EAAgB,CAAC1J,GAA2BoiB,GAErCA,EA9EgB,GAiFzB,SAASG,EAAa5G,EAAM/wI,EAAMnQ,GAChC,IAAIm2E,EAmBJ,OAlBa,IAATn2E,GAAuB,IAATA,EAIdm2E,GAHsB,IAATn2E,EAAamQ,EAAKm5H,GAAKn5H,EAAK8lI,IACvBj4H,EACXhb,OACA,IAAI+iJ,EAAuB7E,EAAM/wI,EAAMnQ,GAEvC,IAAI4lJ,EAAc1E,EAAM/wI,EAAMnQ,GAErB,IAATA,EACTm2E,EAAO,IAAIuxE,EAAkBxG,EAAM/wI,GACjB,IAATnQ,EACTm2E,EAAO,IAAI6vE,EAAiB9E,EAAM/wI,GAChB,IAATnQ,IACTm2E,EAAO,IAAImwE,EAAkBpF,EAAM/wI,IAEjCgmE,EAAKn4D,GACPkjI,EAAK1b,mBAAmBrvD,GAEnBA,EAGT,SAAS4xE,IACP,OAAOnC,EAGT,SAASoC,IACP,OAAOjC,EAGT,IAAIz7D,EAAK,GAIT,OAHAA,EAAGw9D,aAAeA,EAClBx9D,EAAGy9D,uBAAyBA,EAC5Bz9D,EAAG09D,gCAAkCA,EAC9B19D,EAthBmB,GA4hBxB29D,GAAkB,WACpB,IAAI39D,EAAK,GACL49D,EAAY,GAIhB,SAASC,EAAiB1b,EAAI2b,GACvBF,EAAUzb,KACbyb,EAAUzb,GAAM2b,GAIpB,SAASC,EAAY5b,EAAIyU,EAAM/wI,GAC7B,OAAO,IAAI+3I,EAAUzb,GAAIyU,EAAM/wI,GAGjC,OAbAm6E,EAAG69D,iBAAmBA,EACtB79D,EAAG+9D,YAAcA,EAYV/9D,EAhBa,GAmBtB,SAASg+D,MAyCT,SAASC,MA+VT,SAASC,MAiHT,SAASC,MAyET,SAASC,MAiOT,SAASC,KACPpoJ,KAAK+1H,QAAU,EACf/1H,KAAKojJ,WAAa,EAClBpjJ,KAAKu1I,OAASjT,EAAiBtiI,KAAKojJ,YAsBtC,SAASiF,GAAa1H,EAAM/wI,EAAM2+G,EAAU7kH,GAU1C,IAAIhH,EATJ1C,KAAK2gJ,KAAOA,EACZ3gJ,KAAK6gJ,SAAW,EAChB7gJ,KAAKsoJ,UAAYhmB,EAAiB1yH,EAAKnN,QACvCzC,KAAKuuH,SAAWA,EAChBvuH,KAAKyd,GAAI,EACTzd,KAAKuoJ,QAAU,GACfvoJ,KAAKwoJ,UAAY7jB,EAAiB,UAAW/0H,EAAKnN,OAASmN,EAAKnN,OAAS,EAAI,GAC7EzC,KAAKyoJ,WAAa9jB,EAAiB,UAAW,GAC9C3kI,KAAKslI,6BAA6B57H,GAElC,IACIksE,EADApmE,EAAMI,EAAKnN,QAAU,EAEzB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBkzE,EAAOymE,EAAgBuF,QAAQjB,EAAM/wI,EAAKlN,GAAGiG,EAAG,EAAG,EAAG3I,MACtDA,KAAKyd,EAAIm4D,EAAKn4D,GAAKzd,KAAKyd,EACxBzd,KAAKsoJ,UAAU5lJ,GAAK,CAAEqF,EAAG6H,EAAKlN,GAAGqF,EAAGI,EAAGytE,GAEpC51E,KAAKyd,GACRzd,KAAK2nF,UAAS,GAEhB3nF,KAAKmlI,YAAcnlI,KAAKyd,EAgC1B,SAASirI,GAAiB/H,EAAM/wI,EAAMlG,GACpC1J,KAAK4P,KAAOA,EACZ5P,KAAKkI,EAAIy8H,EAAiB,SAAmB,EAAT/0H,EAAKzH,GACzC,IAAIwgJ,EAAU/4I,EAAK6N,EAAEA,EAAE,GAAG7V,EAAKgI,EAAK6N,EAAEA,EAAE,GAAG7V,EAAEnF,OAAkB,EAATmN,EAAKzH,EAASyH,EAAK6N,EAAEA,EAAEhb,OAAkB,EAATmN,EAAKzH,EAC3FnI,KAAK8H,EAAI68H,EAAiB,UAAWgkB,GACrC3oJ,KAAK4oJ,OAAQ,EACb5oJ,KAAK6oJ,OAAQ,EACb7oJ,KAAK8oJ,aAAe9oJ,KAAK+oJ,mBACzB/oJ,KAAKgpJ,YAAcL,EACnB3oJ,KAAKslI,6BAA6B57H,GAClC1J,KAAK41E,KAAOymE,EAAgBuF,QAAQjB,EAAM/wI,EAAK6N,EAAG,EAAG,KAAMzd,MAC3DA,KAAKyd,EAAIzd,KAAK41E,KAAKn4D,EACnBzd,KAAK2nF,UAAS,GA53BhBogE,GAAcrrJ,UAAUusJ,uBAAyB,aACjDlB,GAAcrrJ,UAAUwsJ,mBAAqB,aAC7CnB,GAAcrrJ,UAAU0oJ,SAAW,SAAUx1I,GAC3C,IAAK5P,KAAK4/D,OAAQ,CAEhBhwD,EAAKo6F,GAAGtgG,UAAUu7H,mBAAmBr1H,EAAKo6F,IAC1C,IAAI2mC,EAAY,CAAEhV,MAAO/rH,EAAKo6F,GAAIp6F,KAAMA,EAAMk1I,qBAAsBQ,GAAoBC,sBACxFvlJ,KAAKu1I,OAAOrzI,KAAKyuI,GACjB3wI,KAAKkpJ,mBAAmBvY,GACpB3wI,KAAKmlI,aACPv1H,EAAKu5I,kBAIXpB,GAAcrrJ,UAAU4f,KAAO,SAAUqkI,EAAM/wI,GAC7C5P,KAAKu1I,OAAS,GACdv1I,KAAK2gJ,KAAOA,EACZ3gJ,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAKipJ,uBAAuBtI,EAAM/wI,GAClC5P,KAAK6gJ,QAAUpf,EACfzhI,KAAK4/D,QAAS,EACd5/D,KAAKyd,GAAI,EACLzd,KAAKklI,kBAAkBziI,OACzBzC,KAAKyd,GAAI,EAETzd,KAAK2nF,UAAS,IAGlBogE,GAAcrrJ,UAAU4lJ,YAAc,WAChCtiJ,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,UAG1C7gJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,QACpC7gJ,KAAKolI,6BAGPsJ,EAAgB,CAAC1J,GAA2B+iB,IAM5CrZ,EAAgB,CAACqZ,IAAgBC,IACjCA,GAAatrJ,UAAUusJ,uBAAyB,SAAUtI,EAAM/wI,GAC9D5P,KAAK4H,EAAIy0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKhI,EAAG,EAAG,IAAM5H,MACxDA,KAAKwH,EAAI60I,EAAgBuF,QAAQjB,EAAM/wI,EAAKpI,EAAG,EAAG,IAAMxH,MACxDA,KAAK8H,EAAIu0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK9H,EAAG,EAAG,EAAG9H,MACrDA,KAAKopJ,OAAS,EACdppJ,KAAKqpJ,OAAS,EACdrpJ,KAAK2nF,SAAW3nF,KAAKsiJ,YACrBtiJ,KAAKqI,EAAIuH,EAAKvH,EACdrI,KAAKmlI,cAAgBnlI,KAAK4H,EAAEk5I,gBAAgBr+I,UAAYzC,KAAKwH,EAAEs5I,gBAAgBr+I,UAAYzC,KAAK8H,EAAEg5I,gBAAgBr+I,QAGpHulJ,GAAatrJ,UAAUwsJ,mBAAqB,SAAUvY,GACpDA,EAAU2Y,UAAY,IAGxBtB,GAAatrJ,UAAU6sJ,oBAAsB,SAAU3hJ,EAAGJ,EAAGgiJ,EAAatZ,EAAauZ,GACrF,IAAIC,EAAW,GACXliJ,GAAK,EACPkiJ,EAASxnJ,KAAK,CACZ0F,EAAGA,EACHJ,EAAGA,IAEII,GAAK,EACd8hJ,EAASxnJ,KAAK,CACZ0F,EAAGA,EAAI,EACPJ,EAAGA,EAAI,KAGTkiJ,EAASxnJ,KAAK,CACZ0F,EAAGA,EACHJ,EAAG,IAELkiJ,EAASxnJ,KAAK,CACZ0F,EAAG,EACHJ,EAAGA,EAAI,KAGX,IACI9E,EAEAinJ,EAHAC,EAAgB,GAEhBp6I,EAAMk6I,EAASjnJ,OAEnB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAGzB,IAAImnJ,EACAC,GAHNH,EAAYD,EAAShnJ,IACL8E,EAAIiiJ,EAAsBvZ,GAAeyZ,EAAU/hJ,EAAI6hJ,EAAsBvZ,EAAcsZ,IAIvGK,EADEF,EAAU/hJ,EAAI6hJ,GAAuBvZ,EAC9B,GAECyZ,EAAU/hJ,EAAI6hJ,EAAsBvZ,GAAesZ,EAG7DM,EADEH,EAAUniJ,EAAIiiJ,GAAuBvZ,EAAcsZ,EAC5C,GAEEG,EAAUniJ,EAAIiiJ,EAAsBvZ,GAAesZ,EAEhEI,EAAc1nJ,KAAK,CAAC2nJ,EAAQC,KAMhC,OAHKF,EAAcnnJ,QACjBmnJ,EAAc1nJ,KAAK,CAAC,EAAG,IAElB0nJ,GAGT5B,GAAatrJ,UAAUqtJ,iBAAmB,SAAUT,GAClD,IAAI5mJ,EACA8M,EAAM85I,EAAU7mJ,OACpB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBmuI,GAAmBmZ,QAAQV,EAAU5mJ,IAGvC,OADA4mJ,EAAU7mJ,OAAS,EACZ6mJ,GAGTtB,GAAatrJ,UAAUutJ,cAAgB,SAAUjJ,GAC/C,IAAIp5I,EACAJ,EAkCA0iJ,EACAxnJ,EAlCJ,GAAI1C,KAAKqlI,MAAQ2b,EAAe,CAC9B,IAAIl5I,EAAK9H,KAAK8H,EAAEa,EAAI,IAAO,IAmB3B,GAlBIb,EAAI,IACNA,GAAK,IAGLF,EADE5H,KAAK4H,EAAEe,EAAI,EACT,EAAIb,EACC9H,KAAK4H,EAAEe,EAAI,EAChB,EAAIb,EAEJ9H,KAAK4H,EAAEe,EAAIb,IAGfN,EADExH,KAAKwH,EAAEmB,EAAI,EACT,EAAIb,EACC9H,KAAKwH,EAAEmB,EAAI,EAChB,EAAIb,EAEJ9H,KAAKwH,EAAEmB,EAAIb,GAGN,CACT,IAAI4F,EAAK9F,EACTA,EAAIJ,EACJA,EAAIkG,EAEN9F,EAA4B,KAAxByL,KAAK2yB,MAAU,IAAJp+B,GACfJ,EAA4B,KAAxB6L,KAAK2yB,MAAU,IAAJx+B,GACfxH,KAAKopJ,OAASxhJ,EACd5H,KAAKqpJ,OAAS7hJ,OAEdI,EAAI5H,KAAKopJ,OACT5hJ,EAAIxH,KAAKqpJ,OAIX,IACI3gJ,EACAksI,EACA0U,EACA/S,EACA4T,EALA36I,EAAMxP,KAAKu1I,OAAO9yI,OAMlBgnJ,EAAsB,EAE1B,GAAIjiJ,IAAMI,EACR,IAAKlF,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKu1I,OAAO7yI,GAAGoiJ,qBAAqBK,gBACpCnlJ,KAAKu1I,OAAO7yI,GAAGi5H,MAAM0J,MAAO,EAC5BrlI,KAAKu1I,OAAO7yI,GAAGi5H,MAAM1V,MAAQjmH,KAAKu1I,OAAO7yI,GAAGoiJ,qBACxC9kJ,KAAKqlI,OACPrlI,KAAKu1I,OAAO7yI,GAAG4mJ,UAAU7mJ,OAAS,QAGjC,GAAa,IAAN+E,GAAiB,IAANI,GAAmB,IAANJ,GAAiB,IAANI,GA0F1C,GAAI5H,KAAKqlI,KACd,IAAK3iI,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAGxB1C,KAAKu1I,OAAO7yI,GAAG4mJ,UAAU7mJ,OAAS,EAClCzC,KAAKu1I,OAAO7yI,GAAGi5H,MAAM0J,MAAO,MA/F4B,CAC1D,IACIsL,EACAmU,EAFA4E,EAAW,GAGf,IAAKhnJ,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAGxB,IAFAiuI,EAAY3wI,KAAKu1I,OAAO7yI,IAETi5H,MAAM0J,MAASrlI,KAAKqlI,MAAS2b,GAA4B,IAAXhhJ,KAAKqI,EAE3D,CAIL,GAFAusI,GADAsV,EAAavZ,EAAUhV,MAAM1V,OACX8P,QAClBo0B,EAAmB,GACdxZ,EAAUhV,MAAM0J,MAAQsL,EAAU2Y,UAAU7mJ,OAC/C0nJ,EAAmBxZ,EAAUwZ,qBACxB,CAEL,IADAb,EAAYtpJ,KAAK+pJ,iBAAiBpZ,EAAU2Y,WACvC5gJ,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB6tI,EAAW5C,EAAIjD,kBAAkBwZ,EAAW3U,OAAO7sI,IACnD4gJ,EAAUpnJ,KAAKq0I,GACf4T,GAAoB5T,EAAStF,YAE/BN,EAAUwZ,iBAAmBA,EAC7BxZ,EAAU2Y,UAAYA,EAGxBG,GAAuBU,EACvBxZ,EAAUhV,MAAM0J,MAAO,OAnBvBsL,EAAUhV,MAAM1V,MAAQ0qB,EAAUmU,qBAsBtC,IAGIsF,EAHAP,EAASjiJ,EACTkiJ,EAAStiJ,EACT0oI,EAAc,EAElB,IAAKxtI,EAAI8M,EAAM,EAAG9M,GAAK,EAAGA,GAAK,EAE7B,IADAiuI,EAAY3wI,KAAKu1I,OAAO7yI,IACVi5H,MAAM0J,KAAM,CAWxB,KAVAyf,EAAuBnU,EAAUmU,sBACZK,gBAEN,IAAXnlJ,KAAKqI,GAAWmH,EAAM,GACxB46I,EAAQpqJ,KAAKupJ,oBAAoB3hJ,EAAGJ,EAAGmpI,EAAUwZ,iBAAkBja,EAAauZ,GAChFvZ,GAAeS,EAAUwZ,kBAEzBC,EAAQ,CAAC,CAACP,EAAQC,IAEpBlV,EAAOwV,EAAM3nJ,OACRiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EAAG,CAC5BmhJ,EAASO,EAAM1hJ,GAAG,GAClBohJ,EAASM,EAAM1hJ,GAAG,GAClBghJ,EAASjnJ,OAAS,EACdqnJ,GAAU,EACZJ,EAASxnJ,KAAK,CACZ0F,EAAG+oI,EAAUwZ,iBAAmBN,EAChCriJ,EAAGmpI,EAAUwZ,iBAAmBL,IAEzBD,GAAU,EACnBH,EAASxnJ,KAAK,CACZ0F,EAAG+oI,EAAUwZ,kBAAoBN,EAAS,GAC1CriJ,EAAGmpI,EAAUwZ,kBAAoBL,EAAS,MAG5CJ,EAASxnJ,KAAK,CACZ0F,EAAG+oI,EAAUwZ,iBAAmBN,EAChCriJ,EAAGmpI,EAAUwZ,mBAEfT,EAASxnJ,KAAK,CACZ0F,EAAG,EACHJ,EAAGmpI,EAAUwZ,kBAAoBL,EAAS,MAG9C,IAAIO,EAAgBrqJ,KAAKsqJ,UAAU3Z,EAAW+Y,EAAS,IACvD,GAAIA,EAAS,GAAG9hJ,IAAM8hJ,EAAS,GAAGliJ,EAAG,CACnC,GAAIkiJ,EAASjnJ,OAAS,EAEpB,GAD4BkuI,EAAUhV,MAAM1V,MAAMsvB,OAAO5E,EAAUhV,MAAM1V,MAAM8P,QAAU,GAC/D7tH,EAAG,CAC3B,IAAIqiJ,EAAYF,EAAc1mJ,MAC9B3D,KAAKwqJ,SAASH,EAAevF,GAC7BuF,EAAgBrqJ,KAAKsqJ,UAAU3Z,EAAW+Y,EAAS,GAAIa,QAEvDvqJ,KAAKwqJ,SAASH,EAAevF,GAC7BuF,EAAgBrqJ,KAAKsqJ,UAAU3Z,EAAW+Y,EAAS,IAGvD1pJ,KAAKwqJ,SAASH,EAAevF,IAGjCnU,EAAUhV,MAAM1V,MAAQ6+B,KAahCkD,GAAatrJ,UAAU8tJ,SAAW,SAAUC,EAAU3F,GACpD,IAAIpiJ,EACA8M,EAAMi7I,EAAShoJ,OACnB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBoiJ,EAAqBM,SAASqF,EAAS/nJ,KAI3CslJ,GAAatrJ,UAAUguJ,WAAa,SAAUrhB,EAAKC,EAAKC,EAAKsG,EAAK8a,EAAWx1I,EAAKy1I,GAChFD,EAAUlH,QAAQna,EAAI,GAAIA,EAAI,GAAI,IAAKn0H,GACvCw1I,EAAUlH,QAAQla,EAAI,GAAIA,EAAI,GAAI,IAAKp0H,EAAM,GACzCy1I,GACFD,EAAUlH,QAAQpa,EAAI,GAAIA,EAAI,GAAI,IAAKl0H,GAEzCw1I,EAAUlH,QAAQ5T,EAAI,GAAIA,EAAI,GAAI,IAAK16H,EAAM,IAG/C6yI,GAAatrJ,UAAUmuJ,oBAAsB,SAAUjd,EAAQ+c,EAAWx1I,EAAKy1I,GAC7ED,EAAUlH,QAAQ7V,EAAO,GAAIA,EAAO,GAAI,IAAKz4H,GAC7Cw1I,EAAUlH,QAAQ7V,EAAO,GAAIA,EAAO,GAAI,IAAKz4H,EAAM,GAC/Cy1I,GACFD,EAAUlH,QAAQ7V,EAAO,GAAIA,EAAO,GAAI,IAAKz4H,GAE/Cw1I,EAAUlH,QAAQ7V,EAAO,GAAIA,EAAO,GAAI,IAAKz4H,EAAM,IAGrD6yI,GAAatrJ,UAAU4tJ,UAAY,SAAU3Z,EAAWma,EAAcH,GACpE,IAEIjoJ,EAEAgG,EACAksI,EAEAmW,EACAC,EACAva,EACAwa,EAEAtZ,EAZA2X,EAAY3Y,EAAU2Y,UACtBY,EAAavZ,EAAUhV,MAAM1V,MAAMsvB,OAEnC/lI,EAAMmhI,EAAUhV,MAAM1V,MAAM8P,QAG5Bma,EAAc,EAKdqF,EAAS,GAETqV,GAAW,EAUf,IATKD,GAKHK,EAAeL,EAAU50B,QACzB4b,EAAUgZ,EAAU50B,UALpB40B,EAAYzF,GAAU3U,aACtBya,EAAe,EACfrZ,EAAU,GAKZ4D,EAAOrzI,KAAKyoJ,GACPjoJ,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAI3B,IAHA+tI,EAAU6Y,EAAU5mJ,GAAG+tI,QACvBka,EAAUziJ,EAAIgiJ,EAAWxnJ,GAAGwF,EAC5B0sI,EAAOsV,EAAWxnJ,GAAGwF,EAAIuoI,EAAQhuI,OAASguI,EAAQhuI,OAAS,EACtDiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EAEzB,GAAIwnI,GADJ6a,EAAoBta,EAAQ/nI,EAAI,IACIwnI,YAAc4a,EAAaljJ,EAC7DsoI,GAAe6a,EAAkB7a,YACjCya,EAAUziJ,GAAI,MACT,IAAIgoI,EAAc4a,EAAatjJ,EAAG,CACvCmjJ,EAAUziJ,GAAI,EACd,MAEI4iJ,EAAaljJ,GAAKsoI,GAAe4a,EAAatjJ,GAAK0oI,EAAc6a,EAAkB7a,aACrFlwI,KAAK0qJ,WAAWR,EAAWxnJ,GAAGiG,EAAED,EAAI,GAAIwhJ,EAAWxnJ,GAAGoF,EAAEY,EAAI,GAAIwhJ,EAAWxnJ,GAAGA,EAAEgG,GAAIwhJ,EAAWxnJ,GAAGiG,EAAED,GAAIiiJ,EAAWK,EAAcJ,GACjIA,GAAW,IAEXK,EAAUtX,EAAIzB,cAAcgY,EAAWxnJ,GAAGiG,EAAED,EAAI,GAAIwhJ,EAAWxnJ,GAAGiG,EAAED,GAAIwhJ,EAAWxnJ,GAAGoF,EAAEY,EAAI,GAAIwhJ,EAAWxnJ,GAAGA,EAAEgG,IAAKoiJ,EAAaljJ,EAAIsoI,GAAe6a,EAAkB7a,aAAc4a,EAAatjJ,EAAI0oI,GAAe6a,EAAkB7a,YAAaO,EAAQ/nI,EAAI,IAChQ1I,KAAK6qJ,oBAAoBI,EAASN,EAAWK,EAAcJ,GAE3DA,GAAW,EACXD,EAAUziJ,GAAI,GAEhBgoI,GAAe6a,EAAkB7a,YACjC8a,GAAgB,EAGpB,GAAId,EAAWxnJ,GAAGwF,GAAKuoI,EAAQhuI,OAAQ,CAErC,GADAsoJ,EAAoBta,EAAQ/nI,EAAI,GAC5BwnI,GAAe4a,EAAatjJ,EAAG,CACjC,IAAI2pI,EAAgBV,EAAQ/nI,EAAI,GAAGwnI,YAC/B4a,EAAaljJ,GAAKsoI,GAAe4a,EAAatjJ,GAAK0oI,EAAciB,GACnEnxI,KAAK0qJ,WAAWR,EAAWxnJ,GAAGiG,EAAED,EAAI,GAAIwhJ,EAAWxnJ,GAAGoF,EAAEY,EAAI,GAAIwhJ,EAAWxnJ,GAAGA,EAAE,GAAIwnJ,EAAWxnJ,GAAGiG,EAAE,GAAIgiJ,EAAWK,EAAcJ,GACjIA,GAAW,IAEXK,EAAUtX,EAAIzB,cAAcgY,EAAWxnJ,GAAGiG,EAAED,EAAI,GAAIwhJ,EAAWxnJ,GAAGiG,EAAE,GAAIuhJ,EAAWxnJ,GAAGoF,EAAEY,EAAI,GAAIwhJ,EAAWxnJ,GAAGA,EAAE,IAAKooJ,EAAaljJ,EAAIsoI,GAAeiB,GAAgB2Z,EAAatjJ,EAAI0oI,GAAeiB,EAAeV,EAAQ/nI,EAAI,IAChO1I,KAAK6qJ,oBAAoBI,EAASN,EAAWK,EAAcJ,GAE3DA,GAAW,EACXD,EAAUziJ,GAAI,QAGhByiJ,EAAUziJ,GAAI,EAEhBgoI,GAAe6a,EAAkB7a,YACjC8a,GAAgB,EAMlB,GAJIL,EAAU50B,UACZ40B,EAAUlH,QAAQkH,EAAUhiJ,EAAEgpI,GAAS,GAAIgZ,EAAUhiJ,EAAEgpI,GAAS,GAAI,IAAKA,GACzEgZ,EAAUlH,QAAQkH,EAAUhiJ,EAAEgiJ,EAAU50B,QAAU,GAAG,GAAI40B,EAAUhiJ,EAAEgiJ,EAAU50B,QAAU,GAAG,GAAI,IAAK40B,EAAU50B,QAAU,IAEvHma,EAAc4a,EAAatjJ,EAC7B,MAEE9E,EAAI8M,EAAM,IACZm7I,EAAYzF,GAAU3U,aACtBqa,GAAW,EACXrV,EAAOrzI,KAAKyoJ,GACZK,EAAe,GAGnB,OAAOzV,GAGTmS,GAAeE,iBAAiB,KAAMI,IAKtCtZ,EAAgB,CAACqZ,IAAgBE,IACjCA,GAAqBvrJ,UAAUusJ,uBAAyB,SAAUtI,EAAM/wI,GACtE5P,KAAK2nF,SAAW3nF,KAAKsiJ,YACrBtiJ,KAAK0oE,GAAK2zE,EAAgBuF,QAAQjB,EAAM/wI,EAAKjI,EAAG,EAAG,KAAM3H,MACzDA,KAAKmlI,cAAgBnlI,KAAK0oE,GAAGo4E,gBAAgBr+I,QAG/CwlJ,GAAqBvrJ,UAAUwuJ,YAAc,SAAU18B,EAAMxoF,GAC3D,IAEItjC,EAFAyoJ,EAAajG,GAAU3U,aAC3B4a,EAAWjjJ,EAAIsmH,EAAKtmH,EAEpB,IACIkjJ,EACAC,EACAC,EACAC,EACAC,EACAC,EAEA9H,EACAC,EACAC,EACAC,EACAC,EACAC,EAbAx0I,EAAMg/G,EAAKuH,QAOX9rH,EAAQ,EAOZ,IAAKvH,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB0oJ,EAAW58B,EAAK7lH,EAAEjG,GAClB4oJ,EAAW98B,EAAK1mH,EAAEpF,GAClB2oJ,EAAW78B,EAAK9rH,EAAEA,GACd0oJ,EAAS,KAAOE,EAAS,IAAMF,EAAS,KAAOE,EAAS,IAAMF,EAAS,KAAOC,EAAS,IAAMD,EAAS,KAAOC,EAAS,GAC7G,IAAN3oJ,GAAWA,IAAM8M,EAAM,GAAOg/G,EAAKtmH,GAQpCqjJ,EADQ,IAAN7oJ,EACQ8rH,EAAK7lH,EAAE6G,EAAM,GAEbg/G,EAAK7lH,EAAEjG,EAAI,GAGvB+oJ,GADAD,EAAWn4I,KAAK24B,KAAK34B,KAAKsE,IAAIyzI,EAAS,GAAKG,EAAQ,GAAI,GAAKl4I,KAAKsE,IAAIyzI,EAAS,GAAKG,EAAQ,GAAI,KACxEl4I,KAAKC,IAAIk4I,EAAW,EAAGxlH,GAASwlH,EAAW,EAEnE7H,EADAI,EAAKqH,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EAGhD7H,EADAI,EAAKoH,EAAS,IAAMA,EAAS,GAAKG,EAAQ,IAAME,EAEhD5H,EAAKF,GAAMA,EAAKyH,EAAS,IAAM3oB,EAC/BqhB,EAAKF,GAAMA,EAAKwH,EAAS,IAAM3oB,EAC/B0oB,EAAWzH,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI/5I,GAC/CA,GAAS,EAGPshJ,EADE7oJ,IAAM8M,EAAM,EACJg/G,EAAK7lH,EAAE,GAEP6lH,EAAK7lH,EAAEjG,EAAI,GAGvB+oJ,GADAD,EAAWn4I,KAAK24B,KAAK34B,KAAKsE,IAAIyzI,EAAS,GAAKG,EAAQ,GAAI,GAAKl4I,KAAKsE,IAAIyzI,EAAS,GAAKG,EAAQ,GAAI,KACxEl4I,KAAKC,IAAIk4I,EAAW,EAAGxlH,GAASwlH,EAAW,EAEnE7H,EADAE,EAAKuH,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EAGhD7H,EADAE,EAAKsH,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EAEhD1H,EAAKJ,GAAMA,EAAKyH,EAAS,IAAM3oB,EAC/BuhB,EAAKJ,GAAMA,EAAKwH,EAAS,IAAM3oB,EAC/B0oB,EAAWzH,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI/5I,GAC/CA,GAAS,IApCTkhJ,EAAWzH,YAAY0H,EAAS,GAAIA,EAAS,GAAIE,EAAS,GAAIA,EAAS,GAAID,EAAS,GAAIA,EAAS,GAAIphJ,GAIrGA,GAAS,IAmCXkhJ,EAAWzH,YAAYl1B,EAAK7lH,EAAEjG,GAAG,GAAI8rH,EAAK7lH,EAAEjG,GAAG,GAAI8rH,EAAK1mH,EAAEpF,GAAG,GAAI8rH,EAAK1mH,EAAEpF,GAAG,GAAI8rH,EAAK9rH,EAAEA,GAAG,GAAI8rH,EAAK9rH,EAAEA,GAAG,GAAIuH,GAC3GA,GAAS,GAGb,OAAOkhJ,GAGTlD,GAAqBvrJ,UAAUutJ,cAAgB,SAAUjJ,GACvD,IAAIkJ,EACAxnJ,EAEAgG,EACAksI,EAIEjE,EACAmU,EAPFt1I,EAAMxP,KAAKu1I,OAAO9yI,OAGlBimE,EAAK1oE,KAAK0oE,GAAG//D,EAEjB,GAAW,IAAP+/D,EAGF,IAAKhmE,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAG3B,GADAoiJ,GADAnU,EAAY3wI,KAAKu1I,OAAO7yI,IACSoiJ,qBAC1BnU,EAAUhV,MAAM0J,MAASrlI,KAAKqlI,MAAS2b,EAK5C,IAJA8D,EAAqBK,gBACrBxU,EAAUhV,MAAM0J,MAAO,EACvB6kB,EAAavZ,EAAUhV,MAAM1V,MAAMsvB,OACnCX,EAAOjE,EAAUhV,MAAM1V,MAAM8P,QACxBrtH,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzBo8I,EAAqBM,SAASplJ,KAAKkrJ,YAAYhB,EAAWxhJ,GAAIggE,IAGlEioE,EAAUhV,MAAM1V,MAAQ0qB,EAAUmU,qBAGjC9kJ,KAAKklI,kBAAkBziI,SAC1BzC,KAAKqlI,MAAO,IAIhBqiB,GAAeE,iBAAiB,KAAMK,IAKtCvZ,EAAgB,CAACqZ,IAAgBG,IACjCA,GAAuBxrJ,UAAUusJ,uBAAyB,SAAUtI,EAAM/wI,GACxE5P,KAAK2nF,SAAW3nF,KAAKsiJ,YACrBtiJ,KAAK0rJ,OAASrP,EAAgBuF,QAAQjB,EAAM/wI,EAAK/H,EAAG,EAAG,KAAM7H,MAC7DA,KAAKmlI,cAAgBnlI,KAAK0rJ,OAAO5K,gBAAgBr+I,QAGnDylJ,GAAuBxrJ,UAAUwuJ,YAAc,SAAU18B,EAAMk9B,GAC7D,IAAI3Z,EAAU2Z,EAAS,IACnBC,EAAc,CAAC,EAAG,GAClBC,EAAap9B,EAAKuH,QAClBrzH,EAAI,EACR,IAAKA,EAAI,EAAGA,EAAIkpJ,EAAYlpJ,GAAK,EAC/BipJ,EAAY,IAAMn9B,EAAK7lH,EAAEjG,GAAG,GAC5BipJ,EAAY,IAAMn9B,EAAK7lH,EAAEjG,GAAG,GAE9BipJ,EAAY,IAAMC,EAClBD,EAAY,IAAMC,EAClB,IAEIjI,EACAC,EACAC,EACAC,EACAC,EACAC,EAPAmH,EAAajG,GAAU3U,aAQ3B,IAPA4a,EAAWjjJ,EAAIsmH,EAAKtmH,EAOfxF,EAAI,EAAGA,EAAIkpJ,EAAYlpJ,GAAK,EAC/BihJ,EAAKn1B,EAAK7lH,EAAEjG,GAAG,IAAMipJ,EAAY,GAAKn9B,EAAK7lH,EAAEjG,GAAG,IAAMqvI,EACtD6R,EAAKp1B,EAAK7lH,EAAEjG,GAAG,IAAMipJ,EAAY,GAAKn9B,EAAK7lH,EAAEjG,GAAG,IAAMqvI,EACtD8R,EAAKr1B,EAAK1mH,EAAEpF,GAAG,IAAMipJ,EAAY,GAAKn9B,EAAK1mH,EAAEpF,GAAG,KAAOqvI,EACvD+R,EAAKt1B,EAAK1mH,EAAEpF,GAAG,IAAMipJ,EAAY,GAAKn9B,EAAK1mH,EAAEpF,GAAG,KAAOqvI,EACvDgS,EAAKv1B,EAAK9rH,EAAEA,GAAG,IAAMipJ,EAAY,GAAKn9B,EAAK9rH,EAAEA,GAAG,KAAOqvI,EACvDiS,EAAKx1B,EAAK9rH,EAAEA,GAAG,IAAMipJ,EAAY,GAAKn9B,EAAK9rH,EAAEA,GAAG,KAAOqvI,EACvDoZ,EAAWzH,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIthJ,GAEjD,OAAOyoJ,GAGTjD,GAAuBxrJ,UAAUutJ,cAAgB,SAAUjJ,GACzD,IAAIkJ,EACAxnJ,EAEAgG,EACAksI,EAIEjE,EACAmU,EAPFt1I,EAAMxP,KAAKu1I,OAAO9yI,OAGlBipJ,EAAS1rJ,KAAK0rJ,OAAO/iJ,EAEzB,GAAe,IAAX+iJ,EAGF,IAAKhpJ,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAG3B,GADAoiJ,GADAnU,EAAY3wI,KAAKu1I,OAAO7yI,IACSoiJ,qBAC1BnU,EAAUhV,MAAM0J,MAASrlI,KAAKqlI,MAAS2b,EAK5C,IAJA8D,EAAqBK,gBACrBxU,EAAUhV,MAAM0J,MAAO,EACvB6kB,EAAavZ,EAAUhV,MAAM1V,MAAMsvB,OACnCX,EAAOjE,EAAUhV,MAAM1V,MAAM8P,QACxBrtH,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzBo8I,EAAqBM,SAASplJ,KAAKkrJ,YAAYhB,EAAWxhJ,GAAIgjJ,IAGlE/a,EAAUhV,MAAM1V,MAAQ0qB,EAAUmU,qBAGjC9kJ,KAAKklI,kBAAkBziI,SAC1BzC,KAAKqlI,MAAO,IAGhBqiB,GAAeE,iBAAiB,KAAMM,IAKtCxZ,EAAgB,CAACqZ,IAAgBI,IAEjCA,GAAiBzrJ,UAAUusJ,uBAAyB,SAAUtI,EAAM/wI,GAClE5P,KAAK2nF,SAAW3nF,KAAKsiJ,YACrBtiJ,KAAKkI,EAAIm0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK1H,EAAG,EAAG,KAAMlI,MACxDA,KAAK8H,EAAIu0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK9H,EAAG,EAAG,KAAM9H,MACxDA,KAAK6rJ,GAAKhK,EAAyBqB,qBAAqBvC,EAAM/wI,EAAKi8I,GAAI7rJ,MACvEA,KAAK8rJ,GAAKzP,EAAgBuF,QAAQjB,EAAM/wI,EAAKi8I,GAAGC,GAAI,EAAG,IAAM9rJ,MAC7DA,KAAK+rJ,GAAK1P,EAAgBuF,QAAQjB,EAAM/wI,EAAKi8I,GAAGE,GAAI,EAAG,IAAM/rJ,MAC7DA,KAAK4P,KAAOA,EACP5P,KAAKklI,kBAAkBziI,QAC1BzC,KAAK2nF,UAAS,GAEhB3nF,KAAKmlI,cAAgBnlI,KAAKklI,kBAAkBziI,OAC5CzC,KAAKgsJ,QAAU,IAAIrmB,EACnB3lI,KAAKisJ,QAAU,IAAItmB,EACnB3lI,KAAKksJ,QAAU,IAAIvmB,EACnB3lI,KAAKmsJ,QAAU,IAAIxmB,EACnB3lI,KAAKosJ,OAAS,IAAIzmB,GAGpBwiB,GAAiBzrJ,UAAU2vJ,gBAAkB,SAAUL,EAASC,EAASC,EAASpnH,EAAWirG,EAAMjiG,GACjG,IAAI78B,EAAM68B,GAAO,EAAI,EACjBw+G,EAASxnH,EAAUl9B,EAAEe,EAAE,IAAM,EAAIm8B,EAAUl9B,EAAEe,EAAE,KAAO,EAAIonI,GAC1Dwc,EAASznH,EAAUl9B,EAAEe,EAAE,IAAM,EAAIm8B,EAAUl9B,EAAEe,EAAE,KAAO,EAAIonI,GAC9Dic,EAAQ/kB,UAAUniG,EAAU38B,EAAEQ,EAAE,GAAKsI,EAAM8+H,EAAMjrG,EAAU38B,EAAEQ,EAAE,GAAKsI,EAAM8+H,EAAMjrG,EAAU38B,EAAEQ,EAAE,IAC9FsjJ,EAAQhlB,WAAWniG,EAAUj9B,EAAEc,EAAE,IAAKm8B,EAAUj9B,EAAEc,EAAE,GAAIm8B,EAAUj9B,EAAEc,EAAE,IACtEsjJ,EAAQjmB,QAAQlhG,EAAUn9B,EAAEgB,EAAIsI,EAAM8+H,GACtCkc,EAAQhlB,UAAUniG,EAAUj9B,EAAEc,EAAE,GAAIm8B,EAAUj9B,EAAEc,EAAE,GAAIm8B,EAAUj9B,EAAEc,EAAE,IACpEujJ,EAAQjlB,WAAWniG,EAAUj9B,EAAEc,EAAE,IAAKm8B,EAAUj9B,EAAEc,EAAE,GAAIm8B,EAAUj9B,EAAEc,EAAE,IACtEujJ,EAAQplB,MAAMh5F,EAAM,EAAIw+G,EAASA,EAAQx+G,EAAM,EAAIy+G,EAASA,GAC5DL,EAAQjlB,UAAUniG,EAAUj9B,EAAEc,EAAE,GAAIm8B,EAAUj9B,EAAEc,EAAE,GAAIm8B,EAAUj9B,EAAEc,EAAE,KAGtEw/I,GAAiBzrJ,UAAU4f,KAAO,SAAUqkI,EAAMrzI,EAAK6H,EAAKq3I,GAW1D,IAVAxsJ,KAAK2gJ,KAAOA,EACZ3gJ,KAAKsN,IAAMA,EACXtN,KAAKmV,IAAMA,EACXnV,KAAKwsJ,UAAYA,EACjBxsJ,KAAKysJ,eAAiB,EACtBzsJ,KAAK0sJ,UAAY,GACjB1sJ,KAAK2sJ,QAAU,GACf3sJ,KAAK6gJ,SAAW,EAChB7gJ,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAKipJ,uBAAuBtI,EAAMrzI,EAAI6H,IAC/BA,EAAM,GACXA,GAAO,EAEPnV,KAAK0sJ,UAAUhmG,QAAQp5C,EAAI6H,IAEzBnV,KAAKklI,kBAAkBziI,OACzBzC,KAAKyd,GAAI,EAETzd,KAAK2nF,UAAS,IAIlBwgE,GAAiBzrJ,UAAUkwJ,cAAgB,SAAUC,GACnD,IAAInqJ,EACA8M,EAAMq9I,EAASpqJ,OACnB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBmqJ,EAASnqJ,GAAGoqJ,YAAa,EACF,OAAnBD,EAASnqJ,GAAG+nB,IACdzqB,KAAK4sJ,cAAcC,EAASnqJ,GAAG+X,KAKrC0tI,GAAiBzrJ,UAAUqwJ,cAAgB,SAAUF,GACnD,IAAIG,EAAc71G,KAAKnG,MAAMmG,KAAKlH,UAAU48G,IAE5C,OADA7sJ,KAAK4sJ,cAAcI,GACZA,GAGT7E,GAAiBzrJ,UAAUuwJ,kBAAoB,SAAUJ,EAAUK,GACjE,IAAIxqJ,EACA8M,EAAMq9I,EAASpqJ,OACnB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBmqJ,EAASnqJ,GAAGyqJ,QAAUD,EACC,OAAnBL,EAASnqJ,GAAG+nB,IACdzqB,KAAKitJ,kBAAkBJ,EAASnqJ,GAAG+X,GAAIyyI,IAK7C/E,GAAiBzrJ,UAAUutJ,cAAgB,SAAUjJ,GACnD,IAAI50I,EACAghJ,EACA1qJ,EACAuO,EACAo8I,EACAC,GAAc,EAClB,GAAIttJ,KAAKqlI,MAAQ2b,EAAe,CAC9B,IAmBIkM,EAnBAK,EAASl6I,KAAK+pB,KAAKp9B,KAAKkI,EAAES,GAC9B,GAAI3I,KAAK2sJ,QAAQlqJ,OAAS8qJ,EAAQ,CAChC,KAAOvtJ,KAAK2sJ,QAAQlqJ,OAAS8qJ,GAAQ,CACnC,IAAIviC,EAAQ,CACVvwG,GAAIza,KAAK+sJ,cAAc/sJ,KAAK0sJ,WAC5BjiI,GAAI,MAENugG,EAAMvwG,GAAGvY,KAAK,CACZ2F,EAAG,CAAEA,EAAG,EAAG2lJ,GAAI,EAAG/vI,EAAG,CAAC,EAAG,IAAMyuH,GAAI,YAAapkI,EAAG,CAAED,EAAG,EAAG2lJ,GAAI,EAAG/vI,EAAG,KAAOtV,EAAG,CAAEN,EAAG,EAAG2lJ,GAAI,EAAG/vI,EAAG,CAAC,EAAG,IAAM9V,EAAG,CAAEE,EAAG,EAAG2lJ,GAAI,EAAG/vI,EAAG,CAAC,CAAE7V,EAAG,EAAGJ,EAAG,EAAGE,EAAG,GAAK,CAAEE,EAAG,EAAGJ,EAAG,EAAGE,EAAG,KAAQE,EAAG,CAAEC,EAAG,EAAG2lJ,GAAI,EAAG/vI,EAAG,CAAC,IAAK,MAAQ+nE,GAAI,CAAE39E,EAAG,EAAG2lJ,GAAI,EAAG/vI,EAAG,GAAKsN,GAAI,CAAEljB,EAAG,EAAG2lJ,GAAI,EAAG/vI,EAAG,GAAKgN,GAAI,OAG/QzqB,KAAKsN,IAAIstC,OAAO,EAAG,EAAGowE,GACtBhrH,KAAK2sJ,QAAQ/xG,OAAO,EAAG,EAAGowE,GAC1BhrH,KAAKysJ,gBAAkB,EAEzBzsJ,KAAK2gJ,KAAK8M,eACVH,GAAc,EAIhB,IAFAD,EAAO,EAEF3qJ,EAAI,EAAGA,GAAK1C,KAAK2sJ,QAAQlqJ,OAAS,EAAGC,GAAK,EAAG,CAIhD,GAHAwqJ,EAAaG,EAAOE,EACpBvtJ,KAAK2sJ,QAAQjqJ,GAAGyqJ,QAAUD,EAC1BltJ,KAAKitJ,kBAAkBjtJ,KAAK2sJ,QAAQjqJ,GAAG+X,GAAIyyI,IACtCA,EAAY,CACf,IAAIQ,EAAQ1tJ,KAAKwsJ,UAAU9pJ,GAAG+X,GAC1BkzI,EAAgBD,EAAMA,EAAMjrJ,OAAS,GACJ,IAAjCkrJ,EAAc7oH,UAAUwiF,GAAG3+G,GAC7BglJ,EAAc7oH,UAAUwiF,GAAG+d,MAAO,EAClCsoB,EAAc7oH,UAAUwiF,GAAG3+G,EAAI,GAE/BglJ,EAAc7oH,UAAUwiF,GAAG+d,MAAO,EAGtCgoB,GAAQ,EAGVrtJ,KAAKysJ,eAAiBc,EAGtB,IAAIx7I,EAAS/R,KAAK8H,EAAEa,EAChBilJ,EAAe77I,EAAS,EACxB87I,EAAc97I,EAAS,EAAIsB,KAAKoF,MAAM1G,GAAUsB,KAAK+pB,KAAKrrB,GAC1D+7I,EAAS9tJ,KAAKgsJ,QAAQhnJ,MACtB+oJ,EAAS/tJ,KAAKisJ,QAAQjnJ,MACtBgpJ,EAAShuJ,KAAKksJ,QAAQlnJ,MAC1BhF,KAAKgsJ,QAAQ3pJ,QACbrC,KAAKisJ,QAAQ5pJ,QACbrC,KAAKksJ,QAAQ7pJ,QACbrC,KAAKmsJ,QAAQ9pJ,QACbrC,KAAKosJ,OAAO/pJ,QACZ,IAwBIqG,EACAksI,EAzBAqZ,EAAY,EAEhB,GAAIl8I,EAAS,EAAG,CACd,KAAOk8I,EAAYJ,GACjB7tJ,KAAKqsJ,gBAAgBrsJ,KAAKgsJ,QAAShsJ,KAAKisJ,QAASjsJ,KAAKksJ,QAASlsJ,KAAK6rJ,GAAI,GAAG,GAC3EoC,GAAa,EAEXL,IACF5tJ,KAAKqsJ,gBAAgBrsJ,KAAKgsJ,QAAShsJ,KAAKisJ,QAASjsJ,KAAKksJ,QAASlsJ,KAAK6rJ,GAAI+B,GAAc,GACtFK,GAAaL,QAEV,GAAI77I,EAAS,EAAG,CACrB,KAAOk8I,EAAYJ,GACjB7tJ,KAAKqsJ,gBAAgBrsJ,KAAKgsJ,QAAShsJ,KAAKisJ,QAASjsJ,KAAKksJ,QAASlsJ,KAAK6rJ,GAAI,GAAG,GAC3EoC,GAAa,EAEXL,IACF5tJ,KAAKqsJ,gBAAgBrsJ,KAAKgsJ,QAAShsJ,KAAKisJ,QAASjsJ,KAAKksJ,QAASlsJ,KAAK6rJ,IAAK+B,GAAc,GACvFK,GAAaL,GAQjB,IALAlrJ,EAAoB,IAAhB1C,KAAK4P,KAAKvH,EAAU,EAAIrI,KAAKysJ,eAAiB,EAClDx7I,EAAsB,IAAhBjR,KAAK4P,KAAKvH,EAAU,GAAK,EAC/BglJ,EAAOrtJ,KAAKysJ,eAGLY,GAAM,CAUX,GAPAzY,GADAwY,GADAhhJ,EAAQpM,KAAKwsJ,UAAU9pJ,GAAG+X,IACHrO,EAAM3J,OAAS,GAAGqiC,UAAUopH,OAAOvlJ,EAAE3D,OACtCvC,OACtB2J,EAAMA,EAAM3J,OAAS,GAAGqiC,UAAUopH,OAAO7oB,MAAO,EAChDj5H,EAAMA,EAAM3J,OAAS,GAAGqiC,UAAUwiF,GAAG+d,MAAO,EAC5Cj5H,EAAMA,EAAM3J,OAAS,GAAGqiC,UAAUwiF,GAAG3+G,EAA4B,IAAxB3I,KAAKysJ,eAC1CzsJ,KAAK8rJ,GAAGnjJ,EACR3I,KAAK8rJ,GAAGnjJ,GAAK3I,KAAK+rJ,GAAGpjJ,EAAI3I,KAAK8rJ,GAAGnjJ,IAAMjG,GAAK1C,KAAKysJ,eAAiB,IAEpD,IAAdwB,EAAiB,CAQnB,KAPW,IAANvrJ,GAAmB,IAARuO,GAAevO,IAAM1C,KAAKysJ,eAAiB,IAAc,IAATx7I,IAC9DjR,KAAKqsJ,gBAAgBrsJ,KAAKgsJ,QAAShsJ,KAAKisJ,QAASjsJ,KAAKksJ,QAASlsJ,KAAK6rJ,GAAI,GAAG,GAE7E7rJ,KAAKosJ,OAAOtnH,UAAUipH,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KACvM/tJ,KAAKosJ,OAAOtnH,UAAUkpH,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KACvMhuJ,KAAKosJ,OAAOtnH,UAAUgpH,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KAElMplJ,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB0kJ,EAAe1kJ,GAAK1I,KAAKosJ,OAAOpnJ,MAAM0D,GAExC1I,KAAKosJ,OAAO/pJ,aAGZ,IADArC,KAAKosJ,OAAO/pJ,QACPqG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB0kJ,EAAe1kJ,GAAK1I,KAAKosJ,OAAOpnJ,MAAM0D,GAG1CulJ,GAAa,EACbZ,GAAQ,EACR3qJ,GAAKuO,QAMP,IAHAo8I,EAAOrtJ,KAAKysJ,eACZ/pJ,EAAI,EACJuO,EAAM,EACCo8I,GAELD,GADAhhJ,EAAQpM,KAAKwsJ,UAAU9pJ,GAAG+X,IACHrO,EAAM3J,OAAS,GAAGqiC,UAAUopH,OAAOvlJ,EAAE3D,MAC5DoH,EAAMA,EAAM3J,OAAS,GAAGqiC,UAAUopH,OAAO7oB,MAAO,EAChDj5H,EAAMA,EAAM3J,OAAS,GAAGqiC,UAAUwiF,GAAG+d,MAAO,EAC5CgoB,GAAQ,EACR3qJ,GAAKuO,EAGT,OAAOq8I,GAGTnF,GAAiBzrJ,UAAU0oJ,SAAW,aAEtCsC,GAAeE,iBAAiB,KAAMO,IAUtCC,GAAgB1rJ,UAAU0oJ,SAAW,SAAUzU,GACzC3wI,KAAK+1H,UAAY/1H,KAAKojJ,aACxBpjJ,KAAKu1I,OAASv1I,KAAKu1I,OAAOtgI,OAAOqtH,EAAiBtiI,KAAKojJ,aACvDpjJ,KAAKojJ,YAAc,GAErBpjJ,KAAKu1I,OAAOv1I,KAAK+1H,SAAW4a,EAC5B3wI,KAAK+1H,SAAW,GAGlBqyB,GAAgB1rJ,UAAUyoJ,cAAgB,WACxC,IAAIziJ,EACJ,IAAKA,EAAI,EAAGA,EAAI1C,KAAK+1H,QAASrzH,GAAK,EACjCwiJ,GAAU8E,QAAQhqJ,KAAKu1I,OAAO7yI,IAEhC1C,KAAK+1H,QAAU,GA6BjBsyB,GAAa3rJ,UAAUirF,SAAW,SAAU46D,GAC1C,IAAIviJ,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,SAAY0B,KAGtDviJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,QACpC7gJ,KAAKolI,2BACLplI,KAAKqlI,KAAOrlI,KAAKqlI,MAAQkd,EACrBviJ,KAAKqlI,MAAM,CACb,IAAI3iI,EAAI,EACJ8M,EAAMxP,KAAKsoJ,UAAU7lJ,OAIzB,IAHsB,QAAlBzC,KAAKuuH,WACPvuH,KAAKuoJ,QAAU,IAEZ7lJ,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACI,MAAxB1C,KAAKsoJ,UAAU5lJ,GAAGqF,EACE,QAAlB/H,KAAKuuH,SACPvuH,KAAKuoJ,SAAW,IAAMvoJ,KAAKsoJ,UAAU5lJ,GAAGyF,EAAEQ,EAE1C3I,KAAKwoJ,UAAU9lJ,GAAK1C,KAAKsoJ,UAAU5lJ,GAAGyF,EAAEQ,EAG1C3I,KAAKyoJ,WAAW,GAAKzoJ,KAAKsoJ,UAAU5lJ,GAAGyF,EAAEQ,IAKjD+lI,EAAgB,CAAC1J,GAA2BqjB,IAkB5CK,GAAiBhsJ,UAAUyxJ,cAAgB,SAAU/tJ,EAAQwtI,GAI3D,IAHA,IAAIlrI,EAAI,EACJ8M,EAAMxP,KAAK8H,EAAErF,OAAS,EAEnBC,EAAI8M,GAAK,CAEd,GADO6D,KAAKssB,IAAIv/B,EAAW,EAAJsC,GAAStC,EAAgB,EAATwtI,EAAiB,EAAJlrI,IACzC,IACT,OAAO,EAETA,GAAK,EAEP,OAAO,GAGTgmJ,GAAiBhsJ,UAAUqsJ,iBAAmB,WAC5C,GAAI/oJ,KAAK8H,EAAErF,OAAS,IAAMzC,KAAKkI,EAAEzF,OAAS,EACxC,OAAO,EAET,GAAIzC,KAAK4P,KAAK6N,EAAEA,EAAE,GAAG7V,EAGnB,IAFA,IAAIlF,EAAI,EACJ8M,EAAMxP,KAAK4P,KAAK6N,EAAEA,EAAEhb,OACjBC,EAAI8M,GAAK,CACd,IAAKxP,KAAKmuJ,cAAcnuJ,KAAK4P,KAAK6N,EAAEA,EAAE/a,GAAGkF,EAAG5H,KAAK4P,KAAKzH,GACpD,OAAO,EAETzF,GAAK,OAEF,IAAK1C,KAAKmuJ,cAAcnuJ,KAAK4P,KAAK6N,EAAEA,EAAGzd,KAAK4P,KAAKzH,GACtD,OAAO,EAET,OAAO,GAGTugJ,GAAiBhsJ,UAAUirF,SAAW,SAAU46D,GAK9C,GAJAviJ,KAAK41E,KAAK+R,WACV3nF,KAAKqlI,MAAO,EACZrlI,KAAK4oJ,OAAQ,EACb5oJ,KAAK6oJ,OAAQ,EACT7oJ,KAAK41E,KAAKyvD,MAAQkd,EAAa,CACjC,IAAI7/I,EAEA+9I,EACAl5I,EAFAiI,EAAoB,EAAdxP,KAAK4P,KAAKzH,EAGpB,IAAKzF,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB+9I,EAAO/9I,EAAI,IAAM,EAAI,IAAM,IAC3B6E,EAAM8L,KAAK2yB,MAAMhmC,KAAK41E,KAAKjtE,EAAEjG,GAAK+9I,GAC9BzgJ,KAAKkI,EAAExF,KAAO6E,IAChBvH,KAAKkI,EAAExF,GAAK6E,EACZvH,KAAK4oJ,OAASrG,GAGlB,GAAIviJ,KAAK8H,EAAErF,OAET,IADA+M,EAAMxP,KAAK41E,KAAKjtE,EAAElG,OACbC,EAAkB,EAAd1C,KAAK4P,KAAKzH,EAAOzF,EAAI8M,EAAK9M,GAAK,EACtC+9I,EAAO/9I,EAAI,IAAM,EAAI,IAAM,EAC3B6E,EAAM7E,EAAI,IAAM,EAAI2Q,KAAK2yB,MAAuB,IAAjBhmC,KAAK41E,KAAKjtE,EAAEjG,IAAY1C,KAAK41E,KAAKjtE,EAAEjG,GAC/D1C,KAAK8H,EAAEpF,EAAkB,EAAd1C,KAAK4P,KAAKzH,KAAWZ,IAClCvH,KAAK8H,EAAEpF,EAAkB,EAAd1C,KAAK4P,KAAKzH,GAASZ,EAC9BvH,KAAK6oJ,OAAStG,GAIpBviJ,KAAKqlI,MAAQkd,IAIjB7T,EAAgB,CAAC1J,GAA2B0jB,IAI5C,IAAI0F,GAAmB,SAAUC,EAAW5rJ,EAAQm9D,EAAQoiF,GAC1D,GAAe,IAAXv/I,EACF,MAAO,GAET,IAGIC,EAHA4rJ,EAAKD,EAAUvmJ,EACf2F,EAAK4gJ,EAAU3rJ,EACfojJ,EAAKuI,EAAU1lJ,EAEf4lJ,EAAc,KAAOvM,EAAInY,wBAAwBic,EAAG,GAAG,GAAIA,EAAG,GAAG,IACrE,IAAKpjJ,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAC3B6rJ,GAAe,KAAOvM,EAAInY,wBAAwBykB,EAAG5rJ,EAAI,GAAG,GAAI4rJ,EAAG5rJ,EAAI,GAAG,IAAM,IAAMs/I,EAAInY,wBAAwBp8H,EAAG/K,GAAG,GAAI+K,EAAG/K,GAAG,IAAM,IAAMs/I,EAAInY,wBAAwBic,EAAGpjJ,GAAG,GAAIojJ,EAAGpjJ,GAAG,IAM5L,OAJIk9D,GAAUn9D,IACZ8rJ,GAAe,KAAOvM,EAAInY,wBAAwBykB,EAAG5rJ,EAAI,GAAG,GAAI4rJ,EAAG5rJ,EAAI,GAAG,IAAM,IAAMs/I,EAAInY,wBAAwBp8H,EAAG,GAAG,GAAIA,EAAG,GAAG,IAAM,IAAMu0I,EAAInY,wBAAwBic,EAAG,GAAG,GAAIA,EAAG,GAAG,IAC1LyI,GAAe,KAEVA,GAMLC,GAA0B,WAC5B,SAASC,EAAgBC,GACvB1uJ,KAAK2uJ,OAAS,GACd3uJ,KAAK0uJ,aAAeA,EACpB1uJ,KAAK4uJ,QAAU,EACf5uJ,KAAK6uJ,UAAW,EAwElB,OArEAJ,EAAgB/xJ,UAAY,CAC1BoyJ,SAAU,SAAUC,GAClB/uJ,KAAK2uJ,OAAOzsJ,KAAK6sJ,IAEnBC,MAAO,WACL,IAAItsJ,EACA8M,EAAMxP,KAAK2uJ,OAAOlsJ,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK2uJ,OAAOjsJ,GAAGssJ,SAGnBnnC,OAAQ,WACN,IAAInlH,EACA8M,EAAMxP,KAAK2uJ,OAAOlsJ,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK2uJ,OAAOjsJ,GAAGmlH,UAGnBonC,QAAS,SAAUC,GACjB,IAAIxsJ,EACA8M,EAAMxP,KAAK2uJ,OAAOlsJ,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK2uJ,OAAOjsJ,GAAGusJ,QAAQC,IAG3BC,YAAa,SAAUC,GACrB,OAAIpvJ,KAAK0uJ,aACA1uJ,KAAK0uJ,aAAaU,GACrBC,KACG,IAAIA,KAAK,CACdh1I,IAAK,CAAC+0I,KAGH,CACLE,WAAW,EACXC,KAAM,WAAcvvJ,KAAKsvJ,WAAY,GACrCE,KAAM,WAAcxvJ,KAAKsvJ,WAAY,GACrCG,QAAS,aACTC,KAAM,aACNC,UAAW,eAGfC,gBAAiB,SAAUlB,GACzB1uJ,KAAK0uJ,aAAeA,GAEtBiB,UAAW,SAAUnyJ,GACnBwC,KAAK4uJ,QAAUpxJ,EACfwC,KAAK6vJ,iBAEPC,KAAM,WACJ9vJ,KAAK6uJ,UAAW,EAChB7uJ,KAAK6vJ,iBAEPE,OAAQ,WACN/vJ,KAAK6uJ,UAAW,EAChB7uJ,KAAK6vJ,iBAEPG,UAAW,WACT,OAAOhwJ,KAAK4uJ,SAEdiB,cAAe,WACb,IAAIntJ,EACA8M,EAAMxP,KAAK2uJ,OAAOlsJ,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK2uJ,OAAOjsJ,GAAGutJ,OAAOjwJ,KAAK4uJ,SAAW5uJ,KAAK6uJ,SAAW,EAAI,MAKzD,WACL,OAAO,IAAIJ,GA9Ee,GAqF1ByB,GAAkB,WACpB,IAAIC,EAAc,WAChB,IAAIC,EAASrrB,EAAU,UACvBqrB,EAAOl6H,MAAQ,EACfk6H,EAAOj6H,OAAS,EAChB,IAAI0U,EAAMulH,EAAO5vB,WAAW,MAG5B,OAFA31F,EAAIqpF,UAAY,gBAChBrpF,EAAIspF,SAAS,EAAG,EAAG,EAAG,GACfi8B,EAPS,GAUlB,SAASC,IACPrwJ,KAAKswJ,cAAgB,EACjBtwJ,KAAKswJ,eAAiBtwJ,KAAKuwJ,aAAevwJ,KAAKwwJ,sBAAwBxwJ,KAAKywJ,eAC1EzwJ,KAAK0wJ,gBACP1wJ,KAAK0wJ,eAAe,MAI1B,SAASC,IACP3wJ,KAAKwwJ,qBAAuB,EACxBxwJ,KAAKswJ,eAAiBtwJ,KAAKuwJ,aAAevwJ,KAAKwwJ,sBAAwBxwJ,KAAKywJ,eAC1EzwJ,KAAK0wJ,gBACP1wJ,KAAK0wJ,eAAe,MAK1B,SAASE,EAAcC,EAAWC,EAAYC,GAC5C,IAAIviC,EAAO,GACX,GAAIqiC,EAAUrpJ,EACZgnH,EAAOqiC,EAAU1oJ,OACZ,GAAI2oJ,EAAY,CACrB,IAAIE,EAAYH,EAAU1oJ,GACY,IAAlC6oJ,EAAU7/I,QAAQ,aACpB6/I,EAAYA,EAAUp8H,MAAM,KAAK,IAEnC45F,EAAOsiC,EAAaE,OAEpBxiC,EAAOuiC,EACPviC,GAAQqiC,EAAU5oJ,EAAI4oJ,EAAU5oJ,EAAI,GACpCumH,GAAQqiC,EAAU1oJ,EAEpB,OAAOqmH,EAGT,SAASyiC,EAAgB1jE,GACvB,IAAIs2C,EAAS,EACTqtB,EAAaxxF,YAAY,YACjB6tB,EAAI4jE,UACNj7H,OAAS2tG,EAAS,OACxB7jI,KAAKoxJ,eACLzxF,cAAcuxF,IAEhBrtB,GAAU,GACVnxG,KAAK1yB,MAAO,IAGhB,SAASqxJ,EAAgBR,GACvB,IAAIriC,EAAOoiC,EAAcC,EAAW7wJ,KAAK8wJ,WAAY9wJ,KAAKwuH,MACtDjhC,EAAMu3C,EAAS,SACfjD,EACF7hI,KAAKixJ,gBAAgB1jE,GAErBA,EAAIxzC,iBAAiB,OAAQ/5C,KAAKoxJ,cAAc,GAElD7jE,EAAIxzC,iBAAiB,QAAS,WAC5BgwC,EAAGwD,IAAM4iE,EACTnwJ,KAAKoxJ,gBACL1+H,KAAK1yB,OAAO,GACdutF,EAAI1H,eAAe,+BAAgC,OAAQ2oC,GACvDxuH,KAAKsxJ,eAAex8G,OACtB90C,KAAKsxJ,eAAex8G,OAAOy4C,GAE3BvtF,KAAKsxJ,eAAetxF,YAAYutB,GAElC,IAAIxD,EAAK,CACPwD,IAAKA,EACLsjE,UAAWA,GAEb,OAAO9mE,EAGT,SAASwnE,EAAcV,GACrB,IAAIriC,EAAOoiC,EAAcC,EAAW7wJ,KAAK8wJ,WAAY9wJ,KAAKwuH,MACtDjhC,EAAMw3C,EAAU,OACpBx3C,EAAI0/B,YAAc,YAClB1/B,EAAIxzC,iBAAiB,OAAQ/5C,KAAKoxJ,cAAc,GAChD7jE,EAAIxzC,iBAAiB,QAAS,WAC5BgwC,EAAGwD,IAAM4iE,EACTnwJ,KAAKoxJ,gBACL1+H,KAAK1yB,OAAO,GACdutF,EAAIlzE,IAAMm0G,EACV,IAAIzkC,EAAK,CACPwD,IAAKA,EACLsjE,UAAWA,GAEb,OAAO9mE,EAGT,SAASynE,EAAkB5hJ,GACzB,IAAIm6E,EAAK,CACP8mE,UAAWjhJ,GAET4+G,EAAOoiC,EAAchhJ,EAAM5P,KAAK8wJ,WAAY9wJ,KAAKwuH,MAQrD,OAPAolB,EAAYiE,SAASrpB,EAAM,SAAUijC,GACnC1nE,EAAGwD,IAAMkkE,EACTzxJ,KAAK0xJ,kBACLh/H,KAAK1yB,MAAO,WACZ+pF,EAAGwD,IAAM,GACTvtF,KAAK0xJ,kBACLh/H,KAAK1yB,OACA+pF,EAGT,SAAS4nE,EAAWtb,EAAQ1tD,GAE1B,IAAIjmF,EADJ1C,KAAK0wJ,eAAiB/nE,EAEtB,IAAIn5E,EAAM6mI,EAAO5zI,OACjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACnB2zI,EAAO3zI,GAAG+xI,SACR4B,EAAO3zI,GAAGgF,GAAqB,QAAhB2uI,EAAO3zI,GAAGgF,EAGH,IAAhB2uI,EAAO3zI,GAAGgF,IACnB1H,KAAKywJ,eAAiB,EACtBzwJ,KAAK4xJ,OAAO1vJ,KAAKlC,KAAKwxJ,kBAAkBnb,EAAO3zI,OAJ/C1C,KAAKuwJ,aAAe,EACpBvwJ,KAAK4xJ,OAAO1vJ,KAAKlC,KAAK6xJ,iBAAiBxb,EAAO3zI,OAStD,SAASovJ,EAAQtjC,GACfxuH,KAAKwuH,KAAOA,GAAQ,GAGtB,SAASujC,EAAcvjC,GACrBxuH,KAAK8wJ,WAAatiC,GAAQ,GAG5B,SAASwjC,EAASnB,GAGhB,IAFA,IAAInuJ,EAAI,EACJ8M,EAAMxP,KAAK4xJ,OAAOnvJ,OACfC,EAAI8M,GAAK,CACd,GAAIxP,KAAK4xJ,OAAOlvJ,GAAGmuJ,YAAcA,EAC/B,OAAO7wJ,KAAK4xJ,OAAOlvJ,GAAG6qF,IAExB7qF,GAAK,EAEP,OAAO,KAGT,SAASorG,IACP9tG,KAAK0wJ,eAAiB,KACtB1wJ,KAAK4xJ,OAAOnvJ,OAAS,EAGvB,SAASwvJ,IACP,OAAOjyJ,KAAKuwJ,cAAgBvwJ,KAAKswJ,aAGnC,SAAS4B,IACP,OAAOlyJ,KAAKywJ,gBAAkBzwJ,KAAKwwJ,oBAGrC,SAAS2B,EAAa1yJ,EAAM2yJ,GACb,QAAT3yJ,GACFO,KAAKsxJ,eAAiBc,EACtBpyJ,KAAK6xJ,iBAAmB7xJ,KAAKqxJ,gBAAgB3+H,KAAK1yB,OAElDA,KAAK6xJ,iBAAmB7xJ,KAAKuxJ,cAAc7+H,KAAK1yB,MAIpD,SAASqyJ,IACPryJ,KAAKoxJ,aAAef,EAAY39H,KAAK1yB,MACrCA,KAAK0xJ,eAAiBf,EAAcj+H,KAAK1yB,MACzCA,KAAKixJ,gBAAkBA,EAAgBv+H,KAAK1yB,MAC5CA,KAAKwxJ,kBAAoBA,EAAkB9+H,KAAK1yB,MAChDA,KAAK8wJ,WAAa,GAClB9wJ,KAAKwuH,KAAO,GACZxuH,KAAKuwJ,YAAc,EACnBvwJ,KAAKywJ,cAAgB,EACrBzwJ,KAAKswJ,aAAe,EACpBtwJ,KAAKwwJ,oBAAsB,EAC3BxwJ,KAAK0wJ,eAAiB,KACtB1wJ,KAAK4xJ,OAAS,GAkBhB,OAfAS,EAAsB31J,UAAY,CAChCi1J,WAAYA,EACZI,cAAeA,EACfD,QAASA,EACTG,aAAcA,EACdC,eAAgBA,EAChBpkD,QAASA,EACTkkD,SAAUA,EACVT,cAAeA,EACfF,gBAAiBA,EACjBhB,YAAaA,EACbM,cAAeA,EACfwB,aAAcA,GAGTE,EA5Ma,GAiNlBC,GAAkB,WACpB,IAAIvoE,EAAK,CACPwoE,UAAU,GAKZ,OAHI,WAAWvlJ,KAAK4mB,UAAUua,YAAc,UAAUnhC,KAAK4mB,UAAUua,YAAc,WAAWnhC,KAAK4mB,UAAUua,YAAc,aAAanhC,KAAK4mB,UAAUua,cACrJ47C,EAAGwoE,UAAW,GAETxoE,EAPa,GAalByoE,GAAkB,WACpB,IAAIzoE,EAAK,GAIT,SAAS0oE,EAAaC,EAAOC,GAC3B,IAAIC,EAAM9tB,EAAS,UASnB,OARA8tB,EAAI7yF,aAAa,KAAM2yF,IACC,IAApBC,IACFC,EAAI7yF,aAAa,cAAe,qBAChC6yF,EAAI7yF,aAAa,IAAK,MACtB6yF,EAAI7yF,aAAa,IAAK,MACtB6yF,EAAI7yF,aAAa,QAAS,QAC1B6yF,EAAI7yF,aAAa,SAAU,SAEtB6yF,EAGT,SAASC,IACP,IAAIC,EAAgBhuB,EAAS,iBAI7B,OAHAguB,EAAc/yF,aAAa,OAAQ,UACnC+yF,EAAc/yF,aAAa,8BAA+B,QAC1D+yF,EAAc/yF,aAAa,SAAU,8CAC9B+yF,EAGT,OAxBA/oE,EAAG0oE,aAAeA,EAClB1oE,EAAG8oE,6BAA+BA,EAuB3B9oE,EA1Ba,GAgCtB,SAASgpE,GAAqBC,EAAUC,EAAYtS,GAClD3gJ,KAAKghJ,eAAgB,EACrBhhJ,KAAKkzJ,gBAAiB,EACtBlzJ,KAAKmzJ,UAAY,EACjBnzJ,KAAKozJ,UAAYJ,EACjBhzJ,KAAKqzJ,YAAcJ,EACnBjzJ,KAAKszJ,MAAQ3S,EACb3gJ,KAAKuzJ,eAAiBjxB,EAAiBtiI,KAAKozJ,UAAUvrJ,EAAEpF,QACxDzC,KAAKwzJ,UAAY,GACjBxzJ,KAAKyzJ,aAAe,CAClBC,UAAW,IAEb1zJ,KAAK2zJ,gBAAkB,GACvB3zJ,KAAK4zJ,oBAAqB,EAC1B5zJ,KAAKslI,6BAA6Bqb,GAokBpC,SAASkT,GAAyBlT,EAAMmT,EAAepqJ,GACrD,IAAIqqJ,EAAc,CAAEnX,UAAU,GAC1BgF,EAAUvF,EAAgBuF,QAC1BoS,EAA0BF,EAAcjsJ,EAC5C7H,KAAK6H,EAAI,CACPF,EAAGqsJ,EAAwBrsJ,EAAIi6I,EAAQjB,EAAMqT,EAAwBrsJ,EAAG,EAAG66H,EAAW94H,GAAaqqJ,EACnGruH,GAAIsuH,EAAwBtuH,GAAKk8G,EAAQjB,EAAMqT,EAAwBtuH,GAAI,EAAG88F,EAAW94H,GAAaqqJ,EACtG7R,GAAI8R,EAAwB9R,GAAKN,EAAQjB,EAAMqT,EAAwB9R,GAAI,EAAG1f,EAAW94H,GAAaqqJ,EACtGhpI,GAAIipI,EAAwBjpI,GAAK62H,EAAQjB,EAAMqT,EAAwBjpI,GAAI,EAAGy3G,EAAW94H,GAAaqqJ,EACtGvuE,GAAIwuE,EAAwBxuE,GAAKo8D,EAAQjB,EAAMqT,EAAwBxuE,GAAI,EAAGg9C,EAAW94H,GAAaqqJ,EACtGnsJ,EAAGosJ,EAAwBpsJ,EAAIg6I,EAAQjB,EAAMqT,EAAwBpsJ,EAAG,EAAG,IAAM8B,GAAaqqJ,EAC9FlsJ,EAAGmsJ,EAAwBnsJ,EAAI+5I,EAAQjB,EAAMqT,EAAwBnsJ,EAAG,EAAG,EAAG6B,GAAaqqJ,EAC3FjsJ,EAAGksJ,EAAwBlsJ,EAAI85I,EAAQjB,EAAMqT,EAAwBlsJ,EAAG,EAAG,IAAM4B,GAAaqqJ,EAC9F5rJ,EAAG6rJ,EAAwB7rJ,EAAIy5I,EAAQjB,EAAMqT,EAAwB7rJ,EAAG,EAAG,EAAGuB,GAAaqqJ,EAC3FE,GAAID,EAAwBC,GAAKrS,EAAQjB,EAAMqT,EAAwBC,GAAI,EAAG,EAAGvqJ,GAAaqqJ,EAC9F7hE,GAAI8hE,EAAwB9hE,GAAK0vD,EAAQjB,EAAMqT,EAAwB9hE,GAAI,EAAG,EAAGxoF,GAAaqqJ,EAC9F7iE,GAAI8iE,EAAwB9iE,GAAK0wD,EAAQjB,EAAMqT,EAAwB9iE,GAAI,EAAG,EAAGxnF,GAAaqqJ,EAC9Fj3E,GAAIk3E,EAAwBl3E,GAAK8kE,EAAQjB,EAAMqT,EAAwBl3E,GAAI,EAAG,EAAGpzE,GAAaqqJ,EAC9FG,GAAIF,EAAwBE,GAAKtS,EAAQjB,EAAMqT,EAAwBE,GAAI,EAAG,IAAMxqJ,GAAaqqJ,EACjGhrE,GAAIirE,EAAwBjrE,GAAK64D,EAAQjB,EAAMqT,EAAwBjrE,GAAI,EAAG,IAAMr/E,GAAaqqJ,EACjGrsJ,EAAGssJ,EAAwBtsJ,EAAIk6I,EAAQjB,EAAMqT,EAAwBtsJ,EAAG,EAAG,EAAGgC,GAAaqqJ,GAG7F/zJ,KAAK4H,EAAIusJ,GAAiBC,oBAAoBzT,EAAMmT,EAAclsJ,EAAG8B,GACrE1J,KAAK4H,EAAEF,EAAIosJ,EAAclsJ,EAAEF,EAG7B,SAAS2sJ,GAAYvsJ,EAAGmsJ,EAAI/hE,EAAIhB,EAAI7oF,EAAGF,GACrCnI,KAAK8H,EAAIA,EACT9H,KAAKi0J,GAAKA,EACVj0J,KAAKkyF,GAAKA,EACVlyF,KAAKkxF,GAAKA,EACVlxF,KAAKqI,EAAIA,EACTrI,KAAKmI,EAAIA,EACTnI,KAAKqlI,KAAO,CACVv9H,GAAG,EACHmsJ,KAAMA,EACN/hE,KAAMA,EACNhB,KAAMA,EACN7oF,GAAG,EACHF,GAAG,GAiDP,SAASmsJ,GAAa3T,EAAM/wI,GAC1B5P,KAAKmzJ,SAAW1xB,EAChBzhI,KAAK68I,GAAK,GACV78I,KAAK2I,EAAI,GACT3I,KAAKkhJ,IAAK,EACVlhJ,KAAKghJ,eAAgB,EACrBhhJ,KAAKqlI,MAAO,EACZrlI,KAAK4P,KAAOA,EACZ5P,KAAK2gJ,KAAOA,EACZ3gJ,KAAKkgJ,KAAOlgJ,KAAK2gJ,KAAKT,KACtBlgJ,KAAKu0J,UAAY,EACjBv0J,KAAKw0J,WAAY,EACjBx0J,KAAKy0J,gBAAkB,EACvBz0J,KAAK8gJ,gBAAkB,GACvB9gJ,KAAK00J,YAAc,CACjBC,OAAQ,EACRC,SAAU50J,KAAK60J,gBACfjsJ,EAAG,GACHsvI,OAAQ,GACRC,QAAS,GACTjnD,GAAI,GACJxoF,EAAG,GACHosJ,cAAe,GACf1sJ,EAAG,GACH8gG,GAAI,EACJ6rD,WAAY,GACZC,GAAI,GACJv0D,GAAI,GACJ74F,EAAG,GACHsqF,GAAI,GACJ+hE,GAAI,EACJvsJ,EAAG,EACHmkJ,GAAI,EACJ9kB,GAAI,EACJkuB,GAAI,KACJC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBx3B,QAAS,EACTy3B,UAAW,EACXC,UAAW,GACXC,gBAAiB,EACjBxe,YAAY,GAGd/2I,KAAKw1J,SAASx1J,KAAK00J,YAAa10J,KAAK4P,KAAK5H,EAAEyV,EAAE,GAAG7V,GAE5C5H,KAAKy1J,kBACRz1J,KAAK01J,iBAAiB11J,KAAK00J,aA1sB/B3B,GAAqBr2J,UAAUi5J,iBAAmB,WAChD,IAAIjzJ,EAEAoxJ,EADAtkJ,EAAMxP,KAAKozJ,UAAUvrJ,EAAEpF,OAEvBm/I,EAAUvF,EAAgBuF,QAC9B,IAAKl/I,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBoxJ,EAAgB9zJ,KAAKozJ,UAAUvrJ,EAAEnF,GACjC1C,KAAKuzJ,eAAe7wJ,GAAK,IAAImxJ,GAAyB7zJ,KAAKszJ,MAAOQ,EAAe9zJ,MAE/EA,KAAKozJ,UAAUjrJ,GAAK,MAAOnI,KAAKozJ,UAAUjrJ,GAC5CnI,KAAKwzJ,UAAY,CACf3rJ,EAAG+5I,EAAQ5hJ,KAAKszJ,MAAOtzJ,KAAKozJ,UAAUjrJ,EAAEN,EAAG,EAAG,EAAG7H,MACjD4I,EAAGg5I,EAAQ5hJ,KAAKszJ,MAAOtzJ,KAAKozJ,UAAUjrJ,EAAES,EAAG,EAAG,EAAG5I,MACjDoI,EAAGw5I,EAAQ5hJ,KAAKszJ,MAAOtzJ,KAAKozJ,UAAUjrJ,EAAEC,EAAG,EAAG,EAAGpI,MACjD2H,EAAGi6I,EAAQ5hJ,KAAKszJ,MAAOtzJ,KAAKozJ,UAAUjrJ,EAAER,EAAG,EAAG,EAAG3H,MACjDmI,EAAGy5I,EAAQ5hJ,KAAKszJ,MAAOtzJ,KAAKozJ,UAAUjrJ,EAAEA,EAAG,EAAG,EAAGnI,MACjDqI,EAAGrI,KAAKszJ,MAAMsC,YAAYC,gBAAgB71J,KAAKozJ,UAAUjrJ,EAAEE,IAE7DrI,KAAKkzJ,gBAAiB,GAEtBlzJ,KAAKkzJ,gBAAiB,EAExBlzJ,KAAKyzJ,aAAaC,UAAY9R,EAAQ5hJ,KAAKszJ,MAAOtzJ,KAAKozJ,UAAU/qJ,EAAER,EAAG,EAAG,EAAG7H,OAG9E+yJ,GAAqBr2J,UAAUo5J,YAAc,SAAU5f,EAAc0d,GAEnE,GADA5zJ,KAAK4zJ,mBAAqBA,EACrB5zJ,KAAKqlI,MAASrlI,KAAKghJ,eAAkB4S,GAAwB5zJ,KAAKkzJ,gBAAmBlzJ,KAAKwzJ,UAAUnrJ,EAAEg9H,KAA3G,CAGArlI,KAAKghJ,eAAgB,EACrB,IAMI+U,EACAC,EACAtzJ,EACA8M,EAEAymJ,EACAC,EACAC,EACAhlB,EACAxO,EACAyzB,EACAC,EACAC,EACA1oB,EACA8b,EACArY,EACAJ,EACAlB,EACAwmB,EACAjvI,EAzBAosI,EAAY1zJ,KAAKyzJ,aAAaC,UAAU/qJ,EACxC6tJ,EAAYx2J,KAAKuzJ,eACjBP,EAAWhzJ,KAAKozJ,UAChBqD,EAAez2J,KAAK02J,QACpBzD,EAAajzJ,KAAKqzJ,YAClBsD,EAAuB32J,KAAK2zJ,gBAAgBlxJ,OAK5Cm0J,EAAU1gB,EAAa9tI,EAgB3B,GAAIpI,KAAKkzJ,eAAgB,CAEvB,GADA5rI,EAAOtnB,KAAKwzJ,UAAUnrJ,GACjBrI,KAAKwzJ,UAAUzrJ,GAAK/H,KAAKwzJ,UAAUnuB,KAAM,CAC5C,IAUIoM,EAVAxrB,EAAQ3+F,EAAK3e,EAYjB,IAXI3I,KAAKwzJ,UAAU7rJ,EAAEgB,IACnBs9G,EAAQA,EAAMviH,WAGhBuyJ,EAAW,CACTY,QAAS,EACTnN,SAAU,IAEZl6I,EAAMy2G,EAAM8P,QAAU,EAEtBkb,EAAc,EACTvuI,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB+uI,EAAakC,EAAIrC,gBAAgBrrB,EAAMt9G,EAAEjG,GACvCujH,EAAMt9G,EAAEjG,EAAI,GACZ,CAACujH,EAAMn+G,EAAEpF,GAAG,GAAKujH,EAAMt9G,EAAEjG,GAAG,GAAIujH,EAAMn+G,EAAEpF,GAAG,GAAKujH,EAAMt9G,EAAEjG,GAAG,IAC3D,CAACujH,EAAMvjH,EAAEA,EAAI,GAAG,GAAKujH,EAAMt9G,EAAEjG,EAAI,GAAG,GAAIujH,EAAMvjH,EAAEA,EAAI,GAAG,GAAKujH,EAAMt9G,EAAEjG,EAAI,GAAG,KAC7EuzJ,EAASY,SAAWplB,EAAWN,cAC/B8kB,EAASvM,SAASxnJ,KAAKuvI,GACvBR,GAAeQ,EAAWN,cAE5BzuI,EAAI8M,EACA8X,EAAK3e,EAAET,IACTupI,EAAakC,EAAIrC,gBAAgBrrB,EAAMt9G,EAAEjG,GACvCujH,EAAMt9G,EAAE,GACR,CAACs9G,EAAMn+G,EAAEpF,GAAG,GAAKujH,EAAMt9G,EAAEjG,GAAG,GAAIujH,EAAMn+G,EAAEpF,GAAG,GAAKujH,EAAMt9G,EAAEjG,GAAG,IAC3D,CAACujH,EAAMvjH,EAAE,GAAG,GAAKujH,EAAMt9G,EAAE,GAAG,GAAIs9G,EAAMvjH,EAAE,GAAG,GAAKujH,EAAMt9G,EAAE,GAAG,KAC7DstJ,EAASY,SAAWplB,EAAWN,cAC/B8kB,EAASvM,SAASxnJ,KAAKuvI,GACvBR,GAAeQ,EAAWN,eAE5BnxI,KAAKwzJ,UAAU7lD,GAAKsoD,EAUtB,GARAA,EAAWj2J,KAAKwzJ,UAAU7lD,GAE1BuoD,EAAgBl2J,KAAKwzJ,UAAU5qJ,EAAED,EACjC0tJ,EAAa,EACbD,EAAW,EACXjlB,EAAgB,EAChBxO,GAAO,EACP+mB,EAAWuM,EAASvM,SAChBwM,EAAgB,GAAK5uI,EAAK3e,EAAET,EAO9B,IANI+tJ,EAASY,QAAUxjJ,KAAKssB,IAAIu2H,KAC9BA,GAAiB7iJ,KAAKssB,IAAIu2H,GAAiBD,EAASY,SAItDT,GADAxoB,EAAS8b,EADT2M,EAAa3M,EAASjnJ,OAAS,GACDmrI,QACZnrI,OAAS,EACpByzJ,EAAgB,GACrBA,GAAiBtoB,EAAOwoB,GAAU/kB,eAClC+kB,GAAY,GACG,IAGbA,GADAxoB,EAAS8b,EADT2M,GAAc,GACgBzoB,QACZnrI,OAAS,GAKjC6zJ,GADA1oB,EAAS8b,EAAS2M,GAAYzoB,QACXwoB,EAAW,GAE9B/kB,GADA8kB,EAAevoB,EAAOwoB,IACO/kB,cAG/B7hI,EAAMonJ,EAAQn0J,OACdszJ,EAAO,EACPC,EAAO,EACP,IAEIlC,EAEAprJ,EACAksI,EACAkiB,EAIArW,EAVAsW,EAAgC,IAAzB7gB,EAAamf,UAAkB,KACtC2B,GAAY,EAOhBpiB,EAAO4hB,EAAU/zJ,OAGjB,IACIw0J,EACAC,EACAC,EAKAC,EACAllE,EACA+hE,EACA/iE,EACAzzE,EACA45I,EACAC,EACAC,EAGAC,EAlBA/Z,GAAO,EAIPga,GAAcvB,EACdwB,GAAiBrB,EACjBsB,GAAevB,EACfwB,IAAe,EASfC,GAAU,GACVC,GAAU93J,KAAK+3J,kBAInB,GAAuB,IAAnB7hB,EAAaxtI,GAA8B,IAAnBwtI,EAAaxtI,EAAS,CAChD,IAAIsvJ,GAAwB,EACxBC,GAA0B,EAC1BC,GAAuC,IAAnBhiB,EAAaxtI,GAAW,IAAO,EACnDkhH,GAAY,EACZuuC,IAAY,EAEhB,IAAKz1J,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB,GAAIk0J,EAAQl0J,GAAGqF,EAAG,CAIhB,IAHIiwJ,KACFA,IAAyBC,IAEpBruC,GAAYlnH,GACjBk0J,EAAQhtC,IAAWouC,sBAAwBA,GAC3CpuC,IAAa,EAEfouC,GAAwB,EACxBG,IAAY,MACP,CACL,IAAKzvJ,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzBorJ,EAAgB0C,EAAU9tJ,GAAGb,GACXH,EAAEk1I,WACdub,IAAgC,IAAnBjiB,EAAaxtI,IAC5BuvJ,IAA2BnE,EAAcpsJ,EAAEiB,EAAIuvJ,KAGjDzX,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,aAChE71J,OACPu1J,IAAyBlE,EAAcpsJ,EAAEiB,EAAI83I,EAAK,GAAKyX,GAEvDF,IAAyBlE,EAAcpsJ,EAAEiB,EAAI83I,EAAOyX,IAI1DC,IAAY,EAMhB,IAHIH,KACFA,IAAyBC,IAEpBruC,GAAYlnH,GACjBk0J,EAAQhtC,IAAWouC,sBAAwBA,GAC3CpuC,IAAa,EAKjB,IAAKlnH,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAAG,CAG3B,GAFA+zJ,EAAap0J,QACb+0J,EAAc,EACVR,EAAQl0J,GAAGqF,EACbguJ,EAAO,EACPC,GAAQ9f,EAAatY,QACrBo4B,GAAQgB,EAAY,EAAI,EACxBd,EAAgBuB,GAChBT,GAAY,EACRh3J,KAAKkzJ,iBAEPkD,EAAWuB,GAEXrB,GADA1oB,EAAS8b,EAFT2M,EAAaqB,IAEiB9pB,QACXwoB,EAAW,GAE9B/kB,GADA8kB,EAAevoB,EAAOwoB,IACO/kB,cAC7BF,EAAgB,GAElB0mB,GAAU,GACVN,EAAW,GACXF,EAAW,GACXG,EAAU,GACVM,GAAU93J,KAAK+3J,sBACV,CACL,GAAI/3J,KAAKkzJ,eAAgB,CACvB,GAAI0E,KAAgBhB,EAAQl0J,GAAG21C,KAAM,CACnC,OAAQ69F,EAAaxtI,GACnB,KAAK,EACHwtJ,GAAiBjlB,EAAciF,EAAa6e,WAAW6B,EAAQl0J,GAAG21C,MAClE,MACF,KAAK,EACH69G,IAAkBjlB,EAAciF,EAAa6e,WAAW6B,EAAQl0J,GAAG21C,OAAS,EAKhFu/G,GAAchB,EAAQl0J,GAAG21C,KAEvBolG,IAAQmZ,EAAQl0J,GAAG+6I,MACjBmZ,EAAQnZ,KACVyY,GAAiBU,EAAQnZ,GAAK5wF,OAEhCqpG,GAAiBU,EAAQl0J,GAAG61J,GAAK,EACjC9a,EAAMmZ,EAAQl0J,GAAG+6I,KAEnByY,GAAkBxC,EAAU,GAAKkD,EAAQl0J,GAAG61J,GAAM,KAClD,IAAIC,GAAiB,EACrB,IAAK9vJ,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzBorJ,EAAgB0C,EAAU9tJ,GAAGb,GACXM,EAAEy0I,YAElB6D,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,aAChE71J,OACP+1J,IAAkB1E,EAAc3rJ,EAAEQ,EAAE,GAAK83I,EAAK,GAE9C+X,IAAkB1E,EAAc3rJ,EAAEQ,EAAE,GAAK83I,GAGzCqT,EAAcjsJ,EAAE+0I,YAElB6D,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,aAChE71J,OACP+1J,IAAkB1E,EAAcjsJ,EAAEc,EAAE,GAAK83I,EAAK,GAE9C+X,IAAkB1E,EAAcjsJ,EAAEc,EAAE,GAAK83I,GAU/C,IANA9d,GAAO,EAEH3iI,KAAKwzJ,UAAU3rJ,EAAEc,IACnButJ,EAAgC,GAAhBU,EAAQ,GAAG2B,IAAatnB,EAAcjxI,KAAKwzJ,UAAU5qJ,EAAED,EAAoB,GAAhBiuJ,EAAQ,GAAG2B,GAA4C,GAAjC3B,EAAQA,EAAQn0J,OAAS,GAAG81J,IAAY9a,GAAQjuI,EAAM,GACvJ0mJ,GAAiBl2J,KAAKwzJ,UAAU5qJ,EAAED,GAE7Bg6H,GACDwO,EAAgBE,GAAiB6kB,EAAgBsC,KAAmB5qB,GACtEmC,GAAQmmB,EAAgBsC,GAAiBrnB,GAAiBglB,EAAa9kB,cACvE6lB,EAAWZ,EAAUnmB,MAAM,IAAMgmB,EAAahmB,MAAM,GAAKmmB,EAAUnmB,MAAM,IAAMJ,EAC/EonB,EAAWb,EAAUnmB,MAAM,IAAMgmB,EAAahmB,MAAM,GAAKmmB,EAAUnmB,MAAM,IAAMJ,EAC/E0mB,EAAaxvB,WAAYysB,EAAU,GAAKkD,EAAQl0J,GAAG61J,GAAM,MAAS7E,EAAU,GAAKqD,EAAQ,KACzFp0B,GAAO,GACEiL,IACTuD,GAAiBglB,EAAa9kB,eAC9B+kB,GAAY,IACIxoB,EAAOnrI,SACrB2zJ,EAAW,EAEN1M,EADL2M,GAAc,GAWZzoB,EAAS8b,EAAS2M,GAAYzoB,OAT1BtmH,EAAK3e,EAAET,GACTkuJ,EAAW,EAEXxoB,EAAS8b,EADT2M,EAAa,GACiBzoB,SAE9BuD,GAAiBglB,EAAa9kB,cAC9BzD,EAAS,OAMXA,IACF0oB,EAAYH,EAEZ9kB,GADA8kB,EAAevoB,EAAOwoB,IACO/kB,gBAInC4lB,EAAOL,EAAQl0J,GAAG61J,GAAK,EAAI3B,EAAQl0J,GAAG2nB,IACtCosI,EAAaxvB,WAAWgwB,EAAM,EAAG,QAEjCA,EAAOL,EAAQl0J,GAAG61J,GAAK,EAAI3B,EAAQl0J,GAAG2nB,IACtCosI,EAAaxvB,WAAWgwB,EAAM,EAAG,GAGjCR,EAAaxvB,WAAYysB,EAAU,GAAKkD,EAAQl0J,GAAG61J,GAAM,MAAS7E,EAAU,GAAKqD,EAAQ,IAAM,GAGjG,IAAKruJ,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzBorJ,EAAgB0C,EAAU9tJ,GAAGb,GACXH,EAAEk1I,WAElB6D,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,YAE5D,IAATvC,GAAiC,IAAnB7f,EAAaxtI,IACzB1I,KAAKkzJ,eACHzS,EAAKh+I,OACPyzJ,GAAiBpC,EAAcpsJ,EAAEiB,EAAI83I,EAAK,GAE1CyV,GAAiBpC,EAAcpsJ,EAAEiB,EAAI83I,EAE9BA,EAAKh+I,OACdszJ,GAAQjC,EAAcpsJ,EAAEiB,EAAI83I,EAAK,GAEjCsV,GAAQjC,EAAcpsJ,EAAEiB,EAAI83I,IAkBpC,IAbIvK,EAAakf,kBACfnB,EAAK/d,EAAa+d,IAAM,GAEtB/d,EAAaif,kBAEbjjE,EADEgkD,EAAahkD,GACV,CAACgkD,EAAahkD,GAAG,GAAIgkD,EAAahkD,GAAG,GAAIgkD,EAAahkD,GAAG,IAEzD,CAAC,EAAG,EAAG,IAGZgkD,EAAagf,eAAiBhf,EAAahlD,KAC7CA,EAAK,CAACglD,EAAahlD,GAAG,GAAIglD,EAAahlD,GAAG,GAAIglD,EAAahlD,GAAG,KAE3DxoF,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzBorJ,EAAgB0C,EAAU9tJ,GAAGb,GACXA,EAAE+0I,YAElB6D,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,aAEhE71J,OACPg0J,EAAaxvB,WAAW6sB,EAAcjsJ,EAAEc,EAAE,GAAK83I,EAAK,IAAKqT,EAAcjsJ,EAAEc,EAAE,GAAK83I,EAAK,GAAIqT,EAAcjsJ,EAAEc,EAAE,GAAK83I,EAAK,IAErHgW,EAAaxvB,WAAW6sB,EAAcjsJ,EAAEc,EAAE,GAAK83I,GAAOqT,EAAcjsJ,EAAEc,EAAE,GAAK83I,EAAMqT,EAAcjsJ,EAAEc,EAAE,GAAK83I,IAIhH,IAAK/3I,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzBorJ,EAAgB0C,EAAU9tJ,GAAGb,GACXD,EAAEg1I,YAElB6D,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,aAChE71J,OACPg0J,EAAa3vB,MAAM,GAAMgtB,EAAclsJ,EAAEe,EAAE,GAAK,GAAK83I,EAAK,GAAK,GAAMqT,EAAclsJ,EAAEe,EAAE,GAAK,GAAK83I,EAAK,GAAK,GAE3GgW,EAAa3vB,MAAM,GAAMgtB,EAAclsJ,EAAEe,EAAE,GAAK,GAAK83I,EAAO,GAAMqT,EAAclsJ,EAAEe,EAAE,GAAK,GAAK83I,EAAO,IAI3G,IAAK/3I,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EAAG,CA8C5B,GA7CAorJ,EAAgB0C,EAAU9tJ,GAAGb,EAE7B44I,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,YACrExE,EAAc/oI,GAAG6xH,WACf6D,EAAKh+I,OACPg0J,EAAa5vB,cAAcitB,EAAc/oI,GAAGpiB,EAAI83I,EAAK,GAAIqT,EAActuE,GAAG78E,EAAI83I,EAAK,IAEnFgW,EAAa5vB,cAAcitB,EAAc/oI,GAAGpiB,EAAI83I,EAAMqT,EAActuE,GAAG78E,EAAI83I,IAG3EqT,EAAcnsJ,EAAEi1I,WACd6D,EAAKh+I,OACPg0J,EAAanwB,SAASwtB,EAAcnsJ,EAAEgB,EAAI83I,EAAK,IAE/CgW,EAAanwB,SAASwtB,EAAcnsJ,EAAEgB,EAAI83I,IAG1CqT,EAAc5R,GAAGtF,WACf6D,EAAKh+I,OACPg0J,EAAapwB,QAAQytB,EAAc5R,GAAGv5I,EAAI83I,EAAK,IAE/CgW,EAAapwB,QAAQytB,EAAc5R,GAAGv5I,EAAI83I,IAG1CqT,EAAcpuH,GAAGk3G,WACf6D,EAAKh+I,OACPg0J,EAAarwB,QAAQ0tB,EAAcpuH,GAAG/8B,EAAI83I,EAAK,IAE/CgW,EAAarwB,QAAQ0tB,EAAcpuH,GAAG/8B,EAAI83I,IAG1CqT,EAAchsJ,EAAE80I,WACd6D,EAAKh+I,OACP20J,IAAiBtD,EAAchsJ,EAAEa,EAAK83I,EAAK,GAAK2W,GAAe3W,EAAK,GAEpE2W,IAAiBtD,EAAchsJ,EAAEa,EAAK83I,EAAO2W,GAAe3W,GAG5DvK,EAAakf,iBAAmBtB,EAAcG,GAAGrX,WAC/C6D,EAAKh+I,OACPwxJ,GAAMH,EAAcG,GAAGtrJ,EAAI83I,EAAK,GAEhCwT,GAAMH,EAAcG,GAAGtrJ,EAAI83I,GAG3BvK,EAAaif,iBAAmBrB,EAAc5hE,GAAG0qD,SACnD,IAAKn/H,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAClBgjI,EAAKh+I,OACPyvF,EAAGz0E,KAAOq2I,EAAc5hE,GAAGvpF,EAAE8U,GAAKy0E,EAAGz0E,IAAMgjI,EAAK,GAEhDvuD,EAAGz0E,KAAOq2I,EAAc5hE,GAAGvpF,EAAE8U,GAAKy0E,EAAGz0E,IAAMgjI,EAIjD,GAAIvK,EAAagf,eAAiBhf,EAAahlD,GAAI,CACjD,GAAI4iE,EAAc5iE,GAAG0rD,SACnB,IAAKn/H,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAClBgjI,EAAKh+I,OACPyuF,EAAGzzE,KAAOq2I,EAAc5iE,GAAGvoF,EAAE8U,GAAKyzE,EAAGzzE,IAAMgjI,EAAK,GAEhDvvD,EAAGzzE,KAAOq2I,EAAc5iE,GAAGvoF,EAAE8U,GAAKyzE,EAAGzzE,IAAMgjI,EAI7CqT,EAAch3E,GAAG8/D,WAEjB1rD,EADEuvD,EAAKh+I,OACF0hI,EAAYjzC,EAAI4iE,EAAch3E,GAAGn0E,EAAI83I,EAAK,IAE1Ctc,EAAYjzC,EAAI4iE,EAAch3E,GAAGn0E,EAAI83I,IAG1CqT,EAAcI,GAAGtX,WAEjB1rD,EADEuvD,EAAKh+I,OACFuhI,EAAmB9yC,EAAI4iE,EAAcI,GAAGvrJ,EAAI83I,EAAK,IAEjDzc,EAAmB9yC,EAAI4iE,EAAcI,GAAGvrJ,EAAI83I,IAGjDqT,EAAc/qE,GAAG6zD,WAEjB1rD,EADEuvD,EAAKh+I,OACFyhI,EAAmBhzC,EAAI4iE,EAAc/qE,GAAGpgF,EAAI83I,EAAK,IAEjDvc,EAAmBhzC,EAAI4iE,EAAc/qE,GAAGpgF,EAAI83I,KAMzD,IAAK/3I,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzBorJ,EAAgB0C,EAAU9tJ,GAAGb,GAEXM,EAAEy0I,WAElB6D,EADmB+V,EAAU9tJ,GAAGd,EACRwwJ,QAAQxB,EAAQl0J,GAAG21J,UAAU3vJ,GAAIsqJ,EAASnrJ,EAAEa,GAAGd,EAAE0wJ,YACrEt4J,KAAKkzJ,eACHzS,EAAKh+I,OACPg0J,EAAaxvB,UAAU,EAAG6sB,EAAc3rJ,EAAEQ,EAAE,GAAK83I,EAAK,IAAKqT,EAAc3rJ,EAAEQ,EAAE,GAAK83I,EAAK,IAEvFgW,EAAaxvB,UAAU,EAAG6sB,EAAc3rJ,EAAEQ,EAAE,GAAK83I,GAAOqT,EAAc3rJ,EAAEQ,EAAE,GAAK83I,GAExEA,EAAKh+I,OACdg0J,EAAaxvB,UAAU6sB,EAAc3rJ,EAAEQ,EAAE,GAAK83I,EAAK,GAAIqT,EAAc3rJ,EAAEQ,EAAE,GAAK83I,EAAK,IAAKqT,EAAc3rJ,EAAEQ,EAAE,GAAK83I,EAAK,IAEpHgW,EAAaxvB,UAAU6sB,EAAc3rJ,EAAEQ,EAAE,GAAK83I,EAAMqT,EAAc3rJ,EAAEQ,EAAE,GAAK83I,GAAOqT,EAAc3rJ,EAAEQ,EAAE,GAAK83I,IAc/G,GAVIvK,EAAakf,kBACfiC,EAAWpD,EAAK,EAAI,EAAIA,GAEtB/d,EAAaif,kBACfmC,EAAW,OAASjkJ,KAAK2yB,MAAc,IAARksD,EAAG,IAAY,IAAM7+E,KAAK2yB,MAAc,IAARksD,EAAG,IAAY,IAAM7+E,KAAK2yB,MAAc,IAARksD,EAAG,IAAY,KAE5GgkD,EAAagf,eAAiBhf,EAAahlD,KAC7CqmE,EAAW,OAASlkJ,KAAK2yB,MAAc,IAARkrD,EAAG,IAAY,IAAM79E,KAAK2yB,MAAc,IAARkrD,EAAG,IAAY,IAAM79E,KAAK2yB,MAAc,IAARkrD,EAAG,IAAY,KAG5GlxF,KAAKkzJ,eAAgB,CAIvB,GAHAuD,EAAaxvB,UAAU,GAAIiP,EAAa8e,IAExCyB,EAAaxvB,UAAU,EAAIysB,EAAU,GAAKqD,EAAQ,IAAOf,EAAM,GAC3Dh2J,KAAKwzJ,UAAUrrJ,EAAEQ,EAAG,CACtB4tJ,GAAYJ,EAAahmB,MAAM,GAAKmmB,EAAUnmB,MAAM,KAAOgmB,EAAahmB,MAAM,GAAKmmB,EAAUnmB,MAAM,IACnG,IAAIsoB,GAA6B,IAAtBplJ,KAAKqlJ,KAAKnC,GAAmBljJ,KAAK4xB,GACzCkxH,EAAahmB,MAAM,GAAKmmB,EAAUnmB,MAAM,KAC1CsoB,IAAO,KAEThC,EAAazwB,QAASyyB,GAAMplJ,KAAK4xB,GAAM,KAEzCwxH,EAAaxvB,UAAUiwB,EAAUC,EAAU,GAC3CjB,GAAkBxC,EAAU,GAAKkD,EAAQl0J,GAAG61J,GAAM,KAC9C3B,EAAQl0J,EAAI,IAAM+6I,IAAQmZ,EAAQl0J,EAAI,GAAG+6I,MAC3CyY,GAAiBU,EAAQl0J,GAAG61J,GAAK,EACjCrC,GAAoC,KAAlBhgB,EAAa2V,GAAc3V,EAAamf,eAEvD,CAOL,OANAoB,EAAaxvB,UAAU8uB,EAAMC,EAAM,GAE/B9f,EAAa+e,IAEfwB,EAAaxvB,UAAUiP,EAAa+e,GAAG,GAAI/e,EAAa+e,GAAG,GAAK/e,EAAaye,OAAQ,GAE/Eze,EAAaxtI,GACnB,KAAK,EACH+tJ,EAAaxvB,UAAU2vB,EAAQl0J,GAAGs1J,sBAAwB9hB,EAAa4e,eAAiB5e,EAAa0e,SAAW1e,EAAa6e,WAAW6B,EAAQl0J,GAAG21C,OAAQ,EAAG,GAC9J,MACF,KAAK,EACHo+G,EAAaxvB,UAAU2vB,EAAQl0J,GAAGs1J,sBAAwB9hB,EAAa4e,eAAiB5e,EAAa0e,SAAW1e,EAAa6e,WAAW6B,EAAQl0J,GAAG21C,OAAS,EAAG,EAAG,GAKtKo+G,EAAaxvB,UAAU,GAAIiP,EAAa8e,IACxCyB,EAAaxvB,UAAUgwB,EAAM,EAAG,GAChCR,EAAaxvB,UAAWysB,EAAU,GAAKkD,EAAQl0J,GAAG61J,GAAM,KAAQ7E,EAAU,GAAKqD,EAAQ,IAAM,GAC7FhB,GAAQa,EAAQl0J,GAAG0F,EAAuB,KAAlB8tI,EAAa2V,GAAc3V,EAAamf,UAE/C,SAAfpC,EACF4E,GAAUpB,EAAa3sB,QACC,QAAfmpB,EACT4E,GAAUpB,EAAaxsB,UAEvB6tB,GAAU,CAACrB,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,GAAIyxJ,EAAazxJ,MAAM,IAAKyxJ,EAAazxJ,MAAM,IAAKyxJ,EAAazxJ,MAAM,IAAKyxJ,EAAazxJ,MAAM,IAAKyxJ,EAAazxJ,MAAM,IAAKyxJ,EAAazxJ,MAAM,KAE9XwyJ,EAAUJ,EAGRT,GAAwBj0J,GAC1Bo0J,EAAc,IAAIzC,GAAYmD,EAASH,EAAUC,EAAUC,EAAUM,GAASC,IAC9E93J,KAAK2zJ,gBAAgBzxJ,KAAK40J,GAC1BH,GAAwB,EACxB32J,KAAK4zJ,oBAAqB,IAE1BkD,EAAc92J,KAAK2zJ,gBAAgBjxJ,GACnC1C,KAAK4zJ,mBAAqBkD,EAAYz1I,OAAOm2I,EAASH,EAAUC,EAAUC,EAAUM,GAASC,KAAY93J,KAAK4zJ,uBAKpHb,GAAqBr2J,UAAUirF,SAAW,WACpC3nF,KAAKszJ,MAAM1S,WAAWC,UAAY7gJ,KAAKmzJ,WAG3CnzJ,KAAKmzJ,SAAWnzJ,KAAKszJ,MAAM1S,WAAWC,QACtC7gJ,KAAKolI,6BAGP2tB,GAAqBr2J,UAAUg6J,QAAU,IAAI/wB,EAC7CotB,GAAqBr2J,UAAUq7J,kBAAoB,GACnDrpB,EAAgB,CAAC1J,GAA2B+tB,IAiD5CsB,GAAY33J,UAAU2kB,OAAS,SAAUvZ,EAAGmsJ,EAAI/hE,EAAIhB,EAAI7oF,EAAGF,GACzDnI,KAAKqlI,KAAKv9H,GAAI,EACd9H,KAAKqlI,KAAK4uB,IAAK,EACfj0J,KAAKqlI,KAAKnzC,IAAK,EACflyF,KAAKqlI,KAAKn0C,IAAK,EACflxF,KAAKqlI,KAAKh9H,GAAI,EACdrI,KAAKqlI,KAAKl9H,GAAI,EACd,IAAIwwJ,GAAU,EAgCd,OA9BI34J,KAAK8H,IAAMA,IACb9H,KAAK8H,EAAIA,EACT9H,KAAKqlI,KAAKv9H,GAAI,EACd6wJ,GAAU,GAER34J,KAAKi0J,KAAOA,IACdj0J,KAAKi0J,GAAKA,EACVj0J,KAAKqlI,KAAK4uB,IAAK,EACf0E,GAAU,GAER34J,KAAKkyF,KAAOA,IACdlyF,KAAKkyF,GAAKA,EACVlyF,KAAKqlI,KAAKnzC,IAAK,EACfymE,GAAU,GAER34J,KAAKkxF,KAAOA,IACdlxF,KAAKkxF,GAAKA,EACVlxF,KAAKqlI,KAAKn0C,IAAK,EACfynE,GAAU,GAER34J,KAAKqI,IAAMA,IACbrI,KAAKqI,EAAIA,EACTrI,KAAKqlI,KAAKh9H,GAAI,EACdswJ,GAAU,IAERxwJ,EAAE1F,QAAWzC,KAAKmI,EAAE,KAAOA,EAAE,IAAMnI,KAAKmI,EAAE,KAAOA,EAAE,IAAMnI,KAAKmI,EAAE,KAAOA,EAAE,IAAMnI,KAAKmI,EAAE,KAAOA,EAAE,IAAMnI,KAAKmI,EAAE,MAAQA,EAAE,KAAOnI,KAAKmI,EAAE,MAAQA,EAAE,MAChJnI,KAAKmI,EAAIA,EACTnI,KAAKqlI,KAAKl9H,GAAI,EACdwwJ,GAAU,GAELA,GA0DTrE,GAAa53J,UAAUm4J,gBAAkB,CAAC,EAAG,GAE7CP,GAAa53J,UAAU84J,SAAW,SAAUl4J,EAAKsS,GAC/C,IAAK,IAAIhI,KAAKgI,EACRnT,OAAOC,UAAUE,eAAegD,KAAKgQ,EAAMhI,KAC7CtK,EAAIsK,GAAKgI,EAAKhI,IAGlB,OAAOtK,GAGTg3J,GAAa53J,UAAUk8J,eAAiB,SAAUhpJ,GAC3CA,EAAKmnI,YACR/2I,KAAK01J,iBAAiB9lJ,GAExB5P,KAAK00J,YAAc9kJ,EACnB5P,KAAK00J,YAAYE,SAAW50J,KAAK00J,YAAYE,UAAY50J,KAAK60J,gBAC9D70J,KAAKqlI,MAAO,GAGdivB,GAAa53J,UAAU+4J,eAAiB,WACtC,OAAOz1J,KAAK64J,mBAGdvE,GAAa53J,UAAUm8J,gBAAkB,WAKvC,OAJA74J,KAAKkhJ,GAAKlhJ,KAAK4P,KAAK5H,EAAEyV,EAAEhb,OAAS,EAC7BzC,KAAKkhJ,IACPlhJ,KAAKmhJ,UAAUnhJ,KAAK84J,iBAAiBpmI,KAAK1yB,OAErCA,KAAKkhJ,IAGdoT,GAAa53J,UAAUykJ,UAAY,SAAUC,GAC3CphJ,KAAK8gJ,gBAAgB5+I,KAAKk/I,GAC1BphJ,KAAK2gJ,KAAK1b,mBAAmBjlI,OAG/Bs0J,GAAa53J,UAAUirF,SAAW,SAAUoxE,GAC1C,GAAK/4J,KAAK2gJ,KAAKC,WAAWC,UAAY7gJ,KAAK6gJ,SAAY7gJ,KAAK8gJ,gBAAgBr+I,QAAYs2J,EAAxF,CAGA/4J,KAAK00J,YAAYhtJ,EAAI1H,KAAK4P,KAAK5H,EAAEyV,EAAEzd,KAAKu0J,WAAW3sJ,EAAEF,EACrD,IAAIsxJ,EAAeh5J,KAAK00J,YACpBuE,EAAej5J,KAAKu0J,UACxB,GAAIv0J,KAAK+gJ,KACP/gJ,KAAK44J,eAAe54J,KAAK00J,iBAD3B,CAMA,IAAIhyJ,EAFJ1C,KAAK+gJ,MAAO,EACZ/gJ,KAAKqlI,MAAO,EACL,IACL71H,EAAMxP,KAAK8gJ,gBAAgBr+I,OACzBw+I,EAAa8X,GAAe/4J,KAAK4P,KAAK5H,EAAEyV,EAAEzd,KAAKu0J,WAAW3sJ,EAC9D,IAAKlF,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAGtBu+I,EADEgY,IAAiBj5J,KAAKu0J,UACXv0J,KAAK8gJ,gBAAgBp+I,GAAGu+I,EAAYA,EAAWv5I,GAE/C1H,KAAK8gJ,gBAAgBp+I,GAAG1C,KAAK00J,YAAazT,EAAWv5I,GAGlEsxJ,IAAiB/X,GACnBjhJ,KAAK44J,eAAe3X,GAEtBjhJ,KAAK2I,EAAI3I,KAAK00J,YACd10J,KAAK68I,GAAK78I,KAAK2I,EACf3I,KAAK+gJ,MAAO,EACZ/gJ,KAAK6gJ,QAAU7gJ,KAAK2gJ,KAAKC,WAAWC,WAGtCyT,GAAa53J,UAAUo8J,iBAAmB,WAKxC,IAJA,IAAII,EAAWl5J,KAAK4P,KAAK5H,EAAEyV,EACvBg/H,EAAWz8I,KAAK2gJ,KAAKT,KAAKC,cAC1Bz9I,EAAI,EACN8M,EAAM0pJ,EAASz2J,OACVC,GAAK8M,EAAM,KACZ9M,IAAM8M,EAAM,GAAK0pJ,EAASx2J,EAAI,GAAGgF,EAAI+0I,IAGzC/5I,GAAK,EAKP,OAHI1C,KAAKu0J,YAAc7xJ,IACrB1C,KAAKu0J,UAAY7xJ,GAEZ1C,KAAK4P,KAAK5H,EAAEyV,EAAEzd,KAAKu0J,WAAW3sJ,GAGvC0sJ,GAAa53J,UAAUy8J,eAAiB,SAAUviH,GAOhD,IANA,IAGIk/C,EACAgmD,EAJAsd,EAAkB,GAClB12J,EAAI,EACJ8M,EAAMonC,EAAKn0C,OAGX42J,GAAgB,EACb32J,EAAI8M,GACTsmF,EAAWl/C,EAAKjkC,WAAWjQ,GACvB21I,EAAY2D,oBAAoBlmD,GAClCsjE,EAAgBA,EAAgB32J,OAAS,IAAMm0C,EAAK9yC,OAAOpB,GAClDozF,GAAY,OAAUA,GAAY,OAC3CgmD,EAAiBllG,EAAKjkC,WAAWjQ,EAAI,KACf,OAAUo5I,GAAkB,OAC5Cud,GAAiBhhB,EAAYuD,WAAW9lD,EAAUgmD,IACpDsd,EAAgBA,EAAgB32J,OAAS,IAAMm0C,EAAKvkC,OAAO3P,EAAG,GAC9D22J,GAAgB,GAEhBD,EAAgBl3J,KAAK00C,EAAKvkC,OAAO3P,EAAG,IAEtCA,GAAK,GAEL02J,EAAgBl3J,KAAK00C,EAAK9yC,OAAOpB,IAE1BozF,EAAW,OACpBgmD,EAAiBllG,EAAKjkC,WAAWjQ,EAAI,GACjC21I,EAAY0D,kBAAkBjmD,EAAUgmD,IAC1Cud,GAAgB,EAChBD,EAAgBA,EAAgB32J,OAAS,IAAMm0C,EAAKvkC,OAAO3P,EAAG,GAC9DA,GAAK,GAEL02J,EAAgBl3J,KAAK00C,EAAK9yC,OAAOpB,KAE1B21I,EAAY0D,kBAAkBjmD,IACvCsjE,EAAgBA,EAAgB32J,OAAS,IAAMm0C,EAAK9yC,OAAOpB,GAC3D22J,GAAgB,GAEhBD,EAAgBl3J,KAAK00C,EAAK9yC,OAAOpB,IAEnCA,GAAK,EAEP,OAAO02J,GAGT9E,GAAa53J,UAAUg5J,iBAAmB,SAAUxf,GAClDA,EAAaa,YAAa,EAC1B,IAGIr0I,EACF8M,EACE8pJ,EACF/xJ,EAMEmB,EACFksI,EAEE2kB,EAfAC,EAAcx5J,KAAK2gJ,KAAKC,WAAW4Y,YACnC5pJ,EAAO5P,KAAK4P,KACZgnJ,EAAU,GAGO3sJ,EAAQ,EAEzBwvJ,EAAiB7pJ,EAAKvH,EAAEkf,EACxBmyI,EAAc,EAAOC,EAAa,EAAO/B,EAAc,EACzD7C,EAAa,GACX6E,EAAY,EACZC,EAAe,EAGf5hB,EAAWuhB,EAAYje,cAAcrF,EAAattI,GAEpD+/I,EAAU,EAERtO,EAAYrC,EAAkBC,GAClC/B,EAAaiC,QAAUkC,EAAUjC,OACjClC,EAAagC,OAASmC,EAAUtmH,MAChCmiH,EAAamf,UAAYnf,EAAatuI,EACtCsuI,EAAaof,UAAYt1J,KAAKm5J,eAAejjB,EAAaxuI,GAC1D8H,EAAM0mI,EAAaof,UAAU7yJ,OAC7ByzI,EAAaqf,gBAAkBrf,EAAahtC,GAC5C,IACIpT,EADAgkE,EAAkB5jB,EAAa2V,GAAK,IAAQ3V,EAAamf,UAE7D,GAAInf,EAAanP,GAMf,IALA,IAGIgzB,EACFzE,EAJE3yB,GAAO,EACPiyB,EAAW1e,EAAanP,GAAG,GAC3BizB,EAAY9jB,EAAanP,GAAG,GAGzBpE,GAAM,CAEXo3B,EAAgB,EAChBH,EAAY,EACZpqJ,GAHA8lJ,EAAYt1J,KAAKm5J,eAAejjB,EAAaxuI,IAG7BjF,OAChBq3J,EAAkB5jB,EAAa2V,GAAK,IAAQ3V,EAAamf,UACzD,IAAI4E,GAAkB,EACtB,IAAKv3J,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBozF,EAAWw/D,EAAU5yJ,GAAGiQ,WAAW,GACnC2mJ,GAAc,EACO,MAAjBhE,EAAU5yJ,GACZu3J,EAAiBv3J,EACK,KAAbozF,GAAgC,IAAbA,IAC5B8jE,EAAY,EACZN,GAAc,EACdS,GAAiB7jB,EAAaqf,iBAA4C,IAAzBrf,EAAamf,WAE5DmE,EAAYziH,OACdwiH,EAAWC,EAAYre,YAAYma,EAAU5yJ,GAAIu1I,EAASC,OAAQD,EAASqC,SAC3EqO,EAAU2Q,EAAc,EAAKC,EAASl8H,EAAI64G,EAAamf,UAAa,KAGpE1M,EAAU6Q,EAAYne,YAAYia,EAAU5yJ,GAAIwzI,EAAattI,EAAGstI,EAAamf,WAE3EuE,EAAYjR,EAAUiM,GAA6B,MAAjBU,EAAU5yJ,KACtB,IAApBu3J,EACFzqJ,GAAO,EAEP9M,EAAIu3J,EAENF,GAAiB7jB,EAAaqf,iBAA4C,IAAzBrf,EAAamf,UAC9DC,EAAU16G,OAAOl4C,EAAGu3J,IAAmBv3J,EAAI,EAAI,EAAG,MAElDu3J,GAAkB,EAClBL,EAAY,IAEZA,GAAajR,EACbiR,GAAaE,GAGjBC,GAAkB9hB,EAAS0c,OAASze,EAAamf,UAAa,IAC1Dr1J,KAAKw0J,WAAate,EAAamf,UAAYr1J,KAAKy0J,iBAAmBuF,EAAYD,GACjF7jB,EAAamf,WAAa,EAC1Bnf,EAAaqf,gBAAmBrf,EAAamf,UAAYnf,EAAahtC,GAAMgtC,EAAatuI,IAEzFsuI,EAAaof,UAAYA,EACzB9lJ,EAAM0mI,EAAaof,UAAU7yJ,OAC7BkgI,GAAO,GAIbi3B,GAAaE,EACbnR,EAAU,EACV,IACIuR,EADAC,EAAoB,EAExB,IAAKz3J,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAkCxB,GAjCA42J,GAAc,EAGG,MADjBxjE,GADAokE,EAAchkB,EAAaof,UAAU5yJ,IACdiQ,WAAW,KACE,IAAbmjF,GACrBqkE,EAAoB,EACpBpF,EAAW7yJ,KAAK03J,GAChBC,EAAeD,EAAYC,EAAeD,EAAYC,EACtDD,GAAa,EAAIE,EACjBvyJ,EAAM,GACN+xJ,GAAc,EACd1B,GAAe,GAEfrwJ,EAAM2yJ,EAEJV,EAAYziH,OACdwiH,EAAWC,EAAYre,YAAY+e,EAAajiB,EAASC,OAAQshB,EAAYje,cAAcrF,EAAattI,GAAG0xI,SAC3GqO,EAAU2Q,EAAc,EAAKC,EAASl8H,EAAI64G,EAAamf,UAAa,KAIpE1M,EAAU6Q,EAAYne,YAAY9zI,EAAK2uI,EAAattI,EAAGstI,EAAamf,WAIlD,MAAhB6E,EACFC,GAAqBxR,EAAUmR,GAE/BF,GAAajR,EAAUmR,EAAiBK,EACxCA,EAAoB,GAEtBvD,EAAQ10J,KAAK,CACXkG,EAAGugJ,EAAS4P,GAAI5P,EAASt+H,IAAKqvI,EAAa3xJ,EAAGuxJ,EAAajB,UAAW,GAAI9wJ,IAAKA,EAAK8wC,KAAMu/G,EAAaI,sBAAuB,IAE1G,GAAlByB,GAEF,GADAC,GAAe/Q,EACH,KAARphJ,GAAsB,MAARA,GAAe7E,IAAM8M,EAAM,EAAG,CAI9C,IAHY,KAARjI,GAAsB,MAARA,IAChBmyJ,GAAe/Q,GAEVgR,GAAcj3J,GACnBk0J,EAAQ+C,GAAYpB,GAAKmB,EACzB9C,EAAQ+C,GAAYlc,IAAMxzI,EAC1B2sJ,EAAQ+C,GAAY9sG,MAAQ87F,EAC5BgR,GAAc,EAEhB1vJ,GAAS,EACTyvJ,EAAc,QAEX,GAAsB,GAAlBD,GAET,GADAC,GAAe/Q,EACH,KAARphJ,GAAc7E,IAAM8M,EAAM,EAAG,CAI/B,IAHY,KAARjI,IACFmyJ,GAAe/Q,GAEVgR,GAAcj3J,GACnBk0J,EAAQ+C,GAAYpB,GAAKmB,EACzB9C,EAAQ+C,GAAYlc,IAAMxzI,EAC1B2sJ,EAAQ+C,GAAY9sG,MAAQ87F,EAC5BgR,GAAc,EAEhBD,EAAc,EACdzvJ,GAAS,QAGX2sJ,EAAQ3sJ,GAAOwzI,IAAMxzI,EACrB2sJ,EAAQ3sJ,GAAO4iD,MAAQ,EACvB5iD,GAAS,EAMb,GAHAisI,EAAa9tI,EAAIwuJ,EACjBiD,EAAeD,EAAYC,EAAeD,EAAYC,EACtD9E,EAAW7yJ,KAAK03J,GACZ1jB,EAAanP,GACfmP,EAAa0e,SAAW1e,EAAanP,GAAG,GACxCmP,EAAa4e,cAAgB,OAG7B,OADA5e,EAAa0e,SAAWiF,EAChB3jB,EAAaxtI,GACnB,KAAK,EACHwtI,EAAa4e,eAAiB5e,EAAa0e,SAC3C,MACF,KAAK,EACH1e,EAAa4e,eAAiB5e,EAAa0e,SAAW,EACtD,MACF,QACE1e,EAAa4e,cAAgB,EAGnC5e,EAAa6e,WAAaA,EAE1B,IAA4BqF,EAC1BC,EAEEC,EAAW7c,EAHX+Y,EAAY5mJ,EAAK/H,EAErB+sI,EAAO4hB,EAAU/zJ,OACG,IAClB83J,EAAU,GACZ,IAAK7xJ,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EAAG,CAa5B,KAZA0xJ,EAAe5D,EAAU9tJ,IACRb,EAAEqqF,KACjBgkD,EAAaif,iBAAkB,GAE7BiF,EAAavyJ,EAAEosJ,KACjB/d,EAAakf,iBAAkB,IAE7BgF,EAAavyJ,EAAEqpF,IAAMkpE,EAAavyJ,EAAEi1E,IAAMs9E,EAAavyJ,EAAEqsJ,IAAMkG,EAAavyJ,EAAEkhF,MAChFmtD,EAAagf,eAAgB,GAE/BzX,EAAM,EACN6c,EAAQF,EAAaxyJ,EAAEW,EAClB7F,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GACxB23J,EAAazD,EAAQl0J,IACV21J,UAAU3vJ,GAAK+0I,GACZ,GAAT6c,GAAiC,KAAnBD,EAAW9yJ,KAAyB,GAAT+yJ,GAAiC,KAAnBD,EAAW9yJ,KAAiC,MAAnB8yJ,EAAW9yJ,KAA0B,GAAT+yJ,IAAeD,EAAWtyJ,GAAuB,KAAlBsyJ,EAAW9yJ,KAAc7E,GAAK8M,EAAM,IAAiB,GAAT8qJ,IAAeD,EAAWtyJ,GAAKrF,GAAK8M,EAAM,MAC1M,IAAtB4qJ,EAAaxyJ,EAAE4yJ,IACjBD,EAAQr4J,KAAKu7I,GAEfA,GAAO,GAGX7tI,EAAK/H,EAAEa,GAAGd,EAAE0wJ,WAAa7a,EACzB,IACEgd,EADEC,GAAc,EAElB,GAA0B,IAAtBN,EAAaxyJ,EAAE4yJ,GACjB,IAAK93J,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAEpBg4J,IADJL,EAAazD,EAAQl0J,IACQ21J,UAAU3vJ,KACrCgyJ,EAAaL,EAAWhC,UAAU3vJ,GAClC+xJ,EAASF,EAAQ3/G,OAAOvnC,KAAKoF,MAAMpF,KAAKo9B,SAAW8pH,EAAQ93J,QAAS,GAAG,IAEzE43J,EAAWhC,UAAU3vJ,GAAK+xJ,EAIhCvkB,EAAatY,QAAUsY,EAAaqf,iBAA4C,IAAzBrf,EAAamf,UACpEnf,EAAa8e,GAAK9e,EAAa8e,IAAM,EACrC9e,EAAaye,OAAU1c,EAAS0c,OAASze,EAAamf,UAAa,KAGrEf,GAAa53J,UAAUi+J,mBAAqB,SAAUhlG,EAAS1rD,GAC7DA,OAAkB7I,IAAV6I,EAAsBjK,KAAKu0J,UAAYtqJ,EAC/C,IAAI2wJ,EAAQ56J,KAAKw1J,SAAS,GAAIx1J,KAAK4P,KAAK5H,EAAEyV,EAAExT,GAAOrC,GACnDgzJ,EAAQ56J,KAAKw1J,SAASoF,EAAOjlG,GAC7B31D,KAAK4P,KAAK5H,EAAEyV,EAAExT,GAAOrC,EAAIgzJ,EACzB56J,KAAK66J,YAAY5wJ,GACjBjK,KAAK2gJ,KAAK1b,mBAAmBjlI,OAG/Bs0J,GAAa53J,UAAUm+J,YAAc,SAAU5wJ,GAC7C,IAAI2wJ,EAAQ56J,KAAK4P,KAAK5H,EAAEyV,EAAExT,GAAOrC,EACjCgzJ,EAAM7jB,YAAa,EACnB/2I,KAAKu0J,UAAY,EACjBv0J,KAAKghJ,eAAgB,EACrBhhJ,KAAK2nF,SAASizE,IAGhBtG,GAAa53J,UAAUo+J,cAAgB,SAAUC,GAC/C/6J,KAAKw0J,UAAYuG,EACjB/6J,KAAK66J,YAAY76J,KAAKu0J,WACtBv0J,KAAK2gJ,KAAK1b,mBAAmBjlI,OAG/Bs0J,GAAa53J,UAAUs+J,mBAAqB,SAAUC,GACpDj7J,KAAKy0J,gBAAkBphJ,KAAKoF,MAAMwiJ,IAAe,EACjDj7J,KAAK66J,YAAY76J,KAAKu0J,WACtBv0J,KAAK2gJ,KAAK1b,mBAAmBjlI,OAM/B,IAAIm0J,GAAoB,WACtB,IAAI1+I,EAAMpC,KAAKoC,IACXnC,EAAMD,KAAKC,IACXmF,EAAQpF,KAAKoF,MAEjB,SAASyiJ,EAAwBva,EAAM/wI,GACrC5P,KAAKm7J,oBAAsB,EAC3Bn7J,KAAKyd,GAAI,EACTzd,KAAK4P,KAAOA,EACZ5P,KAAK2gJ,KAAOA,EACZ3gJ,KAAKkgJ,KAAOS,EAAKT,KACjBlgJ,KAAKo7J,OAAS,EACdp7J,KAAKq7J,OAAS,EACdr7J,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAK4H,EAAIy0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKhI,GAAK,CAAE6V,EAAG,GAAK,EAAG,EAAGzd,MAE/DA,KAAKwH,EADH,MAAOoI,EACAysI,EAAgBuF,QAAQjB,EAAM/wI,EAAKpI,EAAG,EAAG,EAAGxH,MAE5C,CAAE2I,EAAG,KAEhB3I,KAAK8H,EAAIu0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK9H,GAAK,CAAE2V,EAAG,GAAK,EAAG,EAAGzd,MACjEA,KAAKytE,GAAK4uE,EAAgBuF,QAAQjB,EAAM/wI,EAAK69D,IAAM,CAAEhwD,EAAG,GAAK,EAAG,EAAGzd,MACnEA,KAAKu8D,GAAK8/E,EAAgBuF,QAAQjB,EAAM/wI,EAAK2sD,IAAM,CAAE9+C,EAAG,GAAK,EAAG,EAAGzd,MACnEA,KAAKsrB,GAAK+wH,EAAgBuF,QAAQjB,EAAM/wI,EAAK0b,IAAM,CAAE7N,EAAG,KAAO,EAAG,EAAGzd,MACrEA,KAAK6H,EAAIw0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK/H,EAAG,EAAG,IAAM7H,MACnDA,KAAKklI,kBAAkBziI,QAC1BzC,KAAK2nF,WAyIT,SAASysE,EAAoBzT,EAAM/wI,EAAMtC,GACvC,OAAO,IAAI4tJ,EAAwBva,EAAM/wI,EAAMtC,GAGjD,OAzIA4tJ,EAAwBx+J,UAAY,CAClC07J,QAAS,SAAU3a,GACbz9I,KAAKm7J,qBAAuBn7J,KAAK2gJ,KAAK2a,aAAa5G,YAAYtsJ,EAAE3F,QACnEzC,KAAK2nF,WAGP,IAAIhpE,EAAK,EACL6X,EAAK,EACL5X,EAAK,EACL6X,EAAK,EACLz2B,KAAKu8D,GAAG5zD,EAAI,EACdgW,EAAK3e,KAAKu8D,GAAG5zD,EAAI,IAEjB6tB,GAAMx2B,KAAKu8D,GAAG5zD,EAAI,IAEhB3I,KAAKytE,GAAG9kE,EAAI,EACdiW,EAAK,EAAM5e,KAAKytE,GAAG9kE,EAAI,IAEvB8tB,EAAK,EAAMz2B,KAAKytE,GAAG9kE,EAAI,IAEzB,IAAI4yJ,EAAQxvB,EAAcC,gBAAgBrtH,EAAI6X,EAAI5X,EAAI6X,GAAIf,IAEtD+qH,EAAO,EACP74I,EAAI5H,KAAKo7J,OACT5zJ,EAAIxH,KAAKq7J,OACT57J,EAAOO,KAAK4P,KAAKo6F,GACrB,GAAa,IAATvqG,EAMFghJ,EAAO8a,EAJL9a,EADEj5I,IAAMI,EACD61I,GAAOj2I,EAAI,EAAI,EAEfiO,EAAI,EAAGnC,EAAI,IAAO9L,EAAII,IAAM61I,EAAM71I,IAAMJ,EAAII,GAAI,UAGpD,GAAa,IAATnI,EAOTghJ,EAAO8a,EALL9a,EADEj5I,IAAMI,EACD61I,GAAOj2I,EAAI,EAAI,EAEf,EAAIiO,EAAI,EAAGnC,EAAI,IAAO9L,EAAII,IAAM61I,EAAM71I,IAAMJ,EAAII,GAAI,UAIxD,GAAa,IAATnI,EACL+H,IAAMI,EACR64I,EAAO,GAEPA,EAAOhrI,EAAI,EAAGnC,EAAI,IAAO9L,EAAII,IAAM61I,EAAM71I,IAAMJ,EAAII,GAAI,KAC5C,GACT64I,GAAQ,EAERA,EAAO,EAAI,GAAKA,EAAO,IAG3BA,EAAO8a,EAAM9a,QACR,GAAa,IAAThhJ,EAAY,CACrB,GAAI+H,IAAMI,EACR64I,EAAO,MACF,CACL,IAAI+a,EAAMh0J,EAAII,EAIVU,GAAKkzJ,EAAM,GADf/d,EAAMnqI,EAAImC,EAAI,EAAGgoI,EAAM,GAAM71I,GAAIJ,EAAII,IAEjCC,EAAI2zJ,EAAM,EACd/a,EAAOptI,KAAK24B,KAAK,EAAK1jC,EAAIA,GAAMT,EAAIA,IAEtC44I,EAAO8a,EAAM9a,QACK,IAAThhJ,GACL+H,IAAMI,EACR64I,EAAO,GAEPhD,EAAMnqI,EAAImC,EAAI,EAAGgoI,EAAM,GAAM71I,GAAIJ,EAAII,GACrC64I,GAAQ,EAAKptI,KAAK2xB,IAAK3xB,KAAK4xB,GAAe,EAAV5xB,KAAK4xB,GAAUw4G,GAAQj2I,EAAII,KAAS,GAEvE64I,EAAO8a,EAAM9a,KAEThD,GAAOhlI,EAAM7Q,KAEb64I,EAAOhrI,EAAI,EAAGnC,EADZmqI,EAAM71I,EAAI,EACM0L,EAAI9L,EAAG,IAAMI,EAAI61I,GAEjBj2I,EAAIi2I,EAFmB,KAK7CgD,EAAO8a,EAAM9a,IAYf,GAAkB,MAAdzgJ,KAAKsrB,GAAG3iB,EAAW,CACrB,IAAI8yJ,EAAyB,IAAZz7J,KAAKsrB,GAAG3iB,EACN,IAAf8yJ,IACFA,EAAa,MAEf,IAAIC,EAAY,GAAmB,GAAbD,EAClBhb,EAAOib,EACTjb,EAAO,GAEPA,GAAQA,EAAOib,GAAaD,GACjB,IACThb,EAAO,GAIb,OAAOA,EAAOzgJ,KAAK6H,EAAEc,GAEvBg/E,SAAU,SAAUg0E,GAClB37J,KAAKolI,2BACLplI,KAAKqlI,KAAOs2B,GAAgB37J,KAAKqlI,KACjCrlI,KAAKm7J,mBAAqBn7J,KAAK2gJ,KAAK2a,aAAa5G,YAAYtsJ,EAAE3F,QAAU,EACrEk5J,GAAgC,IAAhB37J,KAAK4P,KAAKjI,IAC5B3H,KAAKwH,EAAEmB,EAAI3I,KAAKm7J,oBAElB,IAAIS,EAA0B,IAAhB57J,KAAK4P,KAAKjI,EAAU,EAAI,IAAM3H,KAAK4P,KAAK0oJ,WAClDxwJ,EAAI9H,KAAK8H,EAAEa,EAAIizJ,EACfh0J,EAAI5H,KAAK4H,EAAEe,EAAIizJ,EAAU9zJ,EACzBN,EAAKxH,KAAKwH,EAAEmB,EAAIizJ,EAAW9zJ,EAC/B,GAAIF,EAAIJ,EAAG,CACT,IAAIkG,EAAK9F,EACTA,EAAIJ,EACJA,EAAIkG,EAEN1N,KAAKo7J,OAASxzJ,EACd5H,KAAKq7J,OAAS7zJ,IAGlBknI,EAAgB,CAAC1J,GAA2Bk2B,GAMrC,CACL9G,oBAAqBA,GAxKD,GA+KpByH,GACK,SAAUC,EAAeC,EAASC,GACvC,IAAIjmC,EAAU,EACVqtB,EAAa0Y,EACb5xB,EAAO5H,EAAiB8gB,GAO5B,SAAS7S,IAQP,OANIxa,EAEQmU,EADVnU,GAAW,GAGDgmC,IAKd,SAAS/R,EAAQz6E,GACXwmD,IAAYqtB,IACdlZ,EAAO+xB,GAAQ3wB,OAAOpB,GACtBkZ,GAAc,GAEZ4Y,GACFA,EAASzsF,GAEX26D,EAAKnU,GAAWxmD,EAChBwmD,GAAW,EAGb,MA5BS,CACPwa,WAAYA,EACZyZ,QAASA,IAiCXiS,GAAW,WACb,SAAS3wB,EAAOh+H,GACd,OAAOA,EAAI2H,OAAOqtH,EAAiBh1H,EAAI7K,SAGzC,MAAO,CACL6oI,OAAQA,GANG,GAaXiY,GAAa,WACf,SAASjlJ,IACP,OAAOqmI,EAAiB,UAAW,GAErC,OAAOk3B,GAAY,EAAGv9J,GAJP,GAUb4mJ,GAAa,WACf,SAAS5mJ,IACP,OAAO,IAAI6kJ,EAGb,SAAS6G,EAAQW,GACf,IACIjoJ,EADA8M,EAAMm7I,EAAU50B,QAEpB,IAAKrzH,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB6gJ,GAAUyG,QAAQW,EAAUhiJ,EAAEjG,IAC9B6gJ,GAAUyG,QAAQW,EAAUjoJ,EAAEA,IAC9B6gJ,GAAUyG,QAAQW,EAAU7iJ,EAAEpF,IAC9BioJ,EAAUhiJ,EAAEjG,GAAK,KACjBioJ,EAAUjoJ,EAAEA,GAAK,KACjBioJ,EAAU7iJ,EAAEpF,GAAK,KAEnBioJ,EAAU50B,QAAU,EACpB40B,EAAUziJ,GAAI,EAGhB,SAAS41B,EAAM69F,GACb,IACIj5H,EADAw5J,EAASrU,EAAQtX,aAEjB/gI,OAAwBpO,IAAlBu6H,EAAM5F,QAAwB4F,EAAMhzH,EAAElG,OAASk5H,EAAM5F,QAI/D,IAHAmmC,EAAO5Y,UAAU9zI,GACjB0sJ,EAAOh0J,EAAIyzH,EAAMzzH,EAEZxF,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBw5J,EAAOxY,YAAY/nB,EAAMhzH,EAAEjG,GAAG,GAAIi5H,EAAMhzH,EAAEjG,GAAG,GAAIi5H,EAAM7zH,EAAEpF,GAAG,GAAIi5H,EAAM7zH,EAAEpF,GAAG,GAAIi5H,EAAMj5H,EAAEA,GAAG,GAAIi5H,EAAMj5H,EAAEA,GAAG,GAAIA,GAE/G,OAAOw5J,EAGT,IAAIrU,EAAUgU,GAAY,EAAGv9J,EAAQ0rJ,GAGrC,OAFAnC,EAAQ/pH,MAAQA,EAET+pH,EApCQ,GA0CbvC,GAAuB,WACzB,IAAIv7D,EAAK,CACPw7D,mBAAoBA,EACpByE,QAASA,GAGPj0B,EAAU,EACVqtB,EAAa,EACblZ,EAAO5H,EAAiB8gB,GAE5B,SAASmC,IAQP,OANIxvB,EAEgBmU,EADlBnU,GAAW,GAGO,IAAIqyB,GAK1B,SAAS4B,EAAQmS,GACf,IAAIz5J,EACA8M,EAAM2sJ,EAAgBpmC,QAC1B,IAAKrzH,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBwiJ,GAAU8E,QAAQmS,EAAgB5mB,OAAO7yI,IAE3Cy5J,EAAgBpmC,QAAU,EAEtBA,IAAYqtB,IACdlZ,EAAO+xB,GAAQ3wB,OAAOpB,GACtBkZ,GAAc,GAEhBlZ,EAAKnU,GAAWomC,EAChBpmC,GAAW,EAGb,OAAOhsC,EArCkB,GA2CvB8mD,GAAsB,WACxB,SAASvyI,IACP,MAAO,CACLmyI,QAAS,GACTQ,YAAa,GAIjB,SAAS+Y,EAAQz6E,GACf,IAAI7sE,EACA8M,EAAM+/D,EAAQkhE,QAAQhuI,OAC1B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB4tI,GAAiB0Z,QAAQz6E,EAAQkhE,QAAQ/tI,IAE3C6sE,EAAQkhE,QAAQhuI,OAAS,EAG3B,OAAOo5J,GAAY,EAAGv9J,EAAQ0rJ,GAjBN,GAuBtB1Z,GAAoB,WACtB,SAAShyI,IACP,MAAO,CACL4xI,YAAa,EACbM,SAAU7L,EAAiB,UAAWpC,GACtCkO,QAAS9L,EAAiB,UAAWpC,IAGzC,OAAOs5B,GAAY,EAAGv9J,GARA,GAapB89J,GAEF,WACE,SAASC,EAAkBzzD,GAKzB,IAJA,IAEIvwD,EAFAikH,EAAQ1zD,EAAQh0E,MAAM,QACtBpxB,EAAO,GAEP+4J,EAAY,EACP75J,EAAI,EAAGA,EAAI45J,EAAM75J,OAAQC,GAAK,EAEjB,KADpB21C,EAAOikH,EAAM55J,GAAGkyB,MAAM,MACbnyB,SACPe,EAAK60C,EAAK,IAAMA,EAAK,GAAGp+B,OACxBsiJ,GAAa,GAGjB,GAAkB,IAAdA,EACF,MAAM,IAAI19J,MAEZ,OAAO2E,EAGT,OAAO,SAAUg5J,GAEf,IADA,IAAIC,EAAU,GACL/5J,EAAI,EAAGA,EAAI85J,EAAS/5J,OAAQC,GAAK,EAAG,CAC3C,IAAIg6J,EAAUF,EAAS95J,GACnBi6J,EAAa,CACfhgE,KAAM+/D,EAAQE,GACdC,SAAUH,EAAQI,IAEpB,IACEH,EAAW/zD,QAAUzxD,KAAKnG,MAAMwrH,EAAS95J,GAAGq6J,IAC5C,MAAO/zJ,GACP,IACE2zJ,EAAW/zD,QAAUyzD,EAAkBG,EAAS95J,GAAGq6J,IACnD,MAAO32C,GACPu2C,EAAW/zD,QAAU,CACnB5lG,KAAMw5J,EAAS95J,KAIrB+5J,EAAQv6J,KAAKy6J,GAEf,OAAOF,GAxCX,GA8CF,SAASO,MAuJT,SAASC,GAAYC,EAAe5zF,GAClCtpE,KAAKk9J,cAAgBA,EACrBl9J,KAAKy0I,OAAS,KACdz0I,KAAKmgJ,eAAiB,EACtBngJ,KAAKm9J,WAAar4B,EAAS,OAC3B,IAAIxhB,EAAY,GAChB,GAAIh6C,GAAUA,EAAOjgE,MAAO,CAC1B,IAAI+zJ,EAAet4B,EAAS,SACxBu4B,EAAUz5B,IACdw5B,EAAar9F,aAAa,KAAMs9F,GAChCD,EAAal+E,YAAc5V,EAAOjgE,MAClCrJ,KAAKm9J,WAAWn9F,YAAYo9F,GAC5B95C,GAAa+5C,EAEf,GAAI/zF,GAAUA,EAAOhgE,YAAa,CAChC,IAAIg0J,EAAcx4B,EAAS,QACvBy4B,EAAS35B,IACb05B,EAAYv9F,aAAa,KAAMw9F,GAC/BD,EAAYp+E,YAAc5V,EAAOhgE,YACjCtJ,KAAKm9J,WAAWn9F,YAAYs9F,GAC5Bh6C,GAAa,IAAMi6C,EAEjBj6C,GACFtjH,KAAKm9J,WAAWp9F,aAAa,kBAAmBujD,GAElD,IAAIm3B,EAAO3V,EAAS,QACpB9kI,KAAKm9J,WAAWn9F,YAAYy6E,GAC5B,IAAI+iB,EAAc14B,EAAS,KAC3B9kI,KAAKm9J,WAAWn9F,YAAYw9F,GAC5Bx9J,KAAKy9J,aAAeD,EACpBx9J,KAAK09J,aAAe,CAClBC,oBAAsBr0F,GAAUA,EAAOq0F,qBAAwB,gBAC/DC,yBAA2Bt0F,GAAUA,EAAOs0F,0BAA6B,iBACzEC,kBAAoBv0F,GAAUA,EAAOu0F,mBAAsB,UAC3DC,gBAAkBx0F,GAAUA,EAAOw0F,kBAAoB,EACvDC,oBAAsBz0F,IAAuC,IAA7BA,EAAOy0F,mBACvCC,YAAc10F,GAAUA,EAAO00F,cAAgB,EAC/CC,YAAc30F,GAAUA,EAAO20F,cAAgB,EAC/Cp0J,UAAYy/D,GAAUA,EAAOz/D,WAAc,GAC3CT,GAAKkgE,GAAUA,EAAOlgE,IAAO,GAC7BqnE,UAAWnH,GAAUA,EAAOmH,UAC5BytF,WAAY,CACVhoI,MAAQozC,GAAUA,EAAO40F,YAAc50F,EAAO40F,WAAWhoI,OAAU,OACnEC,OAASmzC,GAAUA,EAAO40F,YAAc50F,EAAO40F,WAAW/nI,QAAW,OACrE7tB,EAAIghE,GAAUA,EAAO40F,YAAc50F,EAAO40F,WAAW51J,GAAM,KAC3DY,EAAIogE,GAAUA,EAAO40F,YAAc50F,EAAO40F,WAAWh1J,GAAM,OAI/DlJ,KAAK4gJ,WAAa,CAChBvb,MAAM,EACNoX,UAAW,EACXhC,KAAMA,EACNijB,aAAc19J,KAAK09J,cAErB19J,KAAK6sJ,SAAW,GAChB7sJ,KAAKm+J,gBAAkB,GACvBn+J,KAAKo+J,WAAY,EACjBp+J,KAAKq+J,aAAe,MAkNtB,SAASC,GAAY1uJ,EAAM2/D,EAASqxE,GAClC5gJ,KAAK4P,KAAOA,EACZ5P,KAAKuvE,QAAUA,EACfvvE,KAAK4gJ,WAAaA,EAClB5gJ,KAAKuxI,WAAa,GAClBvxI,KAAKk1I,gBAAkBl1I,KAAK4P,KAAKslI,iBAAmB,GACpDl1I,KAAKw9J,YAAc,KACnB,IACI96J,EAKA8rH,EANAisB,EAAOz6I,KAAK4gJ,WAAWnG,KAEvBjrI,EAAMxP,KAAKk1I,gBAAkBl1I,KAAKk1I,gBAAgBzyI,OAAS,EAC/DzC,KAAKu+J,SAAWj8B,EAAiB9yH,GACjCxP,KAAKw+J,UAAY,GAGjB,IAGI91J,EACAksI,EAEAthB,EACAmrC,EACAC,EACAp2J,EATAq2J,EAAa3+J,KAAKk1I,gBAClB/8G,EAAQ,EACRymI,EAAe,GAGfC,EAAUj7B,IAKV2uB,EAAW,WACXuM,EAAU,YACd,IAAKp8J,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAiBxB,IAhB4B,MAAvBi8J,EAAWj8J,GAAG2lC,MAAuC,MAAvBs2H,EAAWj8J,GAAG2lC,MAAiBs2H,EAAWj8J,GAAGorC,KAA6B,MAAtB6wH,EAAWj8J,GAAGoF,EAAE2V,GAAakhJ,EAAWj8J,GAAGoF,EAAEQ,KAClIiqJ,EAAW,OACXuM,EAAU,QAGgB,MAAvBH,EAAWj8J,GAAG2lC,MAAuC,MAAvBs2H,EAAWj8J,GAAG2lC,MAA2B,IAAVlQ,EAOhEm7F,EAAO,OANPA,EAAOwR,EAAS,SACX/kE,aAAa,OAAQ,WAC1BuzD,EAAKvzD,aAAa,QAAS//D,KAAKuvE,QAAQ2wE,KAAKtwI,KAAKytB,GAAK,GACvDi2F,EAAKvzD,aAAa,SAAU//D,KAAKuvE,QAAQ2wE,KAAKtwI,KAAK9G,GAAK,GACxD81J,EAAa18J,KAAKoxH,IAKpB9E,EAAOsW,EAAS,QACW,MAAvB65B,EAAWj8J,GAAG2lC,KAEhBroC,KAAKu+J,SAAS77J,GAAK,CACjB4kH,GAAI+0B,EAAgBuF,QAAQ5hJ,KAAKuvE,QAASovF,EAAWj8J,GAAGoF,EAAG,EAAG,IAAM9H,KAAKuvE,SACzEqG,KAAMyuE,GAAqBkD,aAAavnJ,KAAKuvE,QAASovF,EAAWj8J,GAAI,GACrEi+I,KAAMnyB,EACNuwC,SAAU,IAEZtkB,EAAKz6E,YAAYwuD,OACZ,CAKL,IAAIwwC,EA+BJ,GAnCA7mI,GAAS,EAETq2F,EAAKzuD,aAAa,OAA+B,MAAvB4+F,EAAWj8J,GAAG2lC,KAAe,UAAY,WACnEmmF,EAAKzuD,aAAa,YAAa,WAGL,IAAtB4+F,EAAWj8J,GAAG4F,EAAEmV,GAClB80I,EAAW,OACXuM,EAAU,OACVx2J,EAAI+zI,EAAgBuF,QAAQ5hJ,KAAKuvE,QAASovF,EAAWj8J,GAAG4F,EAAG,EAAG,KAAMtI,KAAKuvE,SACzEyvF,EAAWp7B,KACX66B,EAAW35B,EAAS,WACX/kE,aAAa,KAAMi/F,IAC5BN,EAAU55B,EAAS,iBACX/kE,aAAa,WAAY,SACjC2+F,EAAQ3+F,aAAa,KAAM,iBAC3B2+F,EAAQ3+F,aAAa,SAAU,KAC/B0+F,EAASz+F,YAAY0+F,GACrBjkB,EAAKz6E,YAAYy+F,GACjBjwC,EAAKzuD,aAAa,SAAiC,MAAvB4+F,EAAWj8J,GAAG2lC,KAAe,UAAY,aAErEq2H,EAAU,KACVp2J,EAAI,MAINtI,KAAKuxI,WAAW7uI,GAAK,CACnBi+I,KAAMnyB,EACNlmH,EAAGA,EACH22J,MAAOP,EACPK,SAAU,GACVG,aAAc,GACdC,SAAUH,EACVI,WAAY,GAEa,MAAvBT,EAAWj8J,GAAG2lC,KAAc,CAC9BusG,EAAOgqB,EAAan8J,OACpB,IAAI8kB,EAAIu9G,EAAS,KACjB,IAAKp8H,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB6e,EAAEy4C,YAAY4+F,EAAal2J,IAE7B,IAAI4e,EAAOw9G,EAAS,QACpBx9G,EAAKy4C,aAAa,YAAa,SAC/Bz4C,EAAKy4C,aAAa,KAAM8+F,EAAU,IAAM1mI,GACxC7Q,EAAK04C,YAAYwuD,GACjBisB,EAAKz6E,YAAY14C,GACjBC,EAAEw4C,aAAa,OAAQ,OAASyhE,EAAe,IAAMq9B,EAAU,IAAM1mI,EAAQ,KAE7EymI,EAAan8J,OAAS,EACtBm8J,EAAa18J,KAAKqlB,QAElBq3I,EAAa18J,KAAKssH,GAEhBmwC,EAAWj8J,GAAGorC,MAAQ9tC,KAAKw+J,YAC7Bx+J,KAAKw+J,UAAYx+J,KAAKq/J,wBAGxBr/J,KAAKu+J,SAAS77J,GAAK,CACjBi+I,KAAMnyB,EACNuwC,SAAU,GACVz3C,GAAI+0B,EAAgBuF,QAAQ5hJ,KAAKuvE,QAASovF,EAAWj8J,GAAGoF,EAAG,EAAG,IAAM9H,KAAKuvE,SACzEqG,KAAMyuE,GAAqBkD,aAAavnJ,KAAKuvE,QAASovF,EAAWj8J,GAAI,GACrE48J,QAAShsC,GAENtzH,KAAKu+J,SAAS77J,GAAGkzE,KAAKn4D,GACzBzd,KAAKu/J,SAASZ,EAAWj8J,GAAI1C,KAAKu+J,SAAS77J,GAAGkzE,KAAKjtE,EAAG3I,KAAKu+J,SAAS77J,IAQ1E,IAHA1C,KAAKw9J,YAAc14B,EAASytB,GAE5B/iJ,EAAMovJ,EAAan8J,OACdC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKw9J,YAAYx9F,YAAY4+F,EAAal8J,IAGxCy1B,EAAQ,IACVn4B,KAAKw9J,YAAYz9F,aAAa,KAAM8+F,GACpC7+J,KAAKuvE,QAAQiwF,cAAcz/F,aAAa++F,EAAS,OAASt9B,EAAe,IAAMq9B,EAAU,KACzFpkB,EAAKz6E,YAAYhgE,KAAKw9J,cAEpBx9J,KAAKu+J,SAAS97J,QAChBzC,KAAKuvE,QAAQkwF,uBAAuBz/J,MAiGxC,SAAS0/J,MAoDT,SAASC,MAgDT,SAASC,MA6ET,SAASC,MAwFT,SAASC,MAgET,SAASC,GAAiBxwF,EAASh4C,GACjCv3B,KAAK2gJ,KAAOpxE,EACZvvE,KAAKmV,IAAMoiB,EAKb,SAASyoI,GAAapwJ,EAAMqwJ,GAC1BjgK,KAAK4P,KAAOA,EACZ5P,KAAKP,KAAOmQ,EAAK6a,GACjBzqB,KAAKgI,EAAI,GACThI,KAAKkgK,IAAMD,EACXjgK,KAAKqlI,MAAO,EACZrlI,KAAK4/D,QAAqB,IAAZhwD,EAAK0lF,GACnBt1F,KAAKmgK,MAAQr7B,EAAS,QACtB9kI,KAAKogK,OAAS,KAQhB,SAASC,GAAaC,EAAcL,EAAOtkC,GACzC37H,KAAK+zD,OAAS,GACd/zD,KAAKi6D,OAAS,GACdj6D,KAAKsgK,aAAeA,EACpBtgK,KAAKugK,KAAO,GACZvgK,KAAKgqG,GAAK2xB,EACV37H,KAAKkgK,IAAMD,EAIXjgK,KAAKmlI,cAAgBxJ,EAAMl+G,EAI3B,IAFA,IAAI/a,EAAI,EACJ8M,EAAM8wJ,EAAa79J,OAChBC,EAAI8M,GAAK,CACd,GAAI8wJ,EAAa59J,GAAGwrJ,OAAOhpB,kBAAkBziI,OAAQ,CACnDzC,KAAKmlI,aAAc,EACnB,MAEFziI,GAAK,GAUT,SAAS89J,GAAiBtS,EAAQ5mC,EAAI59G,GACpC1J,KAAK8kC,UAAY,CACfopH,OAAQA,EACR5mC,GAAIA,EACJ59G,UAAWA,GAEb1J,KAAK6sJ,SAAW,GAChB7sJ,KAAKmlI,YAAcnlI,KAAK8kC,UAAUopH,OAAOhpB,kBAAkBziI,QAAUzC,KAAK8kC,UAAUwiF,GAAGw5B,gBAAgBr+I,OAKzG,SAASg+J,GAAmB9f,EAAM/wI,EAAM8wJ,GACtC1gK,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAK2nF,SAAW3nF,KAAKolI,yBACrBplI,KAAK8H,EAAIu0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK9H,EAAG,EAAG,IAAM9H,MACxDA,KAAKq9B,EAAIg/G,EAAgBuF,QAAQjB,EAAM/wI,EAAKytB,EAAG,EAAG,KAAMr9B,MACxDA,KAAKgI,EAAI,IAAIqgJ,GAAa1H,EAAM/wI,EAAK5H,GAAK,GAAI,MAAOhI,MACrDA,KAAKkI,EAAIm0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK1H,EAAG,EAAG,IAAKlI,MACvDA,KAAK+zB,MAAQ2sI,EACb1gK,KAAKmlI,cAAgBnlI,KAAKmlI,YAO5B,SAASw7B,GAAiBhgB,EAAM/wI,EAAM8wJ,GACpC1gK,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAK2nF,SAAW3nF,KAAKolI,yBACrBplI,KAAK8H,EAAIu0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK9H,EAAG,EAAG,IAAM9H,MACxDA,KAAKkI,EAAIm0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK1H,EAAG,EAAG,IAAKlI,MACvDA,KAAK+zB,MAAQ2sI,EAQf,SAASE,GAAyBjgB,EAAM/wI,EAAM8wJ,GAC5C1gK,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAK2nF,SAAW3nF,KAAKolI,yBACrBplI,KAAK6gK,iBAAiBlgB,EAAM/wI,EAAM8wJ,GAiFpC,SAASI,GAA2BngB,EAAM/wI,EAAM8wJ,GAC9C1gK,KAAKslI,6BAA6Bqb,GAClC3gJ,KAAK2nF,SAAW3nF,KAAKolI,yBACrBplI,KAAKq9B,EAAIg/G,EAAgBuF,QAAQjB,EAAM/wI,EAAKytB,EAAG,EAAG,KAAMr9B,MACxDA,KAAKgI,EAAI,IAAIqgJ,GAAa1H,EAAM/wI,EAAK5H,GAAK,GAAI,MAAOhI,MACrDA,KAAK6gK,iBAAiBlgB,EAAM/wI,EAAM8wJ,GAClC1gK,KAAKmlI,cAAgBnlI,KAAKmlI,YAQ5B,SAAS47B,KACP/gK,KAAKya,GAAK,GACVza,KAAKghK,aAAe,GACpBhhK,KAAKihK,GAAKn8B,EAAS,KArpCrBk4B,GAAatgK,UAAUwkK,YAAc,SAAUx1I,GAC7C,IAAIhpB,EAEAkN,EADAJ,EAAMxP,KAAKy0I,OAAOhyI,OAGtB,IADAzC,KAAKw0I,gBAAiB,EACjB9xI,EAAI8M,EAAM,EAAG9M,GAAK,EAAGA,GAAK,EACxB1C,KAAK6sJ,SAASnqJ,KACjBkN,EAAO5P,KAAKy0I,OAAO/xI,IACVy+J,GAAKvxJ,EAAK6xI,IAAO/1H,EAAM1rB,KAAKy0I,OAAO/xI,GAAG++I,IAAO7xI,EAAK03G,GAAK13G,EAAK6xI,GAAM/1H,EAAM1rB,KAAKy0I,OAAO/xI,GAAG++I,IAC9FzhJ,KAAKohK,UAAU1+J,GAGnB1C,KAAKw0I,iBAAiBx0I,KAAK6sJ,SAASnqJ,IAAK1C,KAAKw0I,eAEhDx0I,KAAKqhK,wBAGPrE,GAAatgK,UAAU4kK,WAAa,SAAUC,GAC5C,OAAQA,EAAM92I,IACZ,KAAK,EACH,OAAOzqB,KAAKwhK,YAAYD,GAC1B,KAAK,EACH,OAAOvhK,KAAKyhK,WAAWF,GACzB,KAAK,EACH,OAAOvhK,KAAK0hK,YAAYH,GAC1B,KAAK,EAYL,QACE,OAAOvhK,KAAK2hK,WAAWJ,GAXzB,KAAK,EACH,OAAOvhK,KAAK4hK,YAAYL,GAC1B,KAAK,EACH,OAAOvhK,KAAK6hK,WAAWN,GACzB,KAAK,EACH,OAAOvhK,KAAKmvJ,YAAYoS,GAC1B,KAAK,GACH,OAAOvhK,KAAK8hK,aAAaP,GAC3B,KAAK,GACH,OAAOvhK,KAAK+hK,cAAcR,KAMhCvE,GAAatgK,UAAUolK,aAAe,WACpC,MAAM,IAAIjjK,MAAM,qDAGlBm+J,GAAatgK,UAAUyyJ,YAAc,SAAUv/I,GAC7C,OAAO,IAAIoyJ,GAAapyJ,EAAM5P,KAAK4gJ,WAAY5gJ,OAGjDg9J,GAAatgK,UAAUqlK,cAAgB,SAAUnyJ,GAC/C,OAAO,IAAIqyJ,eAAeryJ,EAAM5P,KAAK4gJ,WAAY5gJ,OAGnDg9J,GAAatgK,UAAUwlK,cAAgB,WACrC,IAAIx/J,EACA8M,EAAMxP,KAAKy0I,OAAOhyI,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKohK,UAAU1+J,GAEjB1C,KAAKqhK,wBAGPrE,GAAatgK,UAAUylK,cAAgB,SAAUC,GAE/C,IAAI1/J,EADJ1C,KAAKw0I,gBAAiB,EAEtB,IACI9rI,EADA8G,EAAM4yJ,EAAU3/J,OAEhBmyI,EAAO50I,KAAKy0I,OAAOhyI,OACvB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAExB,IADAgG,EAAI,EACGA,EAAIksI,GAAM,CACf,GAAI50I,KAAKy0I,OAAO/rI,GAAGU,KAAOg5J,EAAU1/J,GAAG0G,GAAI,CACzCpJ,KAAKy0I,OAAO/rI,GAAK05J,EAAU1/J,GAC3B,MAEFgG,GAAK,IAKXs0J,GAAatgK,UAAU2lK,oBAAsB,SAAUC,GACrDtiK,KAAK4gJ,WAAW2hB,iBAAmBD,GAGrCtF,GAAatgK,UAAU8lK,UAAY,WAC5BxiK,KAAK4gJ,WAAWkd,iBACnB99J,KAAKkiK,iBAGTlF,GAAatgK,UAAU+lK,sBAAwB,SAAUlzF,EAASmzF,EAAYC,GAK5E,IAJA,IAAI9V,EAAW7sJ,KAAK6sJ,SAChBpY,EAASz0I,KAAKy0I,OACd/xI,EAAI,EACJ8M,EAAMilI,EAAOhyI,OACVC,EAAI8M,GACLilI,EAAO/xI,GAAG+6I,KAAOilB,IACd7V,EAASnqJ,KAAsB,IAAhBmqJ,EAASnqJ,IAI3BigK,EAAUzgK,KAAK2qJ,EAASnqJ,IACxBmqJ,EAASnqJ,GAAGkgK,mBACaxhK,IAArBqzI,EAAO/xI,GAAG62I,OACZv5I,KAAKyiK,sBAAsBlzF,EAASklE,EAAO/xI,GAAG62I,OAAQopB,GAEtDpzF,EAAQszF,aAAaF,KARvB3iK,KAAKohK,UAAU1+J,GACf1C,KAAK8iK,kBAAkBvzF,KAW3B7sE,GAAK,GAITs6J,GAAatgK,UAAUomK,kBAAoB,SAAUvzF,GACnDvvE,KAAKm+J,gBAAgBj8J,KAAKqtE,IAG5BytF,GAAatgK,UAAUqmK,wBAA0B,SAAU1sB,GACzD,IAAI3zI,EACA8M,EAAM6mI,EAAO5zI,OACjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB,GAAI2zI,EAAO3zI,GAAGsgK,GAAI,CAChB,IAAI9iB,EAAOlgJ,KAAKyhK,WAAWprB,EAAO3zI,IAClCw9I,EAAK+iB,kBACLjjK,KAAK4gJ,WAAW2hB,iBAAiBW,oBAAoBhjB,KAK3D8c,GAAatgK,UAAUymK,gBAAkB,SAAUC,EAAUC,GAC3DrjK,KAAK4gJ,WAAW4Y,YAAc,IAAInhB,EAClCr4I,KAAK4gJ,WAAW4Y,YAAYte,SAASkoB,EAASrsH,OAC9C/2C,KAAK4gJ,WAAW4Y,YAAYhf,SAAS4oB,EAAS3pB,MAAO4pB,GACrDrjK,KAAK4gJ,WAAW0iB,aAAetjK,KAAKk9J,cAAcoG,aAAa5wI,KAAK1yB,KAAKk9J,eACzEl9J,KAAK4gJ,WAAWgQ,cAAgB5wJ,KAAKk9J,cAActM,cAAcl+H,KAAK1yB,KAAKk9J,eAC3El9J,KAAK4gJ,WAAW2iB,YAAcvjK,KAAKk9J,cAAcsG,eACjDxjK,KAAK4gJ,WAAW6iB,gBAAkBzjK,KAAKk9J,cAAcuG,gBACrDzjK,KAAK4gJ,WAAWC,QAAU,EAC1B7gJ,KAAK4gJ,WAAW8B,UAAY0gB,EAASM,GACrC1jK,KAAK4gJ,WAAW1U,GAAKk3B,EAASl3B,GAC9BlsI,KAAK4gJ,WAAW+iB,SAAW,CACzBtmI,EAAG+lI,EAAS/lI,EACZv0B,EAAGs6J,EAASt6J,IAoEhB4lI,EAAgB,CAACsuB,IAAeC,IAEhCA,GAAYvgK,UAAUilK,WAAa,SAAU/xJ,GAC3C,OAAO,IAAIg0J,GAAYh0J,EAAM5P,KAAK4gJ,WAAY5gJ,OAGhDi9J,GAAYvgK,UAAUklK,YAAc,SAAUhyJ,GAC5C,OAAO,IAAIi0J,GAAgBj0J,EAAM5P,KAAK4gJ,WAAY5gJ,OAGpDi9J,GAAYvgK,UAAUmlK,WAAa,SAAUjyJ,GAC3C,OAAO,IAAIk0J,GAAqBl0J,EAAM5P,KAAK4gJ,WAAY5gJ,OAGzDi9J,GAAYvgK,UAAU8kK,YAAc,SAAU5xJ,GAC5C,OAAO,IAAIm0J,GAAcn0J,EAAM5P,KAAK4gJ,WAAY5gJ,OAGlDi9J,GAAYvgK,UAAU+kK,WAAa,SAAU7xJ,GAC3C,OAAO,IAAIo0J,GAAep0J,EAAM5P,KAAK4gJ,WAAY5gJ,OAGnDi9J,GAAYvgK,UAAUglK,YAAc,SAAU9xJ,GAC5C,OAAO,IAAIq0J,GAAcr0J,EAAM5P,KAAK4gJ,WAAY5gJ,OAGlDi9J,GAAYvgK,UAAUwnK,gBAAkB,SAAUd,GAChDpjK,KAAKm9J,WAAWp9F,aAAa,QAAS,8BAClC//D,KAAK09J,aAAaO,YACpBj+J,KAAKm9J,WAAWp9F,aAAa,UAAW//D,KAAK09J,aAAaO,aAE1Dj+J,KAAKm9J,WAAWp9F,aAAa,UAAW,OAASqjG,EAAS/lI,EAAI,IAAM+lI,EAASt6J,GAG1E9I,KAAK09J,aAAaM,cACrBh+J,KAAKm9J,WAAWp9F,aAAa,QAASqjG,EAAS/lI,GAC/Cr9B,KAAKm9J,WAAWp9F,aAAa,SAAUqjG,EAASt6J,GAChD9I,KAAKm9J,WAAWppI,MAAMmC,MAAQ,OAC9Bl2B,KAAKm9J,WAAWppI,MAAMoC,OAAS,OAC/Bn2B,KAAKm9J,WAAWppI,MAAM+Q,UAAY,qBAClC9kC,KAAKm9J,WAAWppI,MAAM8pI,kBAAoB79J,KAAK09J,aAAaG,mBAE1D79J,KAAK09J,aAAa7zJ,WACpB7J,KAAKm9J,WAAWp9F,aAAa,QAAS//D,KAAK09J,aAAa7zJ,WAEtD7J,KAAK09J,aAAat0J,IACpBpJ,KAAKm9J,WAAWp9F,aAAa,KAAM//D,KAAK09J,aAAat0J,SAEnBhI,IAAhCpB,KAAK09J,aAAajtF,WACpBzwE,KAAKm9J,WAAWp9F,aAAa,YAAa//D,KAAK09J,aAAajtF,WAE9DzwE,KAAKm9J,WAAWp9F,aAAa,sBAAuB//D,KAAK09J,aAAaC,qBAGtE39J,KAAKk9J,cAAciH,QAAQnkG,YAAYhgE,KAAKm9J,YAE5C,IAAI1iB,EAAOz6I,KAAK4gJ,WAAWnG,KAE3Bz6I,KAAKmjK,gBAAgBC,EAAU3oB,GAC/Bz6I,KAAK4gJ,WAAWkd,gBAAkB99J,KAAK09J,aAAaI,gBACpD99J,KAAK4P,KAAOwzJ,EAEZ,IAAI5F,EAAc14B,EAAS,YACvBxR,EAAOwR,EAAS,QACpBxR,EAAKvzD,aAAa,QAASqjG,EAAS/lI,GACpCi2F,EAAKvzD,aAAa,SAAUqjG,EAASt6J,GACrCwqH,EAAKvzD,aAAa,IAAK,GACvBuzD,EAAKvzD,aAAa,IAAK,GACvB,IAAIqkG,EAASxgC,IACb45B,EAAYz9F,aAAa,KAAMqkG,GAC/B5G,EAAYx9F,YAAYszD,GACxBtzH,KAAKy9J,aAAa19F,aAAa,YAAa,OAASyhE,EAAe,IAAM4iC,EAAS,KAEnF3pB,EAAKz6E,YAAYw9F,GACjBx9J,KAAKy0I,OAAS2uB,EAAS3uB,OACvBz0I,KAAK6sJ,SAAWvqB,EAAiB8gC,EAAS3uB,OAAOhyI,SAGnDw6J,GAAYvgK,UAAUoxG,QAAU,WAM9B,IAAIprG,EALA1C,KAAKk9J,cAAciH,UACrBnkK,KAAKk9J,cAAciH,QAAQjrB,UAAY,IAEzCl5I,KAAKy9J,aAAe,KACpBz9J,KAAK4gJ,WAAWnG,KAAO,KAEvB,IAAIjrI,EAAMxP,KAAKy0I,OAASz0I,KAAKy0I,OAAOhyI,OAAS,EAC7C,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACpB1C,KAAK6sJ,SAASnqJ,IAChB1C,KAAK6sJ,SAASnqJ,GAAGorG,UAGrB9tG,KAAK6sJ,SAASpqJ,OAAS,EACvBzC,KAAKo+J,WAAY,EACjBp+J,KAAKk9J,cAAgB,MAGvBD,GAAYvgK,UAAU2nK,oBAAsB,aAG5CpH,GAAYvgK,UAAU0kK,UAAY,SAAUjsJ,GAC1C,IAAI03I,EAAW7sJ,KAAK6sJ,SACpB,IAAIA,EAAS13I,IAAgC,KAAxBnV,KAAKy0I,OAAOt/H,GAAKsV,GAAtC,CAGAoiI,EAAS13I,IAAO,EAChB,IAAIo6D,EAAUvvE,KAAKshK,WAAWthK,KAAKy0I,OAAOt/H,IAE1C03I,EAAS13I,GAAOo6D,EACZ+xD,IAC0B,IAAxBthI,KAAKy0I,OAAOt/H,GAAKsV,IACnBzqB,KAAK4gJ,WAAW2hB,iBAAiBW,oBAAoB3zF,GAEvDA,EAAQ0zF,mBAEVjjK,KAAKskK,mBAAmB/0F,EAASp6D,GAC7BnV,KAAKy0I,OAAOt/H,GAAK4/H,KACd/0I,KAAK6sJ,SAAS13I,EAAM,KAAiC,IAA3BnV,KAAK6sJ,SAAS13I,EAAM,GAIjDo6D,EAAQg1F,SAAS1X,EAAS13I,EAAM,GAAG0pJ,UAHnC7+J,KAAKohK,UAAUjsJ,EAAM,GACrBnV,KAAK8iK,kBAAkBvzF,OAO7B0tF,GAAYvgK,UAAU2kK,qBAAuB,WAC3C,KAAOrhK,KAAKm+J,gBAAgB17J,QAAQ,CAClC,IAAI8sE,EAAUvvE,KAAKm+J,gBAAgBx6J,MAEnC,GADA4rE,EAAQi1F,iBACJj1F,EAAQ3/D,KAAKmlI,GAGf,IAFA,IAAIryI,EAAI,EACJ8M,EAAMxP,KAAK6sJ,SAASpqJ,OACjBC,EAAI8M,GAAK,CACd,GAAIxP,KAAK6sJ,SAASnqJ,KAAO6sE,EAAS,CAChCA,EAAQg1F,SAASvkK,KAAK6sJ,SAASnqJ,EAAI,GAAGm8J,SACtC,MAEFn8J,GAAK,KAMbu6J,GAAYvgK,UAAU+nK,YAAc,SAAU/4I,GAC5C,GAAI1rB,KAAKmgJ,gBAAkBz0H,IAAO1rB,KAAKo+J,UAAvC,CAcA,IAAI17J,EAXQ,OAARgpB,EACFA,EAAM1rB,KAAKmgJ,cAEXngJ,KAAKmgJ,cAAgBz0H,EAIvB1rB,KAAK4gJ,WAAWnE,SAAW/wH,EAC3B1rB,KAAK4gJ,WAAWC,SAAW,EAC3B7gJ,KAAK4gJ,WAAW2hB,iBAAiBmC,aAAeh5I,EAChD1rB,KAAK4gJ,WAAWvb,MAAO,EAEvB,IAAI71H,EAAMxP,KAAKy0I,OAAOhyI,OAItB,IAHKzC,KAAKw0I,gBACRx0I,KAAKkhK,YAAYx1I,GAEdhpB,EAAI8M,EAAM,EAAG9M,GAAK,EAAGA,GAAK,GACzB1C,KAAKw0I,gBAAkBx0I,KAAK6sJ,SAASnqJ,KACvC1C,KAAK6sJ,SAASnqJ,GAAGiiK,aAAaj5I,EAAM1rB,KAAKy0I,OAAO/xI,GAAG++I,IAGvD,GAAIzhJ,KAAK4gJ,WAAWvb,KAClB,IAAK3iI,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GACpB1C,KAAKw0I,gBAAkBx0I,KAAK6sJ,SAASnqJ,KACvC1C,KAAK6sJ,SAASnqJ,GAAG+hK,gBAMzBxH,GAAYvgK,UAAU4nK,mBAAqB,SAAU/0F,EAASp6D,GAC5D,IAAIo7H,EAAahhE,EAAQq1F,iBACzB,GAAKr0B,EAAL,CAKA,IAFA,IACIs0B,EADAniK,EAAI,EAEDA,EAAIyS,GACLnV,KAAK6sJ,SAASnqJ,KAA2B,IAArB1C,KAAK6sJ,SAASnqJ,IAAe1C,KAAK6sJ,SAASnqJ,GAAGkiK,mBACpEC,EAAc7kK,KAAK6sJ,SAASnqJ,GAAGkiK,kBAEjCliK,GAAK,EAEHmiK,EACF7kK,KAAKy9J,aAAal/E,aAAagyD,EAAYs0B,GAE3C7kK,KAAKy9J,aAAaz9F,YAAYuwE,KAIlC0sB,GAAYvgK,UAAUi1E,KAAO,WAC3B3xE,KAAKy9J,aAAa1pI,MAAM6hF,QAAU,QAGpCqnD,GAAYvgK,UAAUw1E,KAAO,WAC3BlyE,KAAKy9J,aAAa1pI,MAAM6hF,QAAU,SAiJpC0oD,GAAY5hK,UAAUm5J,gBAAkB,SAAU1gJ,GAChD,OAAOnV,KAAKu+J,SAASppJ,GAAKygE,MAG5B0oF,GAAY5hK,UAAU+nK,YAAc,SAAUK,GAC5C,IACIpiK,EADAqiK,EAAW/kK,KAAKuvE,QAAQy1F,eAAehjB,IAEvCxyI,EAAMxP,KAAKk1I,gBAAgBzyI,OAC/B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAOxB,IANI1C,KAAKu+J,SAAS77J,GAAGkzE,KAAKyvD,MAAQy/B,IAChC9kK,KAAKu/J,SAASv/J,KAAKk1I,gBAAgBxyI,GAAI1C,KAAKu+J,SAAS77J,GAAGkzE,KAAKjtE,EAAG3I,KAAKu+J,SAAS77J,KAE5E1C,KAAKu+J,SAAS77J,GAAG4kH,GAAG+d,MAAQy/B,IAC9B9kK,KAAKu+J,SAAS77J,GAAGi+I,KAAK5gF,aAAa,eAAgB//D,KAAKu+J,SAAS77J,GAAG4kH,GAAG3+G,GAEpC,MAAjC3I,KAAKk1I,gBAAgBxyI,GAAG2lC,OACtBroC,KAAKu+J,SAAS77J,GAAG48J,UAAYt/J,KAAKuvE,QAAQy1F,eAAeC,MAAM5/B,MAAQy/B,IACzE9kK,KAAKu+J,SAAS77J,GAAG48J,QAAQv/F,aAAa,YAAaglG,EAASp8B,mBAAmBsB,WAE7EjqI,KAAKuxI,WAAW7uI,GAAG4F,IAAMtI,KAAKuxI,WAAW7uI,GAAG4F,EAAE+8H,MAAQy/B,IAAe,CACvE,IAAIpG,EAAU1+J,KAAKuxI,WAAW7uI,GAAGu8J,MAC7Bj/J,KAAKuxI,WAAW7uI,GAAG4F,EAAEK,EAAI,GACa,UAApC3I,KAAKuxI,WAAW7uI,GAAGw8J,eACrBl/J,KAAKuxI,WAAW7uI,GAAGw8J,aAAe,QAClCl/J,KAAKuxI,WAAW7uI,GAAGi+I,KAAK5gF,aAAa,SAAU,OAASyhE,EAAe,IAAMxhI,KAAKuxI,WAAW7uI,GAAGy8J,SAAW,MAE7GT,EAAQ3+F,aAAa,UAAW//D,KAAKuxI,WAAW7uI,GAAG4F,EAAEK,KAEb,WAApC3I,KAAKuxI,WAAW7uI,GAAGw8J,eACrBl/J,KAAKuxI,WAAW7uI,GAAGw8J,aAAe,SAClCl/J,KAAKuxI,WAAW7uI,GAAGi+I,KAAK5gF,aAAa,SAAU,OAEjD//D,KAAKuxI,WAAW7uI,GAAGi+I,KAAK5gF,aAAa,eAAyC,EAAzB//D,KAAKuxI,WAAW7uI,GAAG4F,EAAEK,MAOpF21J,GAAY5hK,UAAUwoK,eAAiB,WACrC,OAAOllK,KAAKw9J,aAGdc,GAAY5hK,UAAU2iK,qBAAuB,WAC3C,IAAI7wC,EAAO,QAKX,OAJAA,GAAQ,KAAOxuH,KAAK4gJ,WAAW+iB,SAAStmI,EACxCmxF,GAAQ,KAAOxuH,KAAK4gJ,WAAW+iB,SAAS76J,EACxC0lH,GAAQ,MAAQxuH,KAAK4gJ,WAAW+iB,SAAStmI,EACzCmxF,GAAQ,MAAQxuH,KAAK4gJ,WAAW+iB,SAAS76J,EAAI,KAI/Cw1J,GAAY5hK,UAAU6iK,SAAW,SAAUhpB,EAAU8X,EAAWkQ,GAC9D,IACI77J,EACA8M,EAFA21J,EAAa,KAAO9W,EAAU1lJ,EAAE,GAAG,GAAK,IAAM0lJ,EAAU1lJ,EAAE,GAAG,GAIjE,IADA6G,EAAM6+I,EAAUt4B,QACXrzH,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EAExByiK,GAAc,KAAO9W,EAAUvmJ,EAAEpF,EAAI,GAAG,GAAK,IAAM2rJ,EAAUvmJ,EAAEpF,EAAI,GAAG,GAAK,IAAM2rJ,EAAU3rJ,EAAEA,GAAG,GAAK,IAAM2rJ,EAAU3rJ,EAAEA,GAAG,GAAK,IAAM2rJ,EAAU1lJ,EAAEjG,GAAG,GAAK,IAAM2rJ,EAAU1lJ,EAAEjG,GAAG,GAQhL,GALI2rJ,EAAUnmJ,GAAKsH,EAAM,IACvB21J,GAAc,KAAO9W,EAAUvmJ,EAAEpF,EAAI,GAAG,GAAK,IAAM2rJ,EAAUvmJ,EAAEpF,EAAI,GAAG,GAAK,IAAM2rJ,EAAU3rJ,EAAE,GAAG,GAAK,IAAM2rJ,EAAU3rJ,EAAE,GAAG,GAAK,IAAM2rJ,EAAU1lJ,EAAE,GAAG,GAAK,IAAM0lJ,EAAU1lJ,EAAE,GAAG,IAI5K41J,EAASQ,WAAaoG,EAAY,CACpC,IAAIC,EAAiB,GACjB7G,EAAS5d,OACP0N,EAAUnmJ,IACZk9J,EAAiB7uB,EAASzoG,IAAM9tC,KAAKw+J,UAAY2G,EAAaA,GAEhE5G,EAAS5d,KAAK5gF,aAAa,IAAKqlG,IAElC7G,EAASQ,SAAWoG,IAIxB7G,GAAY5hK,UAAUoxG,QAAU,WAC9B9tG,KAAKuvE,QAAU,KACfvvE,KAAK4gJ,WAAa,KAClB5gJ,KAAKw9J,YAAc,KACnBx9J,KAAK4P,KAAO,KACZ5P,KAAKk1I,gBAAkB,MAWzBwqB,GAAiBhjK,UAAY,CAM3B2oK,cAAe,WAEbrlK,KAAK2iK,UAAY,GAEjB3iK,KAAKslK,WAAY,EACjBtlK,KAAKwkK,kBASP3B,aAAc,SAAUF,GACtB3iK,KAAK2iK,UAAYA,GAOnBC,YAAa,WACX5iK,KAAKslK,WAAY,GAOnBd,eAAgB,gBACWpjK,IAArBpB,KAAK4P,KAAK2pI,QACZv5I,KAAKkgJ,KAAKuiB,sBAAsBziK,KAAMA,KAAK4P,KAAK2pI,OAAQ,MAc9DomB,GAAajjK,UAAY,CAMvB4/I,UAAW,WAETt8I,KAAKghJ,eAAgB,EAErBhhJ,KAAKklI,kBAAoB,GAEzBllI,KAAKqlI,MAAO,GAYdkgC,kBAAmB,SAAU75I,EAAKkvC,GAChC,IAAIl4D,EACA8M,EAAMxP,KAAKklI,kBAAkBziI,OACjC,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GACpBk4D,GAAc56D,KAAKslK,WAAoD,cAAvCtlK,KAAKklI,kBAAkBxiI,GAAGk6I,YAC5D58I,KAAKklI,kBAAkBxiI,GAAGilF,WACtB3nF,KAAKklI,kBAAkBxiI,GAAG2iI,OAC5BrlI,KAAK4gJ,WAAWvb,MAAO,EACvBrlI,KAAKqlI,MAAO,KAKpBJ,mBAAoB,SAAUrvD,IACkB,IAA1C51E,KAAKklI,kBAAkB/zH,QAAQykE,IACjC51E,KAAKklI,kBAAkBhjI,KAAK0zE,KASlCgqF,GAAiBljK,UAAY,CAC3B8oK,cAAe,WACbxlK,KAAKglK,eAAiB,CACpBC,MAAOjlK,KAAK4P,KAAK8lI,GAAKmM,EAAyBqB,qBAAqBljJ,KAAMA,KAAK4P,KAAK8lI,GAAI11I,MAAQ,CAAE8H,EAAG,GACrG29J,SAAS,EACTC,QAAQ,EACR1jB,IAAK,IAAIrc,GAEP3lI,KAAK4P,KAAK+1J,KACZ3lK,KAAKglK,eAAeC,MAAMpiB,cAAe,GAIvC7iJ,KAAK4P,KAAK6a,IAIhBm7I,gBAAiB,WAIf,GAHA5lK,KAAKglK,eAAeU,OAAS1lK,KAAKglK,eAAeC,MAAMn9J,EAAEu9H,MAAQrlI,KAAKghJ,cACtEhhJ,KAAKglK,eAAeS,QAAUzlK,KAAKglK,eAAeC,MAAM5/B,MAAQrlI,KAAKghJ,cAEjEhhJ,KAAK2iK,UAAW,CAClB,IAAI3gB,EACA+iB,EAAW/kK,KAAKglK,eAAehjB,IAC/Bt/I,EAAI,EACJ8M,EAAMxP,KAAK2iK,UAAUlgK,OAEzB,IAAKzC,KAAKglK,eAAeS,QACvB,KAAO/iK,EAAI8M,GAAK,CACd,GAAIxP,KAAK2iK,UAAUjgK,GAAGsiK,eAAeC,MAAM5/B,KAAM,CAC/CrlI,KAAKglK,eAAeS,SAAU,EAC9B,MAEF/iK,GAAK,EAIT,GAAI1C,KAAKglK,eAAeS,QAGtB,IAFAzjB,EAAMhiJ,KAAKglK,eAAeC,MAAMt8J,EAAE3D,MAClC+/J,EAASz8B,eAAe0Z,GACnBt/I,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBs/I,EAAMhiJ,KAAK2iK,UAAUjgK,GAAGsiK,eAAeC,MAAMt8J,EAAE3D,MAC/C+/J,EAASjgI,UAAUk9G,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,IAAKA,EAAI,OAK5J6jB,cAAe,SAAU98B,GACvB,IAAI+8B,EAAa,GACjBA,EAAW5jK,KAAKlC,KAAKglK,gBAGrB,IAFA,IAYItiK,EAZAigI,GAAO,EACPud,EAAOlgJ,KAAKkgJ,KACTvd,GACDud,EAAK8kB,gBACH9kB,EAAKtwI,KAAKolI,SACZ8wB,EAAWlrH,OAAO,EAAG,EAAGslG,EAAK8kB,gBAE/B9kB,EAAOA,EAAKA,MAEZvd,GAAO,EAIX,IACIojC,EADAv2J,EAAMs2J,EAAWrjK,OAErB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBqjK,EAAQD,EAAWpjK,GAAGs/I,IAAIhZ,kBAAkB,EAAG,EAAG,GAElDD,EAAK,CAACA,EAAG,GAAKg9B,EAAM,GAAIh9B,EAAG,GAAKg9B,EAAM,GAAI,GAE5C,OAAOh9B,GAET2tB,QAAS,IAAI/wB,GAOfk6B,GAAkBnjK,UAAY,CAC5BspK,eAAgB,WAEdhmK,KAAKimK,WAAY,EAEjBjmK,KAAKs+D,QAAS,EAEdt+D,KAAKkmK,eAAgB,EAErBlmK,KAAKmmK,qBAAuB,IAE9B1G,uBAAwB,SAAU2G,IACsB,IAAlDpmK,KAAKmmK,qBAAqBh1J,QAAQi1J,IACpCpmK,KAAKmmK,qBAAqBjkK,KAAKkkK,IAGnCC,0BAA2B,SAAUD,IACmB,IAAlDpmK,KAAKmmK,qBAAqBh1J,QAAQi1J,IACpCpmK,KAAKmmK,qBAAqBvrH,OAAO56C,KAAKmmK,qBAAqBh1J,QAAQi1J,GAAY,IAGnFE,uBAAwB,SAAU56I,GAChC1rB,KAAKumK,iBAAiB76I,IAExB86I,kBAAmB,WACbxmK,KAAKglK,eAAeC,MAAMn9J,EAAEa,GAAK,GAC9B3I,KAAKkmK,eAAiBlmK,KAAK4gJ,WAAW8c,aAAaK,oBACtD/9J,KAAKkmK,eAAgB,EACrBlmK,KAAK2xE,QAEE3xE,KAAKkmK,gBACdlmK,KAAKkmK,eAAgB,EACrBlmK,KAAKkyE,SAWTq0F,iBAAkB,SAAU76I,GACtB1rB,KAAK4P,KAAKuxJ,GAAKnhK,KAAK4P,KAAK6xI,IAAM/1H,GAAO1rB,KAAK4P,KAAK03G,GAAKtnH,KAAK4P,KAAK6xI,GAAK/1H,GAC/C,IAAnB1rB,KAAKimK,YACPjmK,KAAK4gJ,WAAWvb,MAAO,EACvBrlI,KAAKqlI,MAAO,EACZrlI,KAAKimK,WAAY,EACjBjmK,KAAKkyE,SAEqB,IAAnBlyE,KAAKimK,YACdjmK,KAAK4gJ,WAAWvb,MAAO,EACvBrlI,KAAKimK,WAAY,EACjBjmK,KAAK2xE,SAGT80F,iBAAkB,WAChB,IAAI/jK,EACA8M,EAAMxP,KAAKmmK,qBAAqB1jK,OACpC,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKmmK,qBAAqBzjK,GAAG+hK,YAAYzkK,KAAKghJ,gBAKlD0lB,iBAAkB,WAChB,MAAO,CACLzyF,IAAK,EACLt3C,KAAM,EACNzG,MAAO,IACPC,OAAQ,MAGZwwI,aAAc,WACZ,OAAqB,IAAjB3mK,KAAK4P,KAAK6a,GACL,CAAE4S,EAAGr9B,KAAK4P,KAAKojJ,SAAS98H,MAAOptB,EAAG9I,KAAK4P,KAAKojJ,SAAS78H,QAEvD,CAAEkH,EAAGr9B,KAAK4P,KAAKsmB,MAAOptB,EAAG9I,KAAK4P,KAAKumB,UAiE5Cu4G,EAAgB,CAACmxB,GAAmB/wB,EAxDnB,CACf83B,YAAa,SAAUh3J,EAAMgxI,EAAYV,GACvClgJ,KAAKs8I,YACLt8I,KAAK6mK,aAAaj3J,EAAMgxI,EAAYV,GACpClgJ,KAAKwlK,cAAc51J,EAAMgxI,EAAYV,GACrClgJ,KAAKqlK,gBACLrlK,KAAKgmK,iBACLhmK,KAAK8mK,sBACL9mK,KAAK+mK,0BACL/mK,KAAKgnK,6BACLhnK,KAAKinK,gBACLjnK,KAAK2xE,QAEPA,KAAM,WACC3xE,KAAKs+D,QAAYt+D,KAAKimK,YAAajmK,KAAKkmK,iBAChClmK,KAAKknK,aAAelnK,KAAKy9J,cAC/B1pI,MAAM6hF,QAAU,OACrB51G,KAAKs+D,QAAS,IAGlB4T,KAAM,WACAlyE,KAAKimK,YAAcjmK,KAAKkmK,gBACrBlmK,KAAK4P,KAAK0lF,MACFt1F,KAAKknK,aAAelnK,KAAKy9J,cAC/B1pI,MAAM6hF,QAAU,SAEvB51G,KAAKs+D,QAAS,EACdt+D,KAAKghJ,eAAgB,IAGzByjB,YAAa,WAGPzkK,KAAK4P,KAAK0lF,IAAMt1F,KAAKs+D,SAGzBt+D,KAAK4lK,kBACL5lK,KAAKymK,mBACLzmK,KAAKmnK,gBACLnnK,KAAKonK,qBACDpnK,KAAKghJ,gBACPhhJ,KAAKghJ,eAAgB,KAGzBomB,mBAAoB,aACpBzC,aAAc,SAAUj5I,GACtB1rB,KAAKqlI,MAAO,EACZrlI,KAAKsmK,uBAAuB56I,GAC5B1rB,KAAKulK,kBAAkB75I,EAAK1rB,KAAKimK,WACjCjmK,KAAKwmK,qBAEP14D,QAAS,WACP9tG,KAAKqnK,UAAY,KACjBrnK,KAAKsnK,yBAG6DxH,IAuBxEE,GAAatjK,UAAU2F,MAAQ,WAC7BrC,KAAKgI,EAAI,GACThI,KAAKqlI,MAAO,GA0Bdg7B,GAAa3jK,UAAUysJ,cAAgB,WACrCnpJ,KAAKmlI,aAAc,GA4BrBuJ,EAAgB,CAAC1J,GAA2By7B,IAY5C/xB,EAAgB,CAAC1J,GAA2B27B,IAW5CC,GAAyBlkK,UAAUmkK,iBAAmB,SAAUlgB,EAAM/wI,EAAM8wJ,GAC1E1gK,KAAK8H,EAAIu0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK9H,EAAG,EAAG,IAAM9H,MACxDA,KAAK4H,EAAIy0I,EAAgBuF,QAAQjB,EAAM/wI,EAAKhI,EAAG,EAAG,KAAM5H,MACxDA,KAAKwH,EAAI60I,EAAgBuF,QAAQjB,EAAM/wI,EAAKpI,EAAG,EAAG,KAAMxH,MACxDA,KAAK8I,EAAIuzI,EAAgBuF,QAAQjB,EAAM/wI,EAAK9G,GAAK,CAAE2U,EAAG,GAAK,EAAG,IAAMzd,MACpEA,KAAK6H,EAAIw0I,EAAgBuF,QAAQjB,EAAM/wI,EAAK/H,GAAK,CAAE4V,EAAG,GAAK,EAAG+kH,EAAWxiI,MACzEA,KAAKunB,EAAI,IAAImhI,GAAiB/H,EAAM/wI,EAAK2X,EAAGvnB,MAC5CA,KAAK+zB,MAAQ2sI,EACb1gK,KAAKunK,MAAQ,GACbvnK,KAAKwnK,gBAAgB9G,EAAQP,MAAOvwJ,GACpC5P,KAAKynK,mBAAmB73J,EAAM8wJ,GAC9B1gK,KAAKmlI,cAAgBnlI,KAAKmlI,aAG5By7B,GAAyBlkK,UAAU8qK,gBAAkB,SAAUE,EAAa93J,GAC1E,IAAI+3J,EAAa/jC,IACbgkC,EAAQ9iC,EAAoB,IAAXl1H,EAAKlI,EAAU,iBAAmB,kBACvDkgK,EAAM7nG,aAAa,KAAM4nG,GACzBC,EAAM7nG,aAAa,eAAgB,OACnC6nG,EAAM7nG,aAAa,gBAAiB,kBACpC,IACI/7D,EACA0E,EACAksI,EAHA2yB,EAAQ,GAKZ,IADA3yB,EAAkB,EAAXhlI,EAAK2X,EAAEpf,EACTO,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB1E,EAAO8gI,EAAS,QAChB8iC,EAAM5nG,YAAYh8D,GAClBujK,EAAMrlK,KAAK8B,GAEb0jK,EAAY3nG,aAAyB,OAAZnwD,EAAK6a,GAAc,OAAS,SAAU,OAAS+2G,EAAe,IAAMmmC,EAAa,KAC1G3nK,KAAKqc,GAAKurJ,EACV5nK,KAAK6nK,IAAMN,GAGb3G,GAAyBlkK,UAAU+qK,mBAAqB,SAAU73J,EAAM8wJ,GACtE,GAAI1gK,KAAKunB,EAAEyhI,cAAgBhpJ,KAAKunB,EAAEuhI,aAAc,CAC9C,IAAI9kJ,EACA0E,EACAksI,EACAttH,EAAOw9G,EAAS,QAChB04B,EAAc14B,EAAS,QAC3Bx9G,EAAK04C,YAAYw9F,GACjB,IAAIsK,EAAYlkC,IACZwgC,EAASxgC,IACbt8G,EAAKy4C,aAAa,KAAMqkG,GACxB,IAAI2D,EAASjjC,EAAoB,IAAXl1H,EAAKlI,EAAU,iBAAmB,kBACxDqgK,EAAOhoG,aAAa,KAAM+nG,GAC1BC,EAAOhoG,aAAa,eAAgB,OACpCgoG,EAAOhoG,aAAa,gBAAiB,kBACrC60E,EAAOhlI,EAAK2X,EAAE9J,EAAEA,EAAE,GAAG7V,EAAIgI,EAAK2X,EAAE9J,EAAEA,EAAE,GAAG7V,EAAEnF,OAASmN,EAAK2X,EAAE9J,EAAEA,EAAEhb,OAC7D,IAAI8kK,EAAQvnK,KAAKunK,MACjB,IAAK7+J,EAAe,EAAXkH,EAAK2X,EAAEpf,EAAOO,EAAIksI,EAAMlsI,GAAK,GACpC1E,EAAO8gI,EAAS,SACX/kE,aAAa,aAAc,oBAChCgoG,EAAO/nG,YAAYh8D,GACnBujK,EAAMrlK,KAAK8B,GAEbw5J,EAAYz9F,aAAyB,OAAZnwD,EAAK6a,GAAc,OAAS,SAAU,OAAS+2G,EAAe,IAAMsmC,EAAY,KACzF,OAAZl4J,EAAK6a,KACP+yI,EAAYz9F,aAAa,iBAAkB0lE,EAAY71H,EAAKiiF,IAAM,IAClE2rE,EAAYz9F,aAAa,kBAAmB2lE,EAAa91H,EAAK8hG,IAAM,IACpD,IAAZ9hG,EAAK8hG,IACP8rD,EAAYz9F,aAAa,oBAAqBnwD,EAAKkqG,KAGvD95G,KAAKygG,GAAKsnE,EACV/nK,KAAKgoK,GAAK1gJ,EACVtnB,KAAKioK,IAAMV,EACXvnK,KAAKokK,OAASA,EACd1D,EAAQN,OAAS5C,IAIrB9uB,EAAgB,CAAC1J,GAA2B47B,IAa5ClyB,EAAgB,CAACkyB,GAA0B57B,GAA2B87B,IActE,IAAIoH,GAAuB,WACzB,IAAIC,EAAkB,IAAIxiC,EACtByiC,EAAgB,IAAIziC,EAMxB,SAAS0iC,EAAqBz4J,GAC5B,OAAQA,EAAK6a,IACX,IAAK,KACH,OAAO69I,EACT,IAAK,KACH,OAAOC,EACT,IAAK,KACH,OAAOC,EACT,IAAK,KACH,OAAOC,EACT,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,OAAOC,EACT,IAAK,KACH,OAAOC,EACT,QACE,OAAO,MAIb,SAASA,EAAuBC,EAAWC,EAAU/D,IAC/CA,GAAgB+D,EAAS/jI,UAAUwiF,GAAG+d,OACxCwjC,EAAS/jI,UAAUp7B,UAAUq2D,aAAa,UAAW8oG,EAAS/jI,UAAUwiF,GAAG3+G,IAEzEm8J,GAAgB+D,EAAS/jI,UAAUopH,OAAO7oB,OAC5CwjC,EAAS/jI,UAAUp7B,UAAUq2D,aAAa,YAAa8oG,EAAS/jI,UAAUopH,OAAOvlJ,EAAEshI,WAIvF,SAASy+B,EAAWE,EAAWC,EAAU/D,GACvC,IAAIp8J,EACAksI,EACAk0B,EACAC,EACA1a,EACAjmJ,EAGA69G,EACA+7B,EACAh9I,EACAgkK,EACAvrJ,EANAwrJ,EAAOJ,EAAS5uG,OAAOx3D,OACvBy9J,EAAM2I,EAAS3I,IAMnB,IAAK93J,EAAI,EAAGA,EAAI6gK,EAAM7gK,GAAK,EAAG,CAE5B,GADA2gK,EAASF,EAAS7+D,GAAGq7B,MAAQy/B,EACzB+D,EAAS5uG,OAAO7xD,GAAG83J,IAAMA,EAAK,CAIhC,IAHAle,EAAMomB,EAAc/lK,QACpB2mK,EAAa9I,EAAM2I,EAAS5uG,OAAO7xD,GAAG83J,IACtCziJ,EAAIorJ,EAASvI,aAAa79J,OAAS,GAC3BsmK,GAAUC,EAAa,GAC7BD,EAASF,EAASvI,aAAa7iJ,GAAGywI,OAAO7oB,MAAQ0jC,EACjDC,GAAc,EACdvrJ,GAAK,EAEP,GAAIsrJ,EAGF,IAFAC,EAAa9I,EAAM2I,EAAS5uG,OAAO7xD,GAAG83J,IACtCziJ,EAAIorJ,EAASvI,aAAa79J,OAAS,EAC5BumK,EAAa,GAClBhkK,EAAQ6jK,EAASvI,aAAa7iJ,GAAGywI,OAAOvlJ,EAAE3D,MAC1Cg9I,EAAIl9G,UAAU9/B,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,KAC/KgkK,GAAc,EACdvrJ,GAAK,OAITukI,EAAMmmB,EAIR,GADAvzB,GADA3uB,EAAQ4iD,EAAS7+D,GAAGic,OACP8P,QACTgzC,EAAQ,CAEV,IADAD,EAAwB,GACnBpgK,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,GACzB2lJ,EAAYpoC,EAAMsvB,OAAO7sI,KACR2lJ,EAAUt4B,UACzB+yC,GAAyB1a,GAAiBC,EAAWA,EAAUt4B,QAASs4B,EAAUnmJ,EAAG85I,IAGzF6mB,EAAS90G,OAAO3rD,GAAK0gK,OAErBA,EAAwBD,EAAS90G,OAAO3rD,GAE1CygK,EAAS5uG,OAAO7xD,GAAGJ,IAAsB,IAAjB4gK,EAAUtzE,GAAc,GAAKwzE,EACrDD,EAAS5uG,OAAO7xD,GAAGi9H,KAAO0jC,GAAUF,EAAS5uG,OAAO7xD,GAAGi9H,MAI3D,SAASijC,EAAWM,EAAWC,EAAU/D,GACvC,IAAIoE,EAAYL,EAAS90I,OAErB80I,EAAS3gK,EAAEm9H,MAAQy/B,IACrBoE,EAAU/I,MAAMpgG,aAAa,OAAQ,OAASiiE,EAAQ6mC,EAAS3gK,EAAES,EAAE,IAAM,IAAMq5H,EAAQ6mC,EAAS3gK,EAAES,EAAE,IAAM,IAAMq5H,EAAQ6mC,EAAS3gK,EAAES,EAAE,IAAM,MAEzIkgK,EAAS/gK,EAAEu9H,MAAQy/B,IACrBoE,EAAU/I,MAAMpgG,aAAa,eAAgB8oG,EAAS/gK,EAAEa,GAI5D,SAAS6/J,EAAqBI,EAAWC,EAAU/D,GACjDyD,EAAeK,EAAWC,EAAU/D,GACpC2D,EAAaG,EAAWC,EAAU/D,GAGpC,SAASyD,EAAeK,EAAWC,EAAU/D,GAC3C,IAmBIyC,EACA7kK,EACA8M,EACAxL,EAqCEqiJ,EA3DFuhB,EAAQiB,EAASxsJ,GACjB8sJ,EAAaN,EAASthJ,EAAEyhI,YACxB3f,EAAMw/B,EAASjhK,EAAEe,EACjB2gI,EAAMu/B,EAASrhK,EAAEmB,EAErB,GAAIkgK,EAAS/gK,EAAEu9H,MAAQy/B,EAAc,CACnC,IAAIj2B,EAAwB,OAAjB+5B,EAAUn+I,GAAc,eAAiB,iBACpDo+I,EAAS90I,MAAMosI,MAAMpgG,aAAa8uE,EAAMg6B,EAAS/gK,EAAEa,GAErD,GAAIkgK,EAASjhK,EAAEy9H,MAAQy/B,EAAc,CACnC,IAAIsE,EAAwB,IAAhBR,EAAUlhK,EAAU,KAAO,KACnC2hK,EAAkB,OAAVD,EAAiB,KAAO,KACpCxB,EAAM7nG,aAAaqpG,EAAO//B,EAAI,IAC9Bu+B,EAAM7nG,aAAaspG,EAAOhgC,EAAI,IAC1B8/B,IAAeN,EAASthJ,EAAEuhI,eAC5B+f,EAASpoE,GAAG1gC,aAAaqpG,EAAO//B,EAAI,IACpCw/B,EAASpoE,GAAG1gC,aAAaspG,EAAOhgC,EAAI,KAOxC,GAAIw/B,EAASthJ,EAAEqhI,OAASkc,EAAc,CACpCyC,EAAQsB,EAAShB,IACjB,IAAIyB,EAAUT,EAASthJ,EAAErf,EAEzB,IADAsH,EAAM+3J,EAAM9kK,OACPC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GACxBsB,EAAOujK,EAAM7kK,IACRq9D,aAAa,SAAUupG,EAAY,EAAJ5mK,GAAS,KAC7CsB,EAAK+7D,aAAa,aAAc,OAASupG,EAAY,EAAJ5mK,EAAQ,GAAK,IAAM4mK,EAAY,EAAJ5mK,EAAQ,GAAK,IAAM4mK,EAAY,EAAJ5mK,EAAQ,GAAK,KAGxH,GAAIymK,IAAeN,EAASthJ,EAAEshI,OAASic,GAAe,CACpD,IAAIyE,EAAUV,EAASthJ,EAAEzf,EAOzB,IADA0H,GAJE+3J,EADEsB,EAASthJ,EAAEuhI,aACL+f,EAAShB,IAETgB,EAASZ,KAEPxlK,OACPC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBsB,EAAOujK,EAAM7kK,GACRmmK,EAASthJ,EAAEuhI,cACd9kJ,EAAK+7D,aAAa,SAAUwpG,EAAY,EAAJ7mK,GAAS,KAE/CsB,EAAK+7D,aAAa,eAAgBwpG,EAAY,EAAJ7mK,EAAQ,IAGtD,GAAoB,IAAhBkmK,EAAUlhK,GACRmhK,EAASrhK,EAAE69H,MAAQy/B,KACrB8C,EAAM7nG,aAAa,KAAMupE,EAAI,IAC7Bs+B,EAAM7nG,aAAa,KAAMupE,EAAI,IACzB6/B,IAAeN,EAASthJ,EAAEuhI,eAC5B+f,EAASpoE,GAAG1gC,aAAa,KAAMupE,EAAI,IACnCu/B,EAASpoE,GAAG1gC,aAAa,KAAMupE,EAAI,WAYvC,IAPIu/B,EAASjhK,EAAEy9H,MAAQwjC,EAASrhK,EAAE69H,MAAQy/B,KACxCze,EAAMhzI,KAAK24B,KAAK34B,KAAKsE,IAAI0xH,EAAI,GAAKC,EAAI,GAAI,GAAKj2H,KAAKsE,IAAI0xH,EAAI,GAAKC,EAAI,GAAI,IACzEs+B,EAAM7nG,aAAa,IAAKsmF,GACpB8iB,IAAeN,EAASthJ,EAAEuhI,cAC5B+f,EAASpoE,GAAG1gC,aAAa,IAAKsmF,IAG9BwiB,EAASrhK,EAAE69H,MAAQwjC,EAAS//J,EAAEu8H,MAAQwjC,EAAShhK,EAAEw9H,MAAQy/B,EAAc,CACpEze,IACHA,EAAMhzI,KAAK24B,KAAK34B,KAAKsE,IAAI0xH,EAAI,GAAKC,EAAI,GAAI,GAAKj2H,KAAKsE,IAAI0xH,EAAI,GAAKC,EAAI,GAAI,KAE3E,IAAIkgC,EAAMn2J,KAAKssI,MAAMrW,EAAI,GAAKD,EAAI,GAAIC,EAAI,GAAKD,EAAI,IAE/C0I,EAAU82B,EAAS//J,EAAEH,EACrBopI,GAAW,EACbA,EAAU,IACDA,IAAY,IACrBA,GAAW,KAEb,IAAI03B,EAAOpjB,EAAMtU,EACbzpI,EAAI+K,KAAK2xB,IAAIwkI,EAAMX,EAAShhK,EAAEc,GAAK8gK,EAAOpgC,EAAI,GAC9CngI,EAAImK,KAAK8xB,IAAIqkI,EAAMX,EAAShhK,EAAEc,GAAK8gK,EAAOpgC,EAAI,GAClDu+B,EAAM7nG,aAAa,KAAMz3D,GACzBs/J,EAAM7nG,aAAa,KAAM72D,GACrBigK,IAAeN,EAASthJ,EAAEuhI,eAC5B+f,EAASpoE,GAAG1gC,aAAa,KAAMz3D,GAC/BugK,EAASpoE,GAAG1gC,aAAa,KAAM72D,KAOvC,SAASu/J,EAAaG,EAAWC,EAAU/D,GACzC,IAAIoE,EAAYL,EAAS90I,MACrB/rB,EAAI6gK,EAAS7gK,EACbA,IAAMA,EAAEq9H,MAAQy/B,IAAiB98J,EAAEugJ,UACrC2gB,EAAU/I,MAAMpgG,aAAa,mBAAoB/3D,EAAEugJ,SACnD2gB,EAAU/I,MAAMpgG,aAAa,oBAAqB/3D,EAAEygJ,WAAW,KAE7DogB,EAAS3gK,IAAM2gK,EAAS3gK,EAAEm9H,MAAQy/B,IACpCoE,EAAU/I,MAAMpgG,aAAa,SAAU,OAASiiE,EAAQ6mC,EAAS3gK,EAAES,EAAE,IAAM,IAAMq5H,EAAQ6mC,EAAS3gK,EAAES,EAAE,IAAM,IAAMq5H,EAAQ6mC,EAAS3gK,EAAES,EAAE,IAAM,MAE3IkgK,EAAS/gK,EAAEu9H,MAAQy/B,IACrBoE,EAAU/I,MAAMpgG,aAAa,iBAAkB8oG,EAAS/gK,EAAEa,IAExDkgK,EAASxrI,EAAEgoG,MAAQy/B,KACrBoE,EAAU/I,MAAMpgG,aAAa,eAAgB8oG,EAASxrI,EAAE10B,GACpDugK,EAAU9I,QACZ8I,EAAU9I,OAAOrgG,aAAa,eAAgB8oG,EAASxrI,EAAE10B,IAK/D,MA/NS,CACP0/J,qBAAsBA,GALC,GAwO3B,SAASqB,KACP1pK,KAAK2pK,UAAY,GACjB3pK,KAAK4pK,aAAe,GACpB5pK,KAAK6pK,oBAAsB,EA4D7B,SAASC,MA+DT,SAASlG,GAAYh0J,EAAMgxI,EAAYV,GACrClgJ,KAAKs8I,YACLt8I,KAAK6mK,aAAaj3J,EAAMgxI,EAAYV,GACpClgJ,KAAKs8I,YACLt8I,KAAKwlK,cAAc51J,EAAMgxI,EAAYV,GACrClgJ,KAAKqlK,gBA2BP,SAAS0E,MAgKT,SAASC,MA2ET,SAASC,MAqFT,SAASC,MAmGT,SAASnG,GAAcn0J,EAAMgxI,EAAYV,GACvClgJ,KAAK6wJ,UAAYjQ,EAAW0iB,aAAa1zJ,EAAKylI,OAC9Cr1I,KAAK4mK,YAAYh3J,EAAMgxI,EAAYV,GACnClgJ,KAAKmqK,WAAa,CAChBl2F,IAAK,EAAGt3C,KAAM,EAAGzG,MAAOl2B,KAAK6wJ,UAAUxzH,EAAGlH,OAAQn2B,KAAK6wJ,UAAU/nJ,GAwBrE,SAASm7J,GAAcr0J,EAAMgxI,EAAYV,GACvClgJ,KAAK4mK,YAAYh3J,EAAMgxI,EAAYV,GAiBrC,SAAS8hB,GAAapyJ,EAAMgxI,EAAYV,GACtClgJ,KAAKs8I,YACLt8I,KAAKgmK,iBACLhmK,KAAK6wJ,UAAYjQ,EAAW0iB,aAAa1zJ,EAAKylI,OAC9Cr1I,KAAK6mK,aAAaj3J,EAAMgxI,EAAYV,GACpClgJ,KAAKoqK,YAAa,EAClBpqK,KAAKqqK,UAAW,EAChB,IAAIjb,EAAYpvJ,KAAK4gJ,WAAWgQ,cAAc5wJ,KAAK6wJ,WACnD7wJ,KAAK+uJ,MAAQ/uJ,KAAK4gJ,WAAW6iB,gBAAgBtU,YAAYC,GACzDpvJ,KAAKsqK,aAAe,EACpBtqK,KAAK4gJ,WAAW6iB,gBAAgB3U,SAAS9uJ,MACzCA,KAAK48J,GAAKhtJ,EAAKgtJ,GAAKvgB,EAAgBuF,QAAQ5hJ,KAAM4P,EAAKgtJ,GAAI,EAAGhc,EAAW8B,UAAW1iJ,MAAQ,CAAEuqK,cAAc,GAwE9G,SAASvG,GAAep0J,EAAMgxI,EAAYV,GACxClgJ,KAAKy0I,OAAS7kI,EAAK6kI,OACnBz0I,KAAKwqK,YAAa,EAClBxqK,KAAKw0I,gBAAiB,EACtBx0I,KAAKm+J,gBAAkB,GACvBn+J,KAAK6sJ,SAAW7sJ,KAAKy0I,OAASnS,EAAiBtiI,KAAKy0I,OAAOhyI,QAAU,GAErEzC,KAAK4mK,YAAYh3J,EAAMgxI,EAAYV,GACnClgJ,KAAK48J,GAAKhtJ,EAAKgtJ,GAAKvgB,EAAgBuF,QAAQ5hJ,KAAM4P,EAAKgtJ,GAAI,EAAGhc,EAAW8B,UAAW1iJ,MAAQ,CAAEuqK,cAAc,GAQ9G,SAASzG,GAAqBl0J,EAAMgxI,EAAYV,GAC9ClgJ,KAAKyqK,UAAY,GACjBzqK,KAAKizJ,WAAa,MAClBjzJ,KAAK4mK,YAAYh3J,EAAMgxI,EAAYV,GA+NrC,SAAS2jB,GAAgBj0J,EAAMgxI,EAAYV,GAEzClgJ,KAAKu1I,OAAS,GAEdv1I,KAAK0qK,WAAa96J,EAAK2lI,OAEvBv1I,KAAK2qK,WAAa,GAElB3qK,KAAK4qK,eAAiB,GAEtB5qK,KAAK6qK,UAAY,GAEjB7qK,KAAK8qK,kBAAoB,GAEzB9qK,KAAK+qK,iBAAmB,GACxB/qK,KAAK4mK,YAAYh3J,EAAMgxI,EAAYV,GAGnClgJ,KAAKghK,aAAe,GA6TtB,SAASgK,GAAchkK,EAAQikK,GAC7BjrK,KAAKirK,cAAgBA,EACrB,IAAInY,EAAgBhuB,EAAS,iBAa7B,GAZAguB,EAAc/yF,aAAa,OAAQ,UACnC+yF,EAAc/yF,aAAa,8BAA+B,aAC1D+yF,EAAc/yF,aAAa,SAAU,wFACrC+yF,EAAc/yF,aAAa,SAAU,MACrC/4D,EAAOg5D,YAAY8yF,IACnBA,EAAgBhuB,EAAS,kBACX/kE,aAAa,OAAQ,UACnC+yF,EAAc/yF,aAAa,8BAA+B,QAC1D+yF,EAAc/yF,aAAa,SAAU,2CACrC+yF,EAAc/yF,aAAa,SAAU,MACrC/4D,EAAOg5D,YAAY8yF,GACnB9yJ,KAAKkrK,aAAepY,EACwB,MAAxCmY,EAAcE,eAAe,GAAGhjK,EAAEQ,GAAasiK,EAAcE,eAAe,GAAGhjK,EAAEsV,EAAG,CACtF,IAEI2tJ,EAFAC,EAAUvmC,EAAS,WACvB99H,EAAOg5D,YAAYqrG,IAEnBD,EAActmC,EAAS,gBACX/kE,aAAa,KAAM,iBAC/BsrG,EAAQrrG,YAAYorG,IACpBA,EAActmC,EAAS,gBACX/kE,aAAa,KAAM,MAC/BsrG,EAAQrrG,YAAYorG,IAexB,SAASE,GAActkK,EAAQikK,GAC7BjrK,KAAKirK,cAAgBA,EACrB,IAAInY,EAAgBhuB,EAAS,iBAC7BguB,EAAc/yF,aAAa,OAAQ,UACnC+yF,EAAc/yF,aAAa,8BAA+B,QAC1D+yF,EAAc/yF,aAAa,SAAU,2CACrC/4D,EAAOg5D,YAAY8yF,GACnB9yJ,KAAKkrK,aAAepY,EAYtB,SAASyY,GAAsBvkK,EAAQikK,GAErCjkK,EAAO+4D,aAAa,IAAK,SACzB/4D,EAAO+4D,aAAa,IAAK,SACzB/4D,EAAO+4D,aAAa,QAAS,QAC7B/4D,EAAO+4D,aAAa,SAAU,QAE9B//D,KAAKirK,cAAgBA,EACrB,IAAIO,EAAiB1mC,EAAS,kBAC9B99H,EAAOg5D,YAAYwrG,GACnBxrK,KAAKwrK,eAAiBA,EAgCxB,SAASC,GAAgB9qB,EAAMsqB,GAC7BjrK,KAAK0rK,aAAc,EACnB1rK,KAAKirK,cAAgBA,EACrBjrK,KAAK2gJ,KAAOA,EACZ3gJ,KAAKimH,MAAQ,GA6Gf,SAAS0lD,GAAiB3kK,EAAQikK,GAChCjrK,KAAKirK,cAAgBA,EACrB,IAAInY,EAAgBhuB,EAAS,iBAC7BguB,EAAc/yF,aAAa,OAAQ,UACnC+yF,EAAc/yF,aAAa,8BAA+B,aAC1D+yF,EAAc/yF,aAAa,SAAU,wFACrC+yF,EAAc/yF,aAAa,SAAU,MACrC/4D,EAAOg5D,YAAY8yF,GACnB,IAAI8Y,EAAsB9mC,EAAS,uBACnC8mC,EAAoB7rG,aAAa,8BAA+B,QAChE/4D,EAAOg5D,YAAY4rG,GACnB5rK,KAAKkrK,aAAeU,EACpB,IAAIC,EAAU/mC,EAAS,WACvB+mC,EAAQ9rG,aAAa,OAAQ,SAC7B6rG,EAAoB5rG,YAAY6rG,GAChC7rK,KAAK6rK,QAAUA,EACf,IAAIC,EAAUhnC,EAAS,WACvBgnC,EAAQ/rG,aAAa,OAAQ,SAC7B6rG,EAAoB5rG,YAAY8rG,GAChC9rK,KAAK8rK,QAAUA,EACf,IAAIC,EAAUjnC,EAAS,WACvBinC,EAAQhsG,aAAa,OAAQ,SAC7B6rG,EAAoB5rG,YAAY+rG,GAChC/rK,KAAK+rK,QAAUA,EAqBjB,SAASC,GAAmBhlK,EAAQikK,GAClCjrK,KAAKirK,cAAgBA,EACrB,IAAIE,EAAiBnrK,KAAKirK,cAAcE,eACpCS,EAAsB9mC,EAAS,wBAE/BqmC,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,KACzR3I,KAAK6rK,QAAU7rK,KAAKisK,aAAa,UAAWL,KAE1CT,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,KACzR3I,KAAK8rK,QAAU9rK,KAAKisK,aAAa,UAAWL,KAE1CT,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,KACzR3I,KAAK+rK,QAAU/rK,KAAKisK,aAAa,UAAWL,KAE1CT,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,GAAWwiK,EAAe,IAAIhjK,EAAEsV,GAAgC,IAA3B0tJ,EAAe,IAAIhjK,EAAEQ,KACzR3I,KAAKksK,QAAUlsK,KAAKisK,aAAa,UAAWL,KAG1C5rK,KAAK6rK,SAAW7rK,KAAK8rK,SAAW9rK,KAAK+rK,SAAW/rK,KAAKksK,WACvDN,EAAoB7rG,aAAa,8BAA+B,QAChE/4D,EAAOg5D,YAAY4rG,GACnBA,EAAsB9mC,EAAS,yBAG7BqmC,EAAe,GAAGhjK,EAAEsV,GAA+B,IAA1B0tJ,EAAe,GAAGhjK,EAAEQ,GAAWwiK,EAAe,GAAGhjK,EAAEsV,GAA+B,IAA1B0tJ,EAAe,GAAGhjK,EAAEQ,GAAWwiK,EAAe,GAAGhjK,EAAEsV,GAA+B,IAA1B0tJ,EAAe,GAAGhjK,EAAEQ,GAAWwiK,EAAe,GAAGhjK,EAAEsV,GAA+B,IAA1B0tJ,EAAe,GAAGhjK,EAAEQ,GAAWwiK,EAAe,GAAGhjK,EAAEsV,GAA+B,IAA1B0tJ,EAAe,GAAGhjK,EAAEQ,KAC/QijK,EAAoB7rG,aAAa,8BAA+B,QAChE/4D,EAAOg5D,YAAY4rG,GACnB5rK,KAAKmsK,gBAAkBnsK,KAAKisK,aAAa,UAAWL,GACpD5rK,KAAKosK,gBAAkBpsK,KAAKisK,aAAa,UAAWL,GACpD5rK,KAAKqsK,gBAAkBrsK,KAAKisK,aAAa,UAAWL,IAyExD,SAASU,GAAoBtlK,EAAQikK,GACnC,IAAI/M,EAAa+M,EAAcvhK,UAAUk3I,WAAW8c,aAAaQ,WACjEl3J,EAAO+4D,aAAa,IAAKm+F,EAAW51J,GACpCtB,EAAO+4D,aAAa,IAAKm+F,EAAWh1J,GACpClC,EAAO+4D,aAAa,QAASm+F,EAAWhoI,OACxClvB,EAAO+4D,aAAa,SAAUm+F,EAAW/nI,QACzCn2B,KAAKirK,cAAgBA,EAErB,IAAIO,EAAiB1mC,EAAS,kBAC9B0mC,EAAezrG,aAAa,KAAM,eAClCyrG,EAAezrG,aAAa,SAAU,iBACtCyrG,EAAezrG,aAAa,eAAgB,KAC5C//D,KAAKwrK,eAAiBA,EACtBxkK,EAAOg5D,YAAYwrG,GAEnB,IAAIe,EAAWznC,EAAS,YACxBynC,EAASxsG,aAAa,KAAM,MAC5BwsG,EAASxsG,aAAa,KAAM,KAC5BwsG,EAASxsG,aAAa,KAAM,iBAC5BwsG,EAASxsG,aAAa,SAAU,iBAChC//D,KAAKusK,SAAWA,EAChBvlK,EAAOg5D,YAAYusG,GACnB,IAAIC,EAAU1nC,EAAS,WACvB0nC,EAAQzsG,aAAa,cAAe,WACpCysG,EAAQzsG,aAAa,gBAAiB,KACtCysG,EAAQzsG,aAAa,SAAU,iBAC/B//D,KAAKwsK,QAAUA,EACfxlK,EAAOg5D,YAAYwsG,GAEnB,IAAIC,EAAc3nC,EAAS,eAC3B2nC,EAAY1sG,aAAa,KAAM,iBAC/B0sG,EAAY1sG,aAAa,MAAO,iBAChC0sG,EAAY1sG,aAAa,WAAY,MACrC0sG,EAAY1sG,aAAa,SAAU,iBACnC/4D,EAAOg5D,YAAYysG,GAEnB,IAEIrB,EAFAC,EAAUvmC,EAAS,WACvB99H,EAAOg5D,YAAYqrG,GAEnBD,EAActmC,EAAS,eACvBumC,EAAQrrG,YAAYorG,IACpBA,EAActmC,EAAS,gBACX/kE,aAAa,KAAM,iBAC/B//D,KAAKorK,YAAcA,EACnBprK,KAAKqrK,QAAUA,EACfrrK,KAAK0sK,mBAAoB,EACzBrB,EAAQrrG,YAAYorG,GAlpDtB1B,GAAsBhtK,UAAY,CAChCiwK,qBAAsB,SAAU7G,GAC9B,IAAIpjK,EACA8M,EAAMs2J,EAAWrjK,OACjBlF,EAAM,IACV,IAAKmF,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBnF,GAAOuoK,EAAWpjK,GAAGoiC,UAAUvnC,IAAM,IAEvC,IAAIqvK,EAAW5sK,KAAK2pK,UAAUpsK,GAU9B,OATKqvK,IACHA,EAAW,CACT9G,WAAY,GAAG7wJ,OAAO6wJ,GACtBd,eAAgB,IAAIr/B,EACpBN,MAAM,GAERrlI,KAAK2pK,UAAUpsK,GAAOqvK,EACtB5sK,KAAK4pK,aAAa1nK,KAAK0qK,IAElBA,GAETC,gBAAiB,SAAUD,EAAU9H,GAInC,IAHA,IAWM9/J,EAXFtC,EAAI,EACJ8M,EAAMo9J,EAAS9G,WAAWrjK,OAC1B4iI,EAAOy/B,EACJpiK,EAAI8M,IAAQs1J,GAAc,CAC/B,GAAI8H,EAAS9G,WAAWpjK,GAAGoiC,UAAUopH,OAAO7oB,KAAM,CAChDA,GAAO,EACP,MAEF3iI,GAAK,EAEP,GAAI2iI,EAGF,IADAunC,EAAS5H,eAAe3iK,QACnBK,EAAI8M,EAAM,EAAG9M,GAAK,EAAGA,GAAK,EAC7BsC,EAAQ4nK,EAAS9G,WAAWpjK,GAAGoiC,UAAUopH,OAAOvlJ,EAAE3D,MAClD4nK,EAAS5H,eAAelgI,UAAU9/B,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,KAGvM4nK,EAASvnC,KAAOA,GAElBynC,iBAAkB,SAAUhI,GAC1B,IAAIpiK,EACA8M,EAAMxP,KAAK4pK,aAAannK,OAC5B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK6sK,gBAAgB7sK,KAAK4pK,aAAalnK,GAAIoiK,IAG/CiI,UAAW,WAET,OADA/sK,KAAK6pK,qBAAuB,EACrB,IAAM7pK,KAAK6pK,sBAUtBC,GAAYptK,UAAY,CACtBswK,WAAY,WACV,IAAKhtK,KAAK4P,KAAKolI,QACb,OAAO,EAIT,IAFA,IAAItyI,EAAI,EACJ8M,EAAMxP,KAAK4P,KAAKslI,gBAAgBzyI,OAC7BC,EAAI8M,GAAK,CACd,GAA2C,MAAtCxP,KAAK4P,KAAKslI,gBAAgBxyI,GAAG2lC,OAAoD,IAApCroC,KAAK4P,KAAKslI,gBAAgBxyI,GAAGg6E,GAC7E,OAAO,EAETh6E,GAAK,EAEP,OAAO,GAETugK,gBAAiB,WACfjjK,KAAKitK,eAAiBC,yBAAyBltK,MAC3CA,KAAK4P,KAAKolI,SAAWh1I,KAAK41J,aAC5B51J,KAAKitK,eAAeE,sBAAsBntK,KAAK41J,aAEjD,IAAIwX,EAAmBC,2BAA2BC,uBAAuBttK,KAAMA,KAAKitK,gBACpFjtK,KAAKitK,eAAeM,yBAAyBH,GAExB,IAAjBptK,KAAK4P,KAAK6a,IAAYzqB,KAAK4P,KAAKozJ,GAClChjK,KAAKwtK,cAAgBC,wBAAwBztK,MACnB,IAAjBA,KAAK4P,KAAK6a,IACnBzqB,KAAKitK,eAAeS,eAAiBC,yBAAyB3tK,KAAK0qK,WAAY1qK,KAAK6qK,UAAW7qK,KAAKitK,gBACpGjtK,KAAKitK,eAAe1iK,QAAUvK,KAAKitK,eAAeS,gBACxB,IAAjB1tK,KAAK4P,KAAK6a,KACnBzqB,KAAKitK,eAAeW,cAAgBC,wBAAwB7tK,MAC5DA,KAAKitK,eAAer2H,KAAO52C,KAAKitK,eAAeW,gBAGnDE,aAAc,WACZ,IAAIC,EAAiBxoC,EAAavlI,KAAK4P,KAAKo+J,KACjChuK,KAAKknK,aAAelnK,KAAKy9J,cAE/B1pI,MAAM,kBAAoBg6I,GAEjClH,aAAc,SAAUj3J,EAAMgxI,EAAYV,GACxClgJ,KAAK4gJ,WAAaA,EAClB5gJ,KAAKkgJ,KAAOA,EACZlgJ,KAAK4P,KAAOA,EACZ5P,KAAK6+J,QAAUj7B,IAGV5jI,KAAK4P,KAAKq+J,KACbjuK,KAAK4P,KAAKq+J,GAAK,GAGjBjuK,KAAKkuK,eAAiB,IAAIC,GAAenuK,KAAK4P,KAAM5P,KAAMA,KAAKklI,oBAEjEkpC,QAAS,WACP,OAAOpuK,KAAKP,MAEdinK,iBAAkB,cAapB9C,GAAYlnK,UAAUioK,aAAe,SAAUj5I,GAC7C1rB,KAAKulK,kBAAkB75I,GAAK,IAG9Bk4I,GAAYlnK,UAAU+nK,YAAc,aAGpCb,GAAYlnK,UAAUkoK,eAAiB,WACrC,OAAO,MAGThB,GAAYlnK,UAAUoxG,QAAU,aAGhC81D,GAAYlnK,UAAUgqK,iBAAmB,aAGzC9C,GAAYlnK,UAAUi1E,KAAO,aAG7B+8D,EAAgB,CAACo7B,GAAalK,GAAkBF,GAAkBC,IAAeiE,IAOjFmG,GAAertK,UAAY,CACzBoqK,oBAAqB,WACnB9mK,KAAKy9J,aAAe34B,EAAS,MAE/BiiC,wBAAyB,WACvB/mK,KAAKquK,aAAevpC,EAAS,KAC7B9kI,KAAKsuK,mBAAqBtuK,KAAKy9J,aAC/Bz9J,KAAKw/J,cAAgBx/J,KAAKy9J,aAC1Bz9J,KAAKuuK,cAAe,EACpB,IAEI7b,EACAE,EACAnuD,EAJA+pE,EAAqB,KAKzB,GAAIxuK,KAAK4P,KAAKsnF,IACZ,GAAoB,GAAhBl3F,KAAK4P,KAAKsnF,IAA2B,GAAhBl3F,KAAK4P,KAAKsnF,GAAS,CAC1C,IAAIu3E,EAAS3pC,EAAS,QACtB2pC,EAAO1uG,aAAa,KAAM//D,KAAK6+J,SAC/B4P,EAAO1uG,aAAa,YAA6B,GAAhB//D,KAAK4P,KAAKsnF,GAAU,YAAc,SACnEu3E,EAAOzuG,YAAYhgE,KAAKy9J,cACxB+Q,EAAqBC,EACrBzuK,KAAK4gJ,WAAWnG,KAAKz6E,YAAYyuG,GAE5Bnc,GAAeC,UAA4B,GAAhBvyJ,KAAK4P,KAAKsnF,KACxCu3E,EAAO1uG,aAAa,YAAa,aACjC2yF,EAAQ9uB,IACRgvB,EAAMJ,GAAeC,aAAaC,GAClC1yJ,KAAK4gJ,WAAWnG,KAAKz6E,YAAY4yF,GACjCA,EAAI5yF,YAAYwyF,GAAeK,iCAC/BpuD,EAAKqgC,EAAS,MACX9kE,YAAYhgE,KAAKy9J,cACpB+Q,EAAqB/pE,EACrBgqE,EAAOzuG,YAAYykC,GACnBA,EAAG1kC,aAAa,SAAU,OAASyhE,EAAe,IAAMkxB,EAAQ,WAE7D,GAAoB,GAAhB1yJ,KAAK4P,KAAKsnF,GAAS,CAC5B,IAAIw3E,EAAY5pC,EAAS,QACzB4pC,EAAU3uG,aAAa,KAAM//D,KAAK6+J,SAClC6P,EAAU3uG,aAAa,YAAa,SACpC,IAAI4uG,EAAc7pC,EAAS,KAC3B4pC,EAAU1uG,YAAY2uG,GACtBjc,EAAQ9uB,IACRgvB,EAAMJ,GAAeC,aAAaC,GAUlC,IAAIkc,EAAQ9pC,EAAS,uBACrB8pC,EAAM7uG,aAAa,KAAM,iBACzB6yF,EAAI5yF,YAAY4uG,GAChB,IAAIC,EAAS/pC,EAAS,WACtB+pC,EAAO9uG,aAAa,OAAQ,SAC5B8uG,EAAO9uG,aAAa,cAAe,WACnC6uG,EAAM5uG,YAAY6uG,GAElB7uK,KAAK4gJ,WAAWnG,KAAKz6E,YAAY4yF,GACjC,IAAIkc,EAAYhqC,EAAS,QACzBgqC,EAAU/uG,aAAa,QAAS//D,KAAKkgJ,KAAKtwI,KAAKytB,GAC/CyxI,EAAU/uG,aAAa,SAAU//D,KAAKkgJ,KAAKtwI,KAAK9G,GAChDgmK,EAAU/uG,aAAa,IAAK,KAC5B+uG,EAAU/uG,aAAa,IAAK,KAC5B+uG,EAAU/uG,aAAa,OAAQ,WAC/B+uG,EAAU/uG,aAAa,UAAW,KAClC4uG,EAAY5uG,aAAa,SAAU,OAASyhE,EAAe,IAAMkxB,EAAQ,KACzEic,EAAY3uG,YAAY8uG,GACxBH,EAAY3uG,YAAYhgE,KAAKy9J,cAC7B+Q,EAAqBG,EAChBrc,GAAeC,WAClBmc,EAAU3uG,aAAa,YAAa,aACpC6yF,EAAI5yF,YAAYwyF,GAAeK,gCAC/BpuD,EAAKqgC,EAAS,KACd6pC,EAAY3uG,YAAY8uG,GACxBrqE,EAAGzkC,YAAYhgE,KAAKy9J,cACpB+Q,EAAqB/pE,EACrBkqE,EAAY3uG,YAAYykC,IAE1BzkG,KAAK4gJ,WAAWnG,KAAKz6E,YAAY0uG,SAE1B1uK,KAAK4P,KAAKmlI,IACnB/0I,KAAKquK,aAAaruG,YAAYhgE,KAAKy9J,cACnC+Q,EAAqBxuK,KAAKquK,aAC1BruK,KAAKknK,YAAclnK,KAAKquK,cAExBruK,KAAKknK,YAAclnK,KAAKy9J,aAS1B,GAPIz9J,KAAK4P,KAAKm/J,IACZ/uK,KAAKy9J,aAAa19F,aAAa,KAAM//D,KAAK4P,KAAKm/J,IAE7C/uK,KAAK4P,KAAK8sE,IACZ18E,KAAKy9J,aAAa19F,aAAa,QAAS//D,KAAK4P,KAAK8sE,IAG/B,IAAjB18E,KAAK4P,KAAK6a,KAAazqB,KAAK4P,KAAK0lF,GAAI,CACvC,IAAI05E,EAAKlqC,EAAS,YACdiE,EAAKjE,EAAS,QAClBiE,EAAGhpE,aAAa,IAAK,SAAW//D,KAAK4P,KAAKytB,EAAI,OAASr9B,KAAK4P,KAAKytB,EAAI,IAAMr9B,KAAK4P,KAAK9G,EAAI,OAAS9I,KAAK4P,KAAK9G,EAAI,KAChH,IAAImmK,EAASrrC,IAKb,GAJAorC,EAAGjvG,aAAa,KAAMkvG,GACtBD,EAAGhvG,YAAY+oE,GACf/oI,KAAK4gJ,WAAWnG,KAAKz6E,YAAYgvG,GAE7BhvK,KAAKgtK,aAAc,CACrB,IAAIkC,EAAUpqC,EAAS,KACvBoqC,EAAQnvG,aAAa,YAAa,OAASyhE,EAAe,IAAMytC,EAAS,KACzEC,EAAQlvG,YAAYhgE,KAAKy9J,cACzBz9J,KAAKsuK,mBAAqBY,EACtBV,EACFA,EAAmBxuG,YAAYhgE,KAAKsuK,oBAEpCtuK,KAAKknK,YAAclnK,KAAKsuK,wBAG1BtuK,KAAKy9J,aAAa19F,aAAa,YAAa,OAASyhE,EAAe,IAAMytC,EAAS,KAGlE,IAAjBjvK,KAAK4P,KAAKo+J,IACZhuK,KAAK8tK,gBAGT3G,cAAe,WACTnnK,KAAKglK,eAAeS,SACtBzlK,KAAKsuK,mBAAmBvuG,aAAa,YAAa//D,KAAKglK,eAAehjB,IAAI/X,WAExEjqI,KAAKglK,eAAeU,QACtB1lK,KAAKsuK,mBAAmBvuG,aAAa,UAAW//D,KAAKglK,eAAeC,MAAMn9J,EAAEa,IAGhF2+J,mBAAoB,WAClBtnK,KAAKy9J,aAAe,KACpBz9J,KAAKquK,aAAe,KACpBruK,KAAK41J,YAAY9nD,WAEnB82D,eAAgB,WACd,OAAI5kK,KAAK4P,KAAK0lF,GACL,KAEFt1F,KAAKknK,aAEdF,2BAA4B,WAC1BhnK,KAAK41J,YAAc,IAAI0I,GAAYt+J,KAAK4P,KAAM5P,KAAMA,KAAK4gJ,YACzD5gJ,KAAKmvK,yBAA2B,IAAIC,GAAWpvK,OAEjDukK,SAAU,SAAUn7J,GACbpJ,KAAKquK,cAGVruK,KAAKquK,aAAatuG,aAAa,OAAQ,OAASyhE,EAAe,IAAMp4H,EAAK,OAS9E4gK,GAActtK,UAAY,CACxB2yK,oBAAqB,SAAUz/J,GAC7B,IAAIlN,EACA8M,EAAMxP,KAAK4qK,eAAenoK,OAC9B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK4qK,eAAeloK,GAAG0iJ,SAASx1I,IAGpC0/J,2BAA4B,SAAU1/J,GAGpC,IAFA,IAAIlN,EAAI,EACJ8M,EAAMxP,KAAK4qK,eAAenoK,OACvBC,EAAI8M,GACT,GAAIxP,KAAK4qK,eAAeloK,GAAG6sK,oBAAoB3/J,GAC7C,OAAO,EAGX,OAAO,GAET4/J,gBAAiB,WACf,GAAKxvK,KAAK4qK,eAAenoK,OAAzB,CAGA,IAAIC,EACA8M,EAAMxP,KAAKu1I,OAAO9yI,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKu1I,OAAO7yI,GAAGsnG,GAAG3nG,QAKpB,IAAKK,GAFL8M,EAAMxP,KAAK4qK,eAAenoK,QAEX,EAAGC,GAAK,IACA1C,KAAK4qK,eAAeloK,GAAGunJ,cAAcjqJ,KAAKghJ,eADvCt+I,GAAK,MAUjC+sK,uBAAwB,SAAU9uB,GAIhC,IAHA,IAAIkM,EAAW7sJ,KAAK8qK,kBAChBpoK,EAAI,EACJ8M,EAAMq9I,EAASpqJ,OACZC,EAAI8M,GAAK,CACd,GAAIq9I,EAASnqJ,GAAGi+I,OAASA,EACvB,OAAOkM,EAASnqJ,GAAGyS,IAErBzS,GAAK,EAEP,OAAO,GAETgtK,oBAAqB,SAAU/uB,EAAMxrI,GAGnC,IAFA,IAAI03I,EAAW7sJ,KAAK8qK,kBAChBpoK,EAAImqJ,EAASpqJ,OACVC,GAEL,GAAImqJ,EADJnqJ,GAAK,GACWi+I,OAASA,EAEvB,YADAkM,EAASnqJ,GAAGyS,IAAMA,GAItB03I,EAAS3qJ,KAAK,IAAI69J,GAAiBpf,EAAMxrI,KAE3CwvJ,aAAc,SAAUj5I,GACtB1rB,KAAKsmK,uBAAuB56I,GAC5B1rB,KAAKulK,kBAAkB75I,EAAK1rB,KAAKimK,aASrCgE,GAAavtK,UAAUkqK,YAAc,SAAUh3J,EAAMgxI,EAAYV,GAC/DlgJ,KAAK4zJ,oBAAqB,EAC1B5zJ,KAAKs8I,YACLt8I,KAAK6mK,aAAaj3J,EAAMgxI,EAAYV,GACpClgJ,KAAKs7J,aAAe,IAAIhH,GAAat0J,KAAM4P,EAAKlI,EAAG1H,KAAKklI,mBACxDllI,KAAK2vK,aAAe,IAAI5c,GAAqBnjJ,EAAKlI,EAAG1H,KAAKizJ,WAAYjzJ,MACtEA,KAAKwlK,cAAc51J,EAAMgxI,EAAYV,GACrClgJ,KAAKqlK,gBACLrlK,KAAKgmK,iBACLhmK,KAAK8mK,sBACL9mK,KAAK+mK,0BACL/mK,KAAKgnK,6BACLhnK,KAAKinK,gBACLjnK,KAAK2xE,OACL3xE,KAAK2vK,aAAaha,iBAAiB31J,KAAKklI,oBAG1C+kC,GAAavtK,UAAUioK,aAAe,SAAUj5I,GAC9C1rB,KAAKqlI,MAAO,EACZrlI,KAAKsmK,uBAAuB56I,GAC5B1rB,KAAKulK,kBAAkB75I,EAAK1rB,KAAKimK,YAC7BjmK,KAAKs7J,aAAaj2B,MAAQrlI,KAAKs7J,aAAata,iBAC9ChhJ,KAAK4vK,eACL5vK,KAAKs7J,aAAata,eAAgB,EAClChhJ,KAAKs7J,aAAaj2B,MAAO,IAI7B4kC,GAAavtK,UAAUmzK,gBAAkB,SAAUpZ,EAAclhB,GAC/D,IAAI7sI,EAEA2lJ,EADAzZ,EAAOW,EAAO9yI,OAEdqtK,EAAW,GACf,IAAKpnK,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzB2lJ,EAAY9Y,EAAO7sI,GAAGgtI,GAAGj4H,EACzBqyJ,GAAY1hB,GAAiBC,EAAWA,EAAU3rJ,EAAED,QAAQ,EAAMg0J,GAEpE,OAAOqZ,GAGT7F,GAAavtK,UAAUi+J,mBAAqB,SAAUhlG,EAAS1rD,GAC7DjK,KAAKs7J,aAAaX,mBAAmBhlG,EAAS1rD,IAGhDggK,GAAavtK,UAAUo+J,cAAgB,SAAUC,GAC/C/6J,KAAKs7J,aAAaR,cAAcC,IAGlCkP,GAAavtK,UAAUs+J,mBAAqB,SAAU+U,GACpD/vK,KAAKs7J,aAAaN,mBAAmB+U,IAGvC9F,GAAavtK,UAAUszK,4BAA8B,SAAU95B,EAAcugB,EAAcwZ,EAAYla,EAAMC,GAK3G,OAJI9f,EAAa+e,IACfwB,EAAaxvB,UAAUiP,EAAa+e,GAAG,GAAI/e,EAAa+e,GAAG,GAAK/e,EAAaye,OAAQ,GAEvF8B,EAAaxvB,UAAU,GAAIiP,EAAa8e,GAAI,GACpC9e,EAAaxtI,GACnB,KAAK,EACH+tJ,EAAaxvB,UAAUiP,EAAa4e,eAAiB5e,EAAa0e,SAAW1e,EAAa6e,WAAWkb,IAAc,EAAG,GACtH,MACF,KAAK,EACHxZ,EAAaxvB,UAAUiP,EAAa4e,eAAiB5e,EAAa0e,SAAW1e,EAAa6e,WAAWkb,IAAe,EAAG,EAAG,GAK9HxZ,EAAaxvB,UAAU8uB,EAAMC,EAAM,IAGrCiU,GAAavtK,UAAUwzK,WAAa,SAAUC,GAC5C,MAAO,OAAS98J,KAAK2yB,MAAqB,IAAfmqI,EAAU,IAAY,IAAM98J,KAAK2yB,MAAqB,IAAfmqI,EAAU,IAAY,IAAM98J,KAAK2yB,MAAqB,IAAfmqI,EAAU,IAAY,KAGjIlG,GAAavtK,UAAU0zK,UAAY,IAAI/b,GAEvC4V,GAAavtK,UAAUoxG,QAAU,aAQjC4gC,EAAgB,CAACo7B,GAAalK,GAAkBF,GAAkBC,GAAcG,IAAuBoK,IAEvGA,GAAaxtK,UAAUkqK,YAAc,SAAUh3J,EAAMgxI,EAAYV,GAC/DlgJ,KAAKs8I,YACLt8I,KAAK6mK,aAAaj3J,EAAMgxI,EAAYV,GACpClgJ,KAAKwlK,cAAc51J,EAAMgxI,EAAYV,GACrClgJ,KAAKgmK,iBACLhmK,KAAKqlK,gBACLrlK,KAAK8mK,sBACL9mK,KAAK+mK,0BACL/mK,KAAKgnK,8BACDhnK,KAAK4P,KAAKozJ,IAAOpiB,EAAWkd,iBAC9B99J,KAAKkiK,gBAEPliK,KAAK2xE,QAePu4F,GAAaxtK,UAAUioK,aAAe,SAAUj5I,GAI9C,GAHA1rB,KAAKqlI,MAAO,EACZrlI,KAAKsmK,uBAAuB56I,GAC5B1rB,KAAKulK,kBAAkB75I,EAAK1rB,KAAKimK,WAC5BjmK,KAAKimK,WAAcjmK,KAAK4P,KAAKozJ,GAAlC,CAIA,GAAKhjK,KAAK48J,GAAG2N,aAOXvqK,KAAKmgJ,cAAgBz0H,EAAM1rB,KAAK4P,KAAKq+J,OAPZ,CACzB,IAAIoC,EAAerwK,KAAK48J,GAAGj0J,EACvB0nK,IAAiBrwK,KAAK4P,KAAK03G,KAC7B+oD,EAAerwK,KAAK4P,KAAK03G,GAAK,GAEhCtnH,KAAKmgJ,cAAgBkwB,EAIvB,IAAI3tK,EACA8M,EAAMxP,KAAK6sJ,SAASpqJ,OAKxB,IAJKzC,KAAKw0I,gBACRx0I,KAAKkhK,YAAYlhK,KAAKmgJ,eAGnBz9I,EAAI8M,EAAM,EAAG9M,GAAK,EAAGA,GAAK,GACzB1C,KAAKw0I,gBAAkBx0I,KAAK6sJ,SAASnqJ,MACvC1C,KAAK6sJ,SAASnqJ,GAAGiiK,aAAa3kK,KAAKmgJ,cAAgBngJ,KAAKy0I,OAAO/xI,GAAG++I,IAC9DzhJ,KAAK6sJ,SAASnqJ,GAAG2iI,OACnBrlI,KAAKqlI,MAAO,MAMpB6kC,GAAaxtK,UAAU0qK,mBAAqB,WAC1C,IAAI1kK,EACA8M,EAAMxP,KAAKy0I,OAAOhyI,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GACpB1C,KAAKw0I,gBAAkBx0I,KAAK6sJ,SAASnqJ,KACvC1C,KAAK6sJ,SAASnqJ,GAAG+hK,eAKvByF,GAAaxtK,UAAU4zK,YAAc,SAAU5iB,GAC7C1tJ,KAAK6sJ,SAAWa,GAGlBwc,GAAaxtK,UAAU6zK,YAAc,WACnC,OAAOvwK,KAAK6sJ,UAGdqd,GAAaxtK,UAAU8zK,gBAAkB,WACvC,IAAI9tK,EACA8M,EAAMxP,KAAKy0I,OAAOhyI,OACtB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACpB1C,KAAK6sJ,SAASnqJ,IAChB1C,KAAK6sJ,SAASnqJ,GAAGorG,WAKvBo8D,GAAaxtK,UAAUoxG,QAAU,WAC/B9tG,KAAKwwK,kBACLxwK,KAAKsnK,sBAaP54B,EAAgB,CAACo7B,GAAalK,GAAkBmK,GAAgBrK,GAAkBC,GAAcG,IAAuBiE,IAEvHA,GAAcrnK,UAAUuqK,cAAgB,WACtC,IAAI7X,EAAYpvJ,KAAK4gJ,WAAWgQ,cAAc5wJ,KAAK6wJ,WAEnD7wJ,KAAKqnK,UAAYviC,EAAS,SAC1B9kI,KAAKqnK,UAAUtnG,aAAa,QAAS//D,KAAK6wJ,UAAUxzH,EAAI,MACxDr9B,KAAKqnK,UAAUtnG,aAAa,SAAU//D,KAAK6wJ,UAAU/nJ,EAAI,MACzD9I,KAAKqnK,UAAUtnG,aAAa,sBAAuB//D,KAAK6wJ,UAAU4f,IAAMzwK,KAAK4gJ,WAAW8c,aAAaE,0BACrG59J,KAAKqnK,UAAUxhF,eAAe,+BAAgC,OAAQupE,GAEtEpvJ,KAAKy9J,aAAaz9F,YAAYhgE,KAAKqnK,YAGrCtD,GAAcrnK,UAAUgqK,iBAAmB,WACzC,OAAO1mK,KAAKmqK,YAQdz7B,EAAgB,CAACq1B,IAAgBE,IAEjCA,GAAcvnK,UAAUuqK,cAAgB,WACtC,IAAI3zC,EAAOwR,EAAS,QAIpBxR,EAAKvzD,aAAa,QAAS//D,KAAK4P,KAAKqkJ,IACrC3gC,EAAKvzD,aAAa,SAAU//D,KAAK4P,KAAKo6F,IACtCspB,EAAKvzD,aAAa,OAAQ//D,KAAK4P,KAAKsiF,IACpClyF,KAAKy9J,aAAaz9F,YAAYszD,IAmBhC0uC,GAAatlK,UAAUioK,aAAe,SAAUj5I,GAG9C,GAFA1rB,KAAKsmK,uBAAuB56I,GAAK,GACjC1rB,KAAKulK,kBAAkB75I,GAAK,GACvB1rB,KAAK48J,GAAG2N,aAIXvqK,KAAKsqK,aAAe5+I,EAAM1rB,KAAK4P,KAAKq+J,OAJX,CACzB,IAAIoC,EAAerwK,KAAK48J,GAAGj0J,EAC3B3I,KAAKsqK,aAAe+F,IAMxB3hC,EAAgB,CAACmxB,GAAmBiK,GAAanK,IAAeqC,IAEhEA,GAAatlK,UAAU+nK,YAAc,WAC/BzkK,KAAKimK,WAAajmK,KAAKqqK,WACpBrqK,KAAKoqK,aAIEpqK,KAAK+uJ,MAAMU,WAClBp8I,KAAKssB,IAAI3/B,KAAKsqK,aAAetqK,KAAK4gJ,WAAW8B,UAAY1iJ,KAAK+uJ,MAAMS,QAAU,KAEjFxvJ,KAAK+uJ,MAAMS,KAAKxvJ,KAAKsqK,aAAetqK,KAAK4gJ,WAAW8B,YANpD1iJ,KAAK+uJ,MAAMQ,OACXvvJ,KAAK+uJ,MAAMS,KAAKxvJ,KAAKsqK,aAAetqK,KAAK4gJ,WAAW8B,WACpD1iJ,KAAKoqK,YAAa,KASxBpI,GAAatlK,UAAUw1E,KAAO,aAI9B8vF,GAAatlK,UAAUi1E,KAAO,WAC5B3xE,KAAK+uJ,MAAMC,QACXhvJ,KAAKoqK,YAAa,GAGpBpI,GAAatlK,UAAUsyJ,MAAQ,WAC7BhvJ,KAAK+uJ,MAAMC,QACXhvJ,KAAKoqK,YAAa,EAClBpqK,KAAKqqK,UAAW,GAGlBrI,GAAatlK,UAAUmrH,OAAS,WAC9B7nH,KAAKqqK,UAAW,GAGlBrI,GAAatlK,UAAUuyJ,QAAU,SAAUC,GACzClvJ,KAAK+uJ,MAAMW,KAAKR,IAGlB8S,GAAatlK,UAAUuzJ,OAAS,SAAUygB,GACxC1wK,KAAK+uJ,MAAMkB,OAAOygB,IAGpB1O,GAAatlK,UAAUkoK,eAAiB,WACtC,OAAO,MAGT5C,GAAatlK,UAAUoxG,QAAU,aAGjCk0D,GAAatlK,UAAUgqK,iBAAmB,aAG1C1E,GAAatlK,UAAUumK,gBAAkB,aAgBzCv0B,EAAgB,CAACuuB,GAAaiN,GAAcH,IAAiB/F,IAW7Dt1B,EAAgB,CAACo7B,GAAalK,GAAkBmK,GAAgBrK,GAAkBC,GAAcG,GAAsBmK,IAAenG,IAErIA,GAAqBpnK,UAAUuqK,cAAgB,WACzCjnK,KAAK4P,KAAKonI,cAAgBh3I,KAAK4gJ,WAAW4Y,YAAYziH,QACxD/2C,KAAK2wK,cAAgB7rC,EAAS,UAIlCg/B,GAAqBpnK,UAAUk0K,kBAAoB,SAAUC,GAK3D,IAJA,IAAInuK,EAAI,EACJ8M,EAAMqhK,EAAUpuK,OAChBquK,EAAe,GACfC,EAAqB,GAClBruK,EAAI8M,GACLqhK,EAAUnuK,KAAO8O,OAAOyC,aAAa,KAAO48J,EAAUnuK,KAAO8O,OAAOyC,aAAa,IACnF68J,EAAa5uK,KAAK6uK,GAClBA,EAAqB,IAErBA,GAAsBF,EAAUnuK,GAElCA,GAAK,EAGP,OADAouK,EAAa5uK,KAAK6uK,GACXD,GAGThN,GAAqBpnK,UAAUkzK,aAAe,WAC5C,IAAIltK,EACA8M,EAEA0mI,EAAel2I,KAAKs7J,aAAa5G,YACrC10J,KAAK2zJ,gBAAkBrxB,EAAiB4T,EAAeA,EAAa9tI,EAAE3F,OAAS,GAC3EyzI,EAAahlD,GACflxF,KAAKy9J,aAAa19F,aAAa,OAAQ//D,KAAKkwK,WAAWh6B,EAAahlD,KAEpElxF,KAAKy9J,aAAa19F,aAAa,OAAQ,iBAErCm2E,EAAahkD,KACflyF,KAAKy9J,aAAa19F,aAAa,SAAU//D,KAAKkwK,WAAWh6B,EAAahkD,KACtElyF,KAAKy9J,aAAa19F,aAAa,eAAgBm2E,EAAa+d,KAE9Dj0J,KAAKy9J,aAAa19F,aAAa,YAAam2E,EAAamf,WACzD,IAAIpd,EAAWj4I,KAAK4gJ,WAAW4Y,YAAYje,cAAcrF,EAAattI,GACtE,GAAIqvI,EAASsC,OACXv6I,KAAKy9J,aAAa19F,aAAa,QAASk4E,EAASsC,YAC5C,CACLv6I,KAAKy9J,aAAa19F,aAAa,cAAek4E,EAASqC,SACvD,IAAInC,EAAUjC,EAAaiC,QACvBD,EAAShC,EAAagC,OAC1Bl4I,KAAKy9J,aAAa19F,aAAa,aAAcm4E,GAC7Cl4I,KAAKy9J,aAAa19F,aAAa,cAAeo4E,GAEhDn4I,KAAKy9J,aAAa19F,aAAa,aAAcm2E,EAAaxuI,GAE1D,IAIIspK,EAJApa,EAAU1gB,EAAa9tI,GAAK,GAC5B6oK,IAAejxK,KAAK4gJ,WAAW4Y,YAAYziH,MAC/CvnC,EAAMonJ,EAAQn0J,OAGd,IACI8yI,EADAkhB,EAAez2J,KAAK02J,QAEpBoZ,EAAW,GACX94B,EAAch3I,KAAK4P,KAAKonI,YACxB+e,EAAO,EACPC,EAAO,EACPgB,GAAY,EACZ8C,EAAmC,KAAlB5jB,EAAa2V,GAAa3V,EAAamf,UAC5D,IAAIre,GAAgBi6B,GAAe/6B,EAAanP,GA+BzC,CACL,IACI4J,EACA4oB,EAFA2X,EAAoBlxK,KAAKyqK,UAAUhoK,OAGvC,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACnBuuK,GAAej6B,GAAqB,IAANt0I,IACjCsuK,EAAQE,EAAoBxuK,EAAI1C,KAAKyqK,UAAU/nK,GAAKoiI,EAASmsC,EAAa,OAAS,QAC/EC,GAAqBxuK,IACvBsuK,EAAMjxG,aAAa,iBAAkB,QACrCixG,EAAMjxG,aAAa,kBAAmB,SACtCixG,EAAMjxG,aAAa,oBAAqB,KACxC//D,KAAKyqK,UAAU/nK,GAAKsuK,EACpBhxK,KAAKy9J,aAAaz9F,YAAYgxG,IAEhCA,EAAMj9I,MAAM6hF,QAAU,WAGxB6gD,EAAap0J,QACbo0J,EAAa3vB,MAAMoP,EAAamf,UAAY,IAAKnf,EAAamf,UAAY,KACtEre,IACE4f,EAAQl0J,GAAGqF,IACbguJ,GAAQ+D,EACR9D,GAAQ9f,EAAatY,QACrBo4B,GAAQgB,EAAY,EAAI,EACxBA,GAAY,GAEdh3J,KAAKgwK,4BAA4B95B,EAAcugB,EAAcG,EAAQl0J,GAAG21C,KAAM09G,EAAMC,GACpFD,GAAQa,EAAQl0J,GAAG0F,GAAK,EAExB2tJ,GAAQ+D,GAENmX,GAGF17B,GADA5E,GADA4oB,EAAWv5J,KAAK4gJ,WAAW4Y,YAAYre,YAAYjF,EAAaof,UAAU5yJ,GAAIu1I,EAASC,OAAQl4I,KAAK4gJ,WAAW4Y,YAAYje,cAAcrF,EAAattI,GAAG0xI,WAChIif,EAAS3pJ,MAAS,IACxB2lI,OAAS5E,EAAU4E,OAAO,GAAG96H,GAAK,GAChDu8H,EAGH84B,GAAY9vK,KAAK6vK,gBAAgBpZ,EAAclhB,GAF/Cy7B,EAAMjxG,aAAa,IAAK//D,KAAK6vK,gBAAgBpZ,EAAclhB,MAKzDyB,GACFg6B,EAAMjxG,aAAa,YAAa,aAAe02F,EAAazxJ,MAAM,IAAM,IAAMyxJ,EAAazxJ,MAAM,IAAM,KAEzGgsK,EAAM9xF,YAAc03E,EAAQl0J,GAAG6E,IAC/BypK,EAAMnrF,eAAe,uCAAwC,YAAa,aAI1EmxD,GAAeg6B,GACjBA,EAAMjxG,aAAa,IAAK+vG,OAjFwB,CAClD,IAAIqB,EAAWnxK,KAAK2wK,cAChBS,EAAU,QACd,OAAQl7B,EAAaxtI,GACnB,KAAK,EACH0oK,EAAU,MACV,MACF,KAAK,EACHA,EAAU,SACV,MACF,QACEA,EAAU,QAGdD,EAASpxG,aAAa,cAAeqxG,GACrCD,EAASpxG,aAAa,iBAAkB+5F,GACxC,IAAI56E,EAAcl/E,KAAK4wK,kBAAkB16B,EAAaof,WAGtD,IAFA9lJ,EAAM0vE,EAAYz8E,OAClBuzJ,EAAO9f,EAAa+e,GAAK/e,EAAa+e,GAAG,GAAK/e,EAAaye,OAAS,EAC/DjyJ,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GACxBsuK,EAAQhxK,KAAKyqK,UAAU/nK,IAAMoiI,EAAS,UAChC5lD,YAAcA,EAAYx8E,GAChCsuK,EAAMjxG,aAAa,IAAK,GACxBixG,EAAMjxG,aAAa,IAAKi2F,GACxBgb,EAAMj9I,MAAM6hF,QAAU,UACtBu7D,EAASnxG,YAAYgxG,GACrBhxK,KAAKyqK,UAAU/nK,GAAKsuK,EACpBhb,GAAQ9f,EAAaqf,gBAGvBv1J,KAAKy9J,aAAaz9F,YAAYmxG,GAsDhC,KAAOzuK,EAAI1C,KAAKyqK,UAAUhoK,QACxBzC,KAAKyqK,UAAU/nK,GAAGqxB,MAAM6hF,QAAU,OAClClzG,GAAK,EAGP1C,KAAKuuK,cAAe,GAGtBzK,GAAqBpnK,UAAUgqK,iBAAmB,WAGhD,GAFA1mK,KAAK2kK,aAAa3kK,KAAKkgJ,KAAKC,cAAgBngJ,KAAK4P,KAAK6xI,IACtDzhJ,KAAKonK,qBACDpnK,KAAKuuK,aAAc,CACrBvuK,KAAKuuK,cAAe,EACpB,IAAI8C,EAAUrxK,KAAKy9J,aAAatM,UAChCnxJ,KAAKsxK,KAAO,CACVr9F,IAAKo9F,EAAQnoK,EACbyzB,KAAM00I,EAAQ/oK,EACd4tB,MAAOm7I,EAAQn7I,MACfC,OAAQk7I,EAAQl7I,QAGpB,OAAOn2B,KAAKsxK,MAGdxN,GAAqBpnK,UAAU0qK,mBAAqB,WAClD,IAAKpnK,KAAK4P,KAAKonI,cACbh3I,KAAK2vK,aAAa7Z,YAAY91J,KAAKs7J,aAAa5G,YAAa10J,KAAK4zJ,oBAC9D5zJ,KAAK4zJ,oBAAsB5zJ,KAAK2vK,aAAa/b,oBAAoB,CAEnE,IAAIlxJ,EACA8M,EAFJxP,KAAKuuK,cAAe,EAGpB,IAKIgD,EACAC,EANA7d,EAAkB3zJ,KAAK2vK,aAAahc,gBAEpCiD,EAAU52J,KAAKs7J,aAAa5G,YAAYtsJ,EAK5C,IAHAoH,EAAMonJ,EAAQn0J,OAGTC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACnBk0J,EAAQl0J,GAAGqF,IACdwpK,EAAiB5d,EAAgBjxJ,GACjC8uK,EAAWxxK,KAAKyqK,UAAU/nK,GACtB6uK,EAAelsC,KAAKh9H,GACtBmpK,EAASzxG,aAAa,YAAawxG,EAAelpK,GAEhDkpK,EAAelsC,KAAKv9H,GACtB0pK,EAASzxG,aAAa,UAAWwxG,EAAezpK,GAE9CypK,EAAelsC,KAAK4uB,IACtBud,EAASzxG,aAAa,eAAgBwxG,EAAetd,IAEnDsd,EAAelsC,KAAKnzC,IACtBs/E,EAASzxG,aAAa,SAAUwxG,EAAer/E,IAE7Cq/E,EAAelsC,KAAKn0C,IACtBsgF,EAASzxG,aAAa,OAAQwxG,EAAergF,OAoCzDw9C,EAAgB,CAACo7B,GAAalK,GAAkBmK,GAAgBC,GAAetK,GAAkBC,GAAcG,IAAuB+D,IAEtIA,GAAgBnnK,UAAU+0K,qBAAuB,aAGjD5N,GAAgBnnK,UAAUg1K,eAAiB,IAAI/rC,EAE/Ck+B,GAAgBnnK,UAAUi1K,yBAA2B,aAErD9N,GAAgBnnK,UAAUuqK,cAAgB,WACxCjnK,KAAK4xK,aAAa5xK,KAAK0qK,WAAY1qK,KAAK6qK,UAAW7qK,KAAKghK,aAAchhK,KAAKy9J,aAAc,EAAG,IAAI,GAChGz9J,KAAK6xK,sBAMPhO,GAAgBnnK,UAAUm1K,mBAAqB,WAC7C,IAAInvK,EAEAi5H,EACAjzH,EAEAqrB,EAJAvkB,EAAMxP,KAAKu1I,OAAO9yI,OAGlBmyI,EAAO50I,KAAK2qK,WAAWloK,OAEvBqvK,EAAa,GACbC,GAAc,EAClB,IAAKrpK,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EAAG,CAI5B,IAHAqrB,EAAQ/zB,KAAK2qK,WAAWjiK,GACxBqpK,GAAc,EACdD,EAAWrvK,OAAS,EACfC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GAEa,KADrCi5H,EAAQ37H,KAAKu1I,OAAO7yI,IACVu3D,OAAO9oD,QAAQ4iB,KACvB+9I,EAAW5vK,KAAKy5H,GAChBo2C,EAAcp2C,EAAMwJ,aAAe4sC,GAGnCD,EAAWrvK,OAAS,GAAKsvK,GAC3B/xK,KAAKgyK,oBAAoBF,KAK/BjO,GAAgBnnK,UAAUs1K,oBAAsB,SAAUz8B,GACxD,IAAI7yI,EACA8M,EAAM+lI,EAAO9yI,OACjB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB6yI,EAAO7yI,GAAGymJ,iBAId0a,GAAgBnnK,UAAUu1K,mBAAqB,SAAUriK,EAAMqwJ,GAE7D,IAAIiS,EACAxR,EAAU,IAAIV,GAAapwJ,EAAMqwJ,GAEjCyH,EAAchH,EAAQP,MAwC1B,MAvCgB,OAAZvwJ,EAAK6a,GACPynJ,EAAc,IAAIzR,GAAmBzgK,KAAM4P,EAAM8wJ,GAC5B,OAAZ9wJ,EAAK6a,GACdynJ,EAAc,IAAIvR,GAAiB3gK,KAAM4P,EAAM8wJ,GAC1B,OAAZ9wJ,EAAK6a,IAA2B,OAAZ7a,EAAK6a,KAElCynJ,EAAc,IADwB,OAAZtiK,EAAK6a,GAAcm2I,GAA2BE,IAClC9gK,KAAM4P,EAAM8wJ,GAClD1gK,KAAK4gJ,WAAWnG,KAAKz6E,YAAYkyG,EAAY71J,IACzC61J,EAAY9N,SACdpkK,KAAK4gJ,WAAWnG,KAAKz6E,YAAYkyG,EAAYlK,IAC7ChoK,KAAK4gJ,WAAWnG,KAAKz6E,YAAYkyG,EAAYzxE,IAC7CinE,EAAY3nG,aAAa,OAAQ,OAASyhE,EAAe,IAAM0wC,EAAY9N,OAAS,OAIxE,OAAZx0J,EAAK6a,IAA2B,OAAZ7a,EAAK6a,KAC3Bi9I,EAAY3nG,aAAa,iBAAkB0lE,EAAY71H,EAAKiiF,IAAM,IAClE61E,EAAY3nG,aAAa,kBAAmB2lE,EAAa91H,EAAK8hG,IAAM,IACpEg2D,EAAY3nG,aAAa,eAAgB,KACzB,IAAZnwD,EAAK8hG,IACPg2D,EAAY3nG,aAAa,oBAAqBnwD,EAAKkqG,KAIxC,IAAXlqG,EAAKjI,GACP+/J,EAAY3nG,aAAa,YAAa,WAGpCnwD,EAAKm/J,IACPrH,EAAY3nG,aAAa,KAAMnwD,EAAKm/J,IAElCn/J,EAAK8sE,IACPgrF,EAAY3nG,aAAa,QAASnwD,EAAK8sE,IAErC9sE,EAAKo+J,KACPtG,EAAY3zI,MAAM,kBAAoBwxG,EAAa31H,EAAKo+J,KAE1DhuK,KAAK2qK,WAAWzoK,KAAKw+J,GACrB1gK,KAAKmyK,sBAAsBviK,EAAMsiK,GAC1BA,GAGTrO,GAAgBnnK,UAAU01K,mBAAqB,SAAUxiK,GACvD,IAAIsiK,EAAc,IAAInR,GAUtB,OATInxJ,EAAKm/J,IACPmD,EAAYjR,GAAGlhG,aAAa,KAAMnwD,EAAKm/J,IAErCn/J,EAAK8sE,IACPw1F,EAAYjR,GAAGlhG,aAAa,QAASnwD,EAAK8sE,IAExC9sE,EAAKo+J,KACPkE,EAAYjR,GAAGltI,MAAM,kBAAoBwxG,EAAa31H,EAAKo+J,KAEtDkE,GAGTrO,GAAgBnnK,UAAU21K,uBAAyB,SAAUziK,EAAMlG,GACjE,IAAI4oK,EAAoBzwB,EAAyBqB,qBAAqBljJ,KAAM4P,EAAM5P,MAC9EkyK,EAAc,IAAI1R,GAAiB8R,EAAmBA,EAAkBxqK,EAAG4B,GAE/E,OADA1J,KAAKmyK,sBAAsBviK,EAAMsiK,GAC1BA,GAGTrO,GAAgBnnK,UAAU61K,mBAAqB,SAAU3iK,EAAM4iK,EAAiBvS,GAC9E,IAAIx1I,EAAK,EACO,OAAZ7a,EAAK6a,GACPA,EAAK,EACgB,OAAZ7a,EAAK6a,GACdA,EAAK,EACgB,OAAZ7a,EAAK6a,KACdA,EAAK,GAEP,IACIynJ,EAAc,IAAI7R,GAAamS,EAAiBvS,EADhC5b,GAAqBkD,aAAavnJ,KAAM4P,EAAM6a,EAAIzqB,OAKtE,OAHAA,KAAKu1I,OAAOrzI,KAAKgwK,GACjBlyK,KAAKqvK,oBAAoB6C,GACzBlyK,KAAKmyK,sBAAsBviK,EAAMsiK,GAC1BA,GAGTrO,GAAgBnnK,UAAUy1K,sBAAwB,SAAUviK,EAAM2/D,GAGhE,IAFA,IAAI7sE,EAAI,EACJ8M,EAAMxP,KAAK+qK,iBAAiBtoK,OACzBC,EAAI8M,GAAK,CACd,GAAIxP,KAAK+qK,iBAAiBroK,GAAG6sE,UAAYA,EACvC,OAEF7sE,GAAK,EAEP1C,KAAK+qK,iBAAiB7oK,KAAK,CACzBvC,GAAIuoK,GAAoBG,qBAAqBz4J,GAC7C2/D,QAASA,EACT3/D,KAAMA,KAIVi0J,GAAgBnnK,UAAU+1K,iBAAmB,SAAUP,GACrD,IACIxpK,EADA4E,EAAM4kK,EAAYj4G,OAElB26E,EAAO50I,KAAK2qK,WAAWloK,OAC3B,IAAKiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACpB1I,KAAK2qK,WAAWjiK,GAAGk3D,QACtBtyD,EAAIpL,KAAKlC,KAAK2qK,WAAWjiK,KAK/Bm7J,GAAgBnnK,UAAU+wJ,aAAe,WAEvC,IAAI/qJ,EADJ1C,KAAKghJ,eAAgB,EAErB,IAAIxxI,EAAMxP,KAAK6qK,UAAUpoK,OACzB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKghK,aAAat+J,GAAK1C,KAAK6qK,UAAUnoK,GAKxC,IAHA1C,KAAK4xK,aAAa5xK,KAAK0qK,WAAY1qK,KAAK6qK,UAAW7qK,KAAKghK,aAAchhK,KAAKy9J,aAAc,EAAG,IAAI,GAChGz9J,KAAK6xK,qBACLriK,EAAMxP,KAAKklI,kBAAkBziI,OACxBC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKklI,kBAAkBxiI,GAAGilF,WAE5B3nF,KAAKwvK,mBAGP3L,GAAgBnnK,UAAUk1K,aAAe,SAAUtkK,EAAKu9J,EAAW7J,EAAct3J,EAAWu2J,EAAOK,EAAcrhF,GAC/G,IACIv8E,EAEAgG,EACAksI,EAGA89B,EACAC,EACAC,EATAJ,EAAkB,GAAGv9J,OAAOqrJ,GAE5B9wJ,EAAMlC,EAAI7K,OAAS,EAGnBowK,EAAY,GACZC,EAAe,GAInB,IAAKpwK,EAAI8M,EAAK9M,GAAK,EAAGA,GAAK,EAAG,CAO5B,IANAkwK,EAAe5yK,KAAKyvK,uBAAuBniK,EAAI5K,KAI7CmoK,EAAUnoK,GAAKs+J,EAAa4R,EAAe,GAF3CtlK,EAAI5K,GAAGyqJ,QAAUluE,EAID,OAAd3xE,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,GACtEmoJ,EAGH/H,EAAUnoK,GAAGqxB,MAAM6rC,QAAS,EAF5BirG,EAAUnoK,GAAK1C,KAAKiyK,mBAAmB3kK,EAAI5K,GAAIu9J,GAI7C3yJ,EAAI5K,GAAGyqJ,SACL0d,EAAUnoK,GAAGqxB,MAAMosI,MAAMnvF,aAAetnE,GAC1CA,EAAUs2D,YAAY6qG,EAAUnoK,GAAGqxB,MAAMosI,OAG7C0S,EAAU3wK,KAAK2oK,EAAUnoK,GAAGqxB,YACvB,GAAkB,OAAdzmB,EAAI5K,GAAG+nB,GAAa,CAC7B,GAAKmoJ,EAIH,IADAh+B,EAAOi2B,EAAUnoK,GAAG+X,GAAGhY,OAClBiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EACzBmiK,EAAUnoK,GAAGs+J,aAAat4J,GAAKmiK,EAAUnoK,GAAG+X,GAAG/R,QAJjDmiK,EAAUnoK,GAAK1C,KAAKoyK,mBAAmB9kK,EAAI5K,IAO7C1C,KAAK4xK,aAAatkK,EAAI5K,GAAG+X,GAAIowJ,EAAUnoK,GAAG+X,GAAIowJ,EAAUnoK,GAAGs+J,aAAc6J,EAAUnoK,GAAGu+J,GAAIhB,EAAQ,EAAGuS,EAAiBvzF,GAClH3xE,EAAI5K,GAAGyqJ,SACL0d,EAAUnoK,GAAGu+J,GAAGjwF,aAAetnE,GACjCA,EAAUs2D,YAAY6qG,EAAUnoK,GAAGu+J,QAGhB,OAAd3zJ,EAAI5K,GAAG+nB,IACXmoJ,IACH/H,EAAUnoK,GAAK1C,KAAKqyK,uBAAuB/kK,EAAI5K,GAAIgH,IAErDgpK,EAAmB7H,EAAUnoK,GAAGoiC,UAChC0tI,EAAgBtwK,KAAKwwK,IACE,OAAdplK,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAC7EmoJ,IACH/H,EAAUnoK,GAAK1C,KAAKuyK,mBAAmBjlK,EAAI5K,GAAI8vK,EAAiBvS,IAElEjgK,KAAKyyK,iBAAiB5H,EAAUnoK,KACT,OAAd4K,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAA6B,OAAdnd,EAAI5K,GAAG+nB,IAC7EmoJ,GAMHD,EAAW9H,EAAUnoK,IACZk9D,QAAS,IANlB+yG,EAAWjrB,GAAeI,YAAYx6I,EAAI5K,GAAG+nB,KACpCnO,KAAKtc,KAAMsN,EAAI5K,IACxBmoK,EAAUnoK,GAAKiwK,EACf3yK,KAAK4qK,eAAe1oK,KAAKywK,IAK3BG,EAAa5wK,KAAKywK,IACK,OAAdrlK,EAAI5K,GAAG+nB,KACXmoJ,GAOHD,EAAW9H,EAAUnoK,IACZk9D,QAAS,GAPlB+yG,EAAWjrB,GAAeI,YAAYx6I,EAAI5K,GAAG+nB,IAC7CogJ,EAAUnoK,GAAKiwK,EACfA,EAASr2J,KAAKtc,KAAMsN,EAAK5K,EAAGmoK,GAC5B7qK,KAAK4qK,eAAe1oK,KAAKywK,GACzB1zF,GAAS,GAKX6zF,EAAa5wK,KAAKywK,IAEpB3yK,KAAK0vK,oBAAoBpiK,EAAI5K,GAAIA,EAAI,GAGvC,IADA8M,EAAMqjK,EAAUpwK,OACXC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBmwK,EAAUnwK,GAAGk9D,QAAS,EAGxB,IADApwD,EAAMsjK,EAAarwK,OACdC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBowK,EAAapwK,GAAGk9D,QAAS,GAI7BikG,GAAgBnnK,UAAU0qK,mBAAqB,WAE7C,IAAI1kK,EADJ1C,KAAKwvK,kBAEL,IAAIhgK,EAAMxP,KAAK2qK,WAAWloK,OAC1B,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK2qK,WAAWjoK,GAAGL,QAIrB,IAFArC,KAAK+yK,cAEArwK,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,GACpB1C,KAAK2qK,WAAWjoK,GAAG2iI,MAAQrlI,KAAKghJ,iBAC9BhhJ,KAAK2qK,WAAWjoK,GAAG09J,SACrBpgK,KAAK2qK,WAAWjoK,GAAG09J,OAAOrgG,aAAa,IAAK//D,KAAK2qK,WAAWjoK,GAAGsF,GAE/DhI,KAAK2qK,WAAWjoK,GAAGsF,EAAI,OAAShI,KAAK2qK,WAAWjoK,GAAGsF,GAErDhI,KAAK2qK,WAAWjoK,GAAGy9J,MAAMpgG,aAAa,IAAK//D,KAAK2qK,WAAWjoK,GAAGsF,GAAK,UAKzE67J,GAAgBnnK,UAAUq2K,YAAc,WACtC,IAAIrwK,EAEAswK,EADAxjK,EAAMxP,KAAK+qK,iBAAiBtoK,OAEhC,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBswK,EAAkBhzK,KAAK+qK,iBAAiBroK,IACnC1C,KAAKghJ,eAAiBgyB,EAAgBzjG,QAAQ41D,eAAyC,IAAzB6tC,EAAgBpjK,MACjFojK,EAAgBrzK,GAAGqzK,EAAgBpjK,KAAMojK,EAAgBzjG,QAASvvE,KAAKghJ,gBAK7E6iB,GAAgBnnK,UAAUoxG,QAAU,WAClC9tG,KAAKsnK,qBACLtnK,KAAK0qK,WAAa,KAClB1qK,KAAK6qK,UAAY,MAiCnBG,GAActuK,UAAU+nK,YAAc,SAAUliB,GAC9C,GAAIA,GAAeviJ,KAAKirK,cAAc5lC,KAAM,CAC1C,IAAI4tC,EAAajzK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EACpDuqK,EAAalzK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EACpDqjF,EAAUhsF,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,IACzD3I,KAAKkrK,aAAanrG,aAAa,SAAWmzG,EAAW,GAAKD,EAAW,GAAM,UAAYA,EAAW,GAAK,KAAOC,EAAW,GAAKD,EAAW,IAAM,UAAYA,EAAW,GAAK,KAAOC,EAAW,GAAKD,EAAW,IAAM,UAAYA,EAAW,GAAK,UAAYjnF,EAAU,QAezQs/E,GAAc5uK,UAAU+nK,YAAc,SAAUliB,GAC9C,GAAIA,GAAeviJ,KAAKirK,cAAc5lC,KAAM,CAC1C,IAAIpvG,EAAQj2B,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAC/CqjF,EAAUhsF,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EACrD3I,KAAKkrK,aAAanrG,aAAa,SAAU,WAAa9pC,EAAM,GAAK,YAAcA,EAAM,GAAK,YAAcA,EAAM,GAAK,UAAY+1D,EAAU,QAmB7Iu/E,GAAsB7uK,UAAU+nK,YAAc,SAAUliB,GACtD,GAAIA,GAAeviJ,KAAKirK,cAAc5lC,KAAM,CAE1C,IAAI8tC,EAAqB,GACrBtzJ,EAAQ7f,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAIwqK,EAQnDC,EAAapzK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EACpD0qK,EAAwB,GAAdD,EAAmB,EAAIvzJ,EACjCyzJ,EAAwB,GAAdF,EAAmB,EAAIvzJ,EAErC7f,KAAKwrK,eAAezrG,aAAa,eAAgBszG,EAAS,IAAMC,GAMhE,IAAIC,EAAwD,GAA5CvzK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAU,OAAS,YAC1E3I,KAAKwrK,eAAezrG,aAAa,WAAYwzG,KAajD9H,GAAgB/uK,UAAU82K,WAAa,WACrC,IACIhlD,EACAilD,EACA/wK,EACA8M,EAJAkkK,EAAe1zK,KAAK2gJ,KAAK8c,aAAalxJ,UAAYvM,KAAK2gJ,KAAK8c,aAAakW,WAgB7E,IAXiD,IAA7C3zK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,GACzC6G,EAAMxP,KAAK2gJ,KAAKiV,YAAY1gB,gBAAgBzyI,OAC5CC,EAAI,GAGJ8M,EAAU,GADV9M,EAAI1C,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,IAGjD8qK,EAAY3uC,EAAS,MACX/kE,aAAa,OAAQ,QAC/B0zG,EAAU1zG,aAAa,iBAAkB,SACzC0zG,EAAU1zG,aAAa,oBAAqB,GACpCr9D,EAAI8M,EAAK9M,GAAK,EACpB8rH,EAAOsW,EAAS,QAChB2uC,EAAUzzG,YAAYwuD,GACtBxuH,KAAKimH,MAAM/jH,KAAK,CAAEiG,EAAGqmH,EAAMnmH,EAAG3F,IAEhC,GAAkD,IAA9C1C,KAAKirK,cAAcE,eAAe,IAAIhjK,EAAEQ,EAAS,CACnD,IAAI2e,EAAOw9G,EAAS,QAChB17H,EAAKw6H,IACTt8G,EAAKy4C,aAAa,KAAM32D,GACxBke,EAAKy4C,aAAa,YAAa,SAC/Bz4C,EAAK04C,YAAYyzG,GACjBzzK,KAAK2gJ,KAAKC,WAAWnG,KAAKz6E,YAAY14C,GACtC,IAAIC,EAAIu9G,EAAS,KAEjB,IADAv9G,EAAEw4C,aAAa,OAAQ,OAASyhE,EAAe,IAAMp4H,EAAK,KACnDsqK,EAAa,IAClBnsJ,EAAEy4C,YAAY0zG,EAAa,IAE7B1zK,KAAK2gJ,KAAK8c,aAAaz9F,YAAYz4C,GACnCvnB,KAAKyuK,OAASnnJ,EACdmsJ,EAAU1zG,aAAa,SAAU,aAC5B,GAAkD,IAA9C//D,KAAKirK,cAAcE,eAAe,IAAIhjK,EAAEQ,GAAyD,IAA9C3I,KAAKirK,cAAcE,eAAe,IAAIhjK,EAAEQ,EAAS,CAC7G,GAAkD,IAA9C3I,KAAKirK,cAAcE,eAAe,IAAIhjK,EAAEQ,EAE1C,IADA+qK,EAAe1zK,KAAK2gJ,KAAK8c,aAAalxJ,UAAYvM,KAAK2gJ,KAAK8c,aAAakW,WAClED,EAAajxK,QAClBzC,KAAK2gJ,KAAK8c,aAAa7zE,YAAY8pF,EAAa,IAGpD1zK,KAAK2gJ,KAAK8c,aAAaz9F,YAAYyzG,GACnCzzK,KAAK2gJ,KAAK8c,aAAapsF,gBAAgB,QACvCoiG,EAAU1zG,aAAa,SAAU,QAEnC//D,KAAK0rK,aAAc,EACnB1rK,KAAK4zK,WAAaH,GAGpBhI,GAAgB/uK,UAAU+nK,YAAc,SAAUliB,GAIhD,IAAI7/I,EAHC1C,KAAK0rK,aACR1rK,KAAKwzK,aAGP,IACIlsJ,EACAknG,EAFAh/G,EAAMxP,KAAKimH,MAAMxjH,OAGrB,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB,IAAyB,IAArB1C,KAAKimH,MAAMvjH,GAAG2F,IAChBif,EAAOtnB,KAAK2gJ,KAAKiV,YAAY2I,SAASv+J,KAAKimH,MAAMvjH,GAAG2F,GACpDmmH,EAAOxuH,KAAKimH,MAAMvjH,GAAGyF,GACjBo6I,GAAeviJ,KAAKirK,cAAc5lC,MAAQ/9G,EAAKsuD,KAAKyvD,OACtD7W,EAAKzuD,aAAa,IAAKz4C,EAAKy3I,UAE1Bxc,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,MAAQrlI,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,MAAQrlI,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,MAAQrlI,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,MAAQ/9G,EAAKsuD,KAAKyvD,MAAM,CAC7N,IAAIwuC,EACJ,GAAiD,IAA7C7zK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,GAAwD,MAA7C3I,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAW,CACtG,IAAIf,EAAmG,IAA/FyL,KAAKC,IAAItT,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAG3I,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,GAC9FnB,EAAmG,IAA/F6L,KAAKoC,IAAIzV,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAG3I,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,GAC9FP,EAAIomH,EAAKslD,iBACbD,EAAiB,SAAWzrK,EAAIR,EAAI,IACpC,IAGIc,EAHAqrK,EAAa3rK,GAAKZ,EAAII,GACtBqjJ,EAAU,EAA+C,EAA3CjrJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAQ3I,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,IACxGqK,EAAQK,KAAKoF,MAAMs7J,EAAa9oB,GAEpC,IAAKviJ,EAAI,EAAGA,EAAIsK,EAAOtK,GAAK,EAC1BmrK,GAAkB,KAAkD,EAA3C7zK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAQ3I,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,IAAO,IAE5HkrK,GAAkB,KAAW,GAAJzrK,EAAS,YAElCyrK,EAAiB,KAAkD,EAA3C7zK,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAQ3I,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,IAEpH6lH,EAAKzuD,aAAa,mBAAoB8zG,GAW5C,IAPItxB,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,OACxDrlI,KAAK4zK,WAAW7zG,aAAa,eAA2D,EAA3C//D,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,IAGlF45I,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,OACxDrlI,KAAK4zK,WAAW7zG,aAAa,UAAW//D,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,IAE/B,IAA9C3I,KAAKirK,cAAcE,eAAe,IAAIhjK,EAAEQ,GAAyD,IAA9C3I,KAAKirK,cAAcE,eAAe,IAAIhjK,EAAEQ,KACzF45I,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,MAAM,CAC9D,IAAIpvG,EAAQj2B,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EACnD3I,KAAK4zK,WAAW7zG,aAAa,SAAU,OAASiiE,EAAmB,IAAX/rG,EAAM,IAAY,IAAM+rG,EAAmB,IAAX/rG,EAAM,IAAY,IAAM+rG,EAAmB,IAAX/rG,EAAM,IAAY,OAiChJ01I,GAAiBjvK,UAAU+nK,YAAc,SAAUliB,GACjD,GAAIA,GAAeviJ,KAAKirK,cAAc5lC,KAAM,CAC1C,IAAI2uC,EAASh0K,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAChDsrK,EAASj0K,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAChDurK,EAASl0K,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAChDwrK,EAASD,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDI,EAASF,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDK,EAASH,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACxDh0K,KAAK6rK,QAAQ9rG,aAAa,cAAeo0G,GACzCn0K,KAAK8rK,QAAQ/rG,aAAa,cAAeq0G,GACzCp0K,KAAK+rK,QAAQhsG,aAAa,cAAes0G,KAyC7CrI,GAAmBtvK,UAAUuvK,aAAe,SAAUxsK,EAAMmsK,GAC1D,IAAIiD,EAAS/pC,EAASrlI,GAGtB,OAFAovK,EAAO9uG,aAAa,OAAQ,SAC5B6rG,EAAoB5rG,YAAY6uG,GACzBA,GAGT7C,GAAmBtvK,UAAU43K,cAAgB,SAAUC,EAAYC,EAAYC,EAAOC,EAAaC,GAWjG,IAVA,IAEI5kC,EAIA6kC,EANA9iI,EAAM,EACN43G,EAAW,IAEXp2I,EAAMD,KAAKC,IAAIihK,EAAYC,GAC3B/+J,EAAMpC,KAAKoC,IAAI8+J,EAAYC,GAC3Bh9C,EAAQjqH,MAAM3N,KAAK,KAAM,CAAE6C,OAAQinJ,IAEnCv0I,EAAM,EACN0/J,EAAcF,EAAcD,EAC5BI,EAAaN,EAAaD,EACvBziI,GAAO,KAGV8iI,GAFF7kC,EAAOj+F,EAAM,MACDx+B,EACGwhK,EAAa,EAAIH,EAAcD,EACnC3kC,GAAQt6H,EACJq/J,EAAa,EAAIJ,EAAcC,EAE9BD,EAAcG,EAAcxhK,KAAKsE,KAAKo4H,EAAOwkC,GAAcO,EAAY,EAAIL,GAE3Fj9C,EAAMriH,GAAOy/J,EACbz/J,GAAO,EACP28B,GAAO,KAAO43G,EAAW,GAE3B,OAAOlyB,EAAM7hH,KAAK,MAGpBq2J,GAAmBtvK,UAAU+nK,YAAc,SAAUliB,GACnD,GAAIA,GAAeviJ,KAAKirK,cAAc5lC,KAAM,CAC1C,IAAI99H,EACA4jK,EAAiBnrK,KAAKirK,cAAcE,eACpCnrK,KAAKmsK,kBAAoB5pB,GAAe4oB,EAAe,GAAGhjK,EAAEk9H,MAAQ8lC,EAAe,GAAGhjK,EAAEk9H,MAAQ8lC,EAAe,GAAGhjK,EAAEk9H,MAAQ8lC,EAAe,GAAGhjK,EAAEk9H,MAAQ8lC,EAAe,GAAGhjK,EAAEk9H,QAC9K99H,EAAMvH,KAAKs0K,cAAcnJ,EAAe,GAAGhjK,EAAEQ,EAAGwiK,EAAe,GAAGhjK,EAAEQ,EAAGwiK,EAAe,GAAGhjK,EAAEQ,EAAGwiK,EAAe,GAAGhjK,EAAEQ,EAAGwiK,EAAe,GAAGhjK,EAAEQ,GACzI3I,KAAKmsK,gBAAgBpsG,aAAa,cAAex4D,GACjDvH,KAAKosK,gBAAgBrsG,aAAa,cAAex4D,GACjDvH,KAAKqsK,gBAAgBtsG,aAAa,cAAex4D,IAG/CvH,KAAK6rK,UAAYtpB,GAAe4oB,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,QAC3K99H,EAAMvH,KAAKs0K,cAAcnJ,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,GAC9I3I,KAAK6rK,QAAQ9rG,aAAa,cAAex4D,IAGvCvH,KAAK8rK,UAAYvpB,GAAe4oB,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,QAC3K99H,EAAMvH,KAAKs0K,cAAcnJ,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,GAC9I3I,KAAK8rK,QAAQ/rG,aAAa,cAAex4D,IAGvCvH,KAAK+rK,UAAYxpB,GAAe4oB,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,QAC3K99H,EAAMvH,KAAKs0K,cAAcnJ,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,GAC9I3I,KAAK+rK,QAAQhsG,aAAa,cAAex4D,IAGvCvH,KAAKksK,UAAY3pB,GAAe4oB,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,MAAQ8lC,EAAe,IAAIhjK,EAAEk9H,QAC3K99H,EAAMvH,KAAKs0K,cAAcnJ,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,EAAGwiK,EAAe,IAAIhjK,EAAEQ,GAC9I3I,KAAKksK,QAAQnsG,aAAa,cAAex4D,MAwD/C+kK,GAAoB5vK,UAAU+nK,YAAc,SAAUliB,GACpD,GAAIA,GAAeviJ,KAAKirK,cAAc5lC,KAAM,CAI1C,IAHIkd,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,OACxDrlI,KAAKwrK,eAAezrG,aAAa,eAAgB//D,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,GAE1F45I,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,KAAM,CAC9D,IAAIj4C,EAAMptF,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EACjD3I,KAAKwsK,QAAQzsG,aAAa,cAAeqkE,EAAS/wH,KAAK2yB,MAAe,IAATonD,EAAI,IAAW/5E,KAAK2yB,MAAe,IAATonD,EAAI,IAAW/5E,KAAK2yB,MAAe,IAATonD,EAAI,MAKvH,IAHIm1D,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,OACxDrlI,KAAKwsK,QAAQzsG,aAAa,gBAAiB//D,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,KAEpF45I,GAAeviJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,MAAQrlI,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEk9H,KAAM,CAC7G,IAAImmB,EAAWxrJ,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAClDs9H,GAASjmI,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAAI,IAAM65H,EAC1Dl6H,EAAIkjJ,EAAWn4I,KAAK2xB,IAAIihG,GACxB/8H,EAAIsiJ,EAAWn4I,KAAK8xB,IAAI8gG,GAC5BjmI,KAAKusK,SAASxsG,aAAa,KAAMz3D,GACjCtI,KAAKusK,SAASxsG,aAAa,KAAM72D,MAgBvC,IAAI6rK,GAAmB,GAEvB,SAASC,GAAgBC,EAAYhK,EAAetqB,GAClD3gJ,KAAK0rK,aAAc,EACnB1rK,KAAKirK,cAAgBA,EACrBjrK,KAAKi1K,WAAaA,EAClBj1K,KAAK2gJ,KAAOA,EACZA,EAAK0tB,aAAevpC,EAAS,KAC7B6b,EAAK0tB,aAAaruG,YAAY2gF,EAAK8c,cACnC9c,EAAK0tB,aAAaruG,YAAY2gF,EAAK2tB,oBACnC3tB,EAAKumB,YAAcvmB,EAAK0tB,aAuF1B,SAASe,MApFT4F,GAAgBt4K,UAAUw4K,WAAa,SAAU5tJ,GAG/C,IAFA,IAAI5kB,EAAI,EACJ8M,EAAMulK,GAAiBtyK,OACpBC,EAAI8M,GAAK,CACd,GAAIulK,GAAiBryK,KAAO4kB,EAC1B,OAAOytJ,GAAiBryK,GAE1BA,GAAK,EAEP,OAAO,MAGTsyK,GAAgBt4K,UAAUy4K,gBAAkB,SAAU7tJ,EAAM8tJ,GAC1D,IAAIpkG,EAAa1pD,EAAKm2I,aAAazsF,WACnC,GAAKA,EAAL,CAMA,IAHA,IASIqkG,EATA9oK,EAAWykE,EAAWzkE,SACtB7J,EAAI,EACJ8M,EAAMjD,EAAS9J,OACZC,EAAI8M,GACLjD,EAAS7J,KAAO4kB,EAAKm2I,cAGzB/6J,GAAK,EAGHA,GAAK8M,EAAM,IACb6lK,EAAY9oK,EAAS7J,EAAI,IAE3B,IAAI4yK,EAAUxwC,EAAS,OACvBwwC,EAAQv1G,aAAa,OAAQ,IAAMq1G,GAC/BC,EACFrkG,EAAWuN,aAAa+2F,EAASD,GAEjCrkG,EAAWhR,YAAYs1G,KAI3BN,GAAgBt4K,UAAU64K,iBAAmB,SAAU50B,EAAMr5H,GAC3D,IAAKtnB,KAAKk1K,WAAW5tJ,GAAO,CAC1B,IAAI8tJ,EAAWxxC,IACX6qC,EAAS3pC,EAAS,QACtB2pC,EAAO1uG,aAAa,KAAMz4C,EAAKu3I,SAC/B4P,EAAO1uG,aAAa,YAAa,SACjCg1G,GAAiB7yK,KAAKolB,GACtB,IAAImzH,EAAOkG,EAAKC,WAAWnG,KAC3BA,EAAKz6E,YAAYyuG,GACjB,IAAI+G,EAAS1wC,EAAS,UACtB0wC,EAAOz1G,aAAa,KAAMq1G,GAC1Bp1K,KAAKm1K,gBAAgB7tJ,EAAM8tJ,GAC3BI,EAAOx1G,YAAY14C,EAAKm2I,cACxBhjB,EAAKz6E,YAAYw1G,GACjB,IAAIF,EAAUxwC,EAAS,OACvBwwC,EAAQv1G,aAAa,OAAQ,IAAMq1G,GACnC3G,EAAOzuG,YAAYs1G,GACnBhuJ,EAAK1X,KAAK0lF,IAAK,EACfhuE,EAAK4qD,OAEPyuE,EAAK4jB,SAASj9I,EAAKu3I,UAGrBmW,GAAgBt4K,UAAU82K,WAAa,WAKrC,IAJA,IAAI/1B,EAAMz9I,KAAKirK,cAAcE,eAAe,GAAGhjK,EAAEQ,EAC7CkkJ,EAAW7sJ,KAAK2gJ,KAAKT,KAAK2M,SAC1BnqJ,EAAI,EACJ8M,EAAMq9I,EAASpqJ,OACZC,EAAI8M,GACLq9I,EAASnqJ,IAAMmqJ,EAASnqJ,GAAGkN,KAAK6tI,MAAQA,GAC1Cz9I,KAAKu1K,iBAAiBv1K,KAAK2gJ,KAAMkM,EAASnqJ,IAE5CA,GAAK,EAEP1C,KAAK0rK,aAAc,GAGrBsJ,GAAgBt4K,UAAU+nK,YAAc,WACjCzkK,KAAK0rK,aACR1rK,KAAKwzK,cAWT,IAAIiC,GAAoB,WACtB,IAAIx+B,EAAW,GACXy+B,EAAuB,GACvB37B,EAAW,EACXvqI,EAAM,EACNmmK,EAAuB,EACvBC,GAAW,EACXC,GAAY,EAEhB,SAASC,EAAcC,GAGrB,IAFA,IAAIrzK,EAAI,EACJszK,EAAWD,EAAGhxK,OACXrC,EAAI8M,GACLkmK,EAAqBhzK,GAAGk9F,YAAco2E,IACxCN,EAAqB96H,OAAOl4C,EAAG,GAC/BA,GAAK,EACL8M,GAAO,EACFwmK,EAASC,UACZC,KAGJxzK,GAAK,EAIT,SAASyzK,EAAkB5mG,EAAS6mE,GAClC,IAAK7mE,EACH,OAAO,KAGT,IADA,IAAI7sE,EAAI,EACDA,EAAI8M,GAAK,CACd,GAAIkmK,EAAqBhzK,GAAGi+I,OAASpxE,GAA4C,OAAjCmmG,EAAqBhzK,GAAGi+I,KACtE,OAAO+0B,EAAqBhzK,GAAGk9F,UAEjCl9F,GAAK,EAEP,IAAIszK,EAAW,IAAII,GAGnB,OAFAC,EAAeL,EAAUzmG,GACzBymG,EAASM,QAAQ/mG,EAAS6mE,GACnB4/B,EAGT,SAASO,IACP,IAAI7zK,EACA8zK,EAAWd,EAAqBjzK,OAChCg0K,EAAa,GACjB,IAAK/zK,EAAI,EAAGA,EAAI8zK,EAAU9zK,GAAK,EAC7B+zK,EAAWv0K,KAAKwzK,EAAqBhzK,GAAGk9F,WAE1C,OAAO62E,EAGT,SAASC,IACPf,GAAwB,EACxBgB,IAGF,SAAST,IACPP,GAAwB,EAG1B,SAASU,EAAeL,EAAUzmG,GAChCymG,EAASj8H,iBAAiB,UAAW+7H,GACrCE,EAASj8H,iBAAiB,UAAW28H,GACrCV,EAASj8H,iBAAiB,QAASm8H,GACnCR,EAAqBxzK,KAAK,CAAEy+I,KAAMpxE,EAASqwB,UAAWo2E,IACtDxmK,GAAO,EAGT,SAAS8+G,EAAcvhH,GACrB,IAAIipK,EAAW,IAAII,GAGnB,OAFAC,EAAeL,EAAU,MACzBA,EAASY,UAAU7pK,GACZipK,EAGT,SAASa,EAAStvK,EAAKq4F,GACrB,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUi3E,SAAStvK,EAAKq4F,GAIpD,SAASk3E,EAAavvK,EAAKq4F,GACzB,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUk3E,aAAavvK,EAAKq4F,GAIxD,SAAS2vD,EAAK3vD,GACZ,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAU2vD,KAAK3vD,GAG3C,SAASioB,EAAOkvD,GACd,IACIr0K,EADAq2F,EAAcg+E,EAAUh9B,EAE5B,IAAKr3I,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUo3E,YAAYj+E,GAEhDghD,EAAWg9B,EACPpB,IAAyBE,EAC3B9lJ,EAAOyf,sBAAsBq4E,GAE7B+tD,GAAW,EAIf,SAASvpD,EAAM0qD,GACbh9B,EAAWg9B,EACXhnJ,EAAOyf,sBAAsBq4E,GAG/B,SAASmnC,EAAMpvD,GACb,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUovD,MAAMpvD,GAI5C,SAASq3E,EAAYz5K,EAAO05K,EAASt3E,GACnC,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUq3E,YAAYz5K,EAAO05K,EAASt3E,GAIlE,SAAS57F,EAAK47F,GACZ,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAU57F,KAAK47F,GAI3C,SAASu3E,EAAYv3E,GACnB,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUu3E,YAAYv3E,GAIlD,SAASkO,EAAQlO,GACf,IAAIl9F,EACJ,IAAKA,EAAK8M,EAAM,EAAI9M,GAAK,EAAGA,GAAK,EAC/BgzK,EAAqBhzK,GAAGk9F,UAAUkO,QAAQlO,GAI9C,SAASw3E,EAAiBhhC,EAAeihC,EAAY9oD,GACnD,IAEI7rH,EAFA40K,EAAe,GAAGriK,OAAO,GAAGlR,MAAMnE,KAAKs+D,SAASq5G,uBAAuB,WACzE,GAAGxzK,MAAMnE,KAAKs+D,SAASq5G,uBAAuB,eAE5Cf,EAAWc,EAAa70K,OAC5B,IAAKC,EAAI,EAAGA,EAAI8zK,EAAU9zK,GAAK,EACzB6rH,GACF+oD,EAAa50K,GAAGq9D,aAAa,eAAgBwuD,GAE/C4nD,EAAkBmB,EAAa50K,GAAI0zI,GAErC,GAAIihC,GAA2B,IAAbb,EAAgB,CAC3BjoD,IACHA,EAAW,OAEb,IAAIr5E,EAAOgpB,SAASmB,qBAAqB,QAAQ,GACjDnqB,EAAKgkG,UAAY,GACjB,IAAIzwG,EAAMs8F,EAAU,OACpBt8F,EAAI1U,MAAMmC,MAAQ,OAClBuS,EAAI1U,MAAMoC,OAAS,OACnBsS,EAAIs3B,aAAa,eAAgBwuD,GACjCr5E,EAAK8qB,YAAYv3B,GACjB0tI,EAAkB1tI,EAAK2tG,IAI3B,SAASohC,IACP,IAAI90K,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAU43E,SAItC,SAASb,KACFd,GAAaF,GACZC,IACF7lJ,EAAOyf,sBAAsB68E,GAC7BupD,GAAW,GAKjB,SAAS6B,IACP5B,GAAY,EAGd,SAAS6B,IACP7B,GAAY,EACZc,IAGF,SAAShnB,EAAUpoJ,EAAKq4F,GACtB,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAU+vD,UAAUpoJ,EAAKq4F,GAIrD,SAASkwD,EAAKlwD,GACZ,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUkwD,KAAKlwD,GAI3C,SAASmwD,EAAOnwD,GACd,IAAIl9F,EACJ,IAAKA,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxBgzK,EAAqBhzK,GAAGk9F,UAAUmwD,OAAOnwD,GAuB7C,OAnBAq3C,EAASk/B,kBAAoBA,EAC7Bl/B,EAAS3oB,cAAgBA,EACzB2oB,EAAS4/B,SAAWA,EACpB5/B,EAAS6/B,aAAeA,EACxB7/B,EAASsY,KAAOA,EAChBtY,EAAS+X,MAAQA,EACjB/X,EAASjzI,KAAOA,EAChBizI,EAASkgC,YAAcA,EACvBlgC,EAASmgC,iBAAmBA,EAC5BngC,EAASugC,OAASA,EAElBvgC,EAASggC,YAAcA,EACvBhgC,EAASnpC,QAAUA,EACnBmpC,EAASwgC,OAASA,EAClBxgC,EAASygC,SAAWA,EACpBzgC,EAAS0Y,UAAYA,EACrB1Y,EAAS6Y,KAAOA,EAChB7Y,EAAS8Y,OAASA,EAClB9Y,EAASs/B,wBAA0BA,EAC5Bt/B,EAjPe,GAyPpBm/B,GAAgB,WAClBp2K,KAAKykI,KAAO,GACZzkI,KAAKgD,KAAO,GACZhD,KAAKwuH,KAAO,GACZxuH,KAAK06I,UAAW,EAChB16I,KAAK0kK,aAAe,EACpB1kK,KAAK23K,gBAAkB,EACvB33K,KAAKsjI,WAAa,EAClBtjI,KAAKujI,YAAc,EACnBvjI,KAAK0iJ,UAAY,EACjB1iJ,KAAK43K,UAAY,EACjB53K,KAAK63K,UAAY,EACjB73K,KAAK83K,cAAgB,EACrB93K,KAAK+3K,UAAY,EACjB/3K,KAAKo2I,cAAgB,GACrBp2I,KAAKq2I,OAAS,GACdr2I,KAAKi2K,UAAW,EAChBj2K,KAAKouH,UAAW,EAChBpuH,KAAKquH,MAAO,EACZruH,KAAKuuH,SAAW,KAChBvuH,KAAKg4K,YAAcp0C,IACnB5jI,KAAK8wJ,WAAa,GAClB9wJ,KAAKi4K,cAAgB,EACrBj4K,KAAKk4K,WAAa,EAClBl4K,KAAKm4K,kBAAoBx2C,EACzB3hI,KAAK0pJ,SAAW,GAChB1pJ,KAAKo4K,OAAQ,EACbp4K,KAAKq4K,gBAAiB,EACtBr4K,KAAKuiK,iBAAmBpgC,IACxBniI,KAAKwjK,eAAiB,IAAItT,GAC1BlwJ,KAAKyjK,gBAAkBjV,KACvBxuJ,KAAKy8J,QAAU,GACfz8J,KAAKkkK,gBAAkBlkK,KAAKkkK,gBAAgBxxI,KAAK1yB,MACjDA,KAAKs4K,aAAet4K,KAAKs4K,aAAa5lJ,KAAK1yB,MAC3CA,KAAKu4K,kBAAoBv4K,KAAKu4K,kBAAkB7lJ,KAAK1yB,OAutBvD,SAASmuK,KACPnuK,KAAKmrK,eAAiB,GArtBxBz8B,EAAgB,CAACpK,GAAY8xC,IAE7BA,GAAc15K,UAAUk6K,UAAY,SAAU7pK,IACxCA,EAAOo3J,SAAWp3J,EAAOrD,aAC3B1J,KAAKmkK,QAAUp3J,EAAOo3J,SAAWp3J,EAAOrD,WAE1C,IAAI8uK,EAAW,MAMf,OALIzrK,EAAOyrK,SACTA,EAAWzrK,EAAOyrK,SACTzrK,EAAOwhH,WAChBiqD,EAAWzrK,EAAOwhH,UAEZiqD,GACN,IAAK,SACHx4K,KAAKuuH,SAAW,IAAIkqD,eAAez4K,KAAM+M,EAAO2rK,kBAChD,MACF,IAAK,MACH14K,KAAKuuH,SAAW,IAAI0uC,GAAYj9J,KAAM+M,EAAO2rK,kBAC7C,MACF,QACE14K,KAAKuuH,SAAW,IAAIoqD,eAAe34K,KAAM+M,EAAO2rK,kBAGpD14K,KAAKwjK,eAAerR,aAAaqmB,EAAUx4K,KAAKuuH,SAASqyB,WAAWnG,MACpEz6I,KAAKuuH,SAAS8zC,oBAAoBriK,KAAKuiK,kBACvCviK,KAAKw4K,SAAWA,EACI,KAAhBzrK,EAAOshH,MACc,OAAhBthH,EAAOshH,WACSjtH,IAAhB2L,EAAOshH,OACS,IAAhBthH,EAAOshH,KACdruH,KAAKquH,MAAO,GACa,IAAhBthH,EAAOshH,KAChBruH,KAAKquH,MAAO,EAEZruH,KAAKquH,KAAOj8G,SAASrF,EAAOshH,KAAM,IAEpCruH,KAAKouH,WAAW,aAAcrhH,IAASA,EAAOqhH,SAC9CpuH,KAAKgD,KAAO+J,EAAO/J,KAAO+J,EAAO/J,KAAO,GACxChD,KAAK44K,kBAAmBn8K,OAAOC,UAAUE,eAAegD,KAAKmN,EAAQ,qBAAsBA,EAAO6rK,iBAClG54K,KAAK8wJ,WAAa/jJ,EAAO+jJ,WACzB9wJ,KAAK64K,eAAiB9rK,EAAO8rK,eACzB9rK,EAAO2hJ,cACT1uJ,KAAKyjK,gBAAgB7T,gBAAgB7iJ,EAAO2hJ,cAE1C3hJ,EAAOqpI,cACTp2I,KAAKq2K,eAAetpK,EAAOqpI,eAClBrpI,EAAOyhH,QACuB,IAAnCzhH,EAAOyhH,KAAKp9G,YAAY,MAC1BpR,KAAKwuH,KAAOzhH,EAAOyhH,KAAKn8G,OAAO,EAAGtF,EAAOyhH,KAAKp9G,YAAY,MAAQ,GAElEpR,KAAKwuH,KAAOzhH,EAAOyhH,KAAKn8G,OAAO,EAAGtF,EAAOyhH,KAAKp9G,YAAY,KAAO,GAEnEpR,KAAK84K,SAAW/rK,EAAOyhH,KAAKn8G,OAAOtF,EAAOyhH,KAAKp9G,YAAY,KAAO,GAClEpR,KAAK84K,SAAW94K,KAAK84K,SAASzmK,OAAO,EAAGrS,KAAK84K,SAAS1nK,YAAY,UAClEwiI,EAAYtlB,cACVvhH,EAAOyhH,KACPxuH,KAAKkkK,gBACLlkK,KAAKs4K,gBAKXlC,GAAc15K,UAAU47K,aAAe,WACrCt4K,KAAK+4K,QAAQ,gBAGf3C,GAAc15K,UAAU25K,eAAiB,SAAUzmK,GACjDgkI,EAAYkE,kBACVloI,EACA5P,KAAKkkK,kBAITkS,GAAc15K,UAAU45K,QAAU,SAAUnS,EAAS/tB,GAC/CA,GAC2B,kBAAlBA,IACTA,EAAgBj/F,KAAKnG,MAAMolG,IAG/B,IAAIrpI,EAAS,CACXo3J,QAASA,EACT/tB,cAAeA,GAEb4iC,EAAoB7U,EAAQ8U,WAEhClsK,EAAOyhH,KAAOwqD,EAAkBE,aAAa,uBACzCF,EAAkBE,aAAa,uBAAuB17K,MACtDw7K,EAAkBE,aAAa,gBAC7BF,EAAkBE,aAAa,gBAAgB17K,MAC/Cw7K,EAAkBE,aAAa,WAC7BF,EAAkBE,aAAa,WAAW17K,MAC1C,GACRuP,EAAOyrK,SAAWQ,EAAkBE,aAAa,kBAC7CF,EAAkBE,aAAa,kBAAkB17K,MACjDw7K,EAAkBE,aAAa,gBAC7BF,EAAkBE,aAAa,gBAAgB17K,MAC/Cw7K,EAAkBE,aAAa,WAC7BF,EAAkBE,aAAa,WAAW17K,MAC1Cw7K,EAAkBE,aAAa,oBAC7BF,EAAkBE,aAAa,oBAAoB17K,MACnDw7K,EAAkBE,aAAa,eAC7BF,EAAkBE,aAAa,eAAe17K,MAC9C,SAEZ,IAAI6wH,EAAO2qD,EAAkBE,aAAa,kBACtCF,EAAkBE,aAAa,kBAAkB17K,MACjDw7K,EAAkBE,aAAa,gBAC7BF,EAAkBE,aAAa,gBAAgB17K,MAC/Cw7K,EAAkBE,aAAa,WAC7BF,EAAkBE,aAAa,WAAW17K,MAC1C,GACK,UAAT6wH,EACFthH,EAAOshH,MAAO,EACI,SAATA,EACTthH,EAAOshH,MAAO,EACI,KAATA,IACTthH,EAAOshH,KAAOj8G,SAASi8G,EAAM,KAE/B,IAAID,EAAW4qD,EAAkBE,aAAa,sBAC1CF,EAAkBE,aAAa,sBAAsB17K,MACrDw7K,EAAkBE,aAAa,oBAC7BF,EAAkBE,aAAa,oBAAoB17K,OACnDw7K,EAAkBE,aAAa,gBAC7BF,EAAkBE,aAAa,eAAe17K,MAEtDuP,EAAOqhH,SAAwB,UAAbA,EAElBrhH,EAAO/J,KAAOg2K,EAAkBE,aAAa,aACzCF,EAAkBE,aAAa,aAAa17K,MAC5Cw7K,EAAkBE,aAAa,gBAC7BF,EAAkBE,aAAa,gBAAgB17K,MAC/Cw7K,EAAkBE,aAAa,WAC7BF,EAAkBE,aAAa,WAAW17K,MAC1C,GASU,WARFw7K,EAAkBE,aAAa,uBAC3CF,EAAkBE,aAAa,uBAAuB17K,MACtDw7K,EAAkBE,aAAa,qBAC7BF,EAAkBE,aAAa,qBAAqB17K,MACpDw7K,EAAkBE,aAAa,gBAC7BF,EAAkBE,aAAa,gBAAgB17K,MAC/C,MAGNuP,EAAOosK,WAAY,GAErBn5K,KAAK42K,UAAU7pK,IAGjBqpK,GAAc15K,UAAUylK,cAAgB,SAAUvyJ,GAC5CA,EAAK03G,GAAKtnH,KAAKo2I,cAAc9uB,KAC/BtnH,KAAKo2I,cAAc9uB,GAAK13G,EAAK03G,GAC7BtnH,KAAKujI,YAAclwH,KAAKoF,MAAM7I,EAAK03G,GAAKtnH,KAAKo2I,cAAc+qB,KAE7D,IACIz+J,EAGAgG,EAJA+rI,EAASz0I,KAAKo2I,cAAc3B,OAE5BjlI,EAAMilI,EAAOhyI,OACb2/J,EAAYxyJ,EAAK6kI,OAEjBG,EAAOwtB,EAAU3/J,OACrB,IAAKiG,EAAI,EAAGA,EAAIksI,EAAMlsI,GAAK,EAEzB,IADAhG,EAAI,EACGA,EAAI8M,GAAK,CACd,GAAIilI,EAAO/xI,GAAG0G,KAAOg5J,EAAU15J,GAAGU,GAAI,CACpCqrI,EAAO/xI,GAAK0/J,EAAU15J,GACtB,MAEFhG,GAAK,EAOT,IAJIkN,EAAKmnC,OAASnnC,EAAK6pI,SACrBz5I,KAAKuuH,SAASqyB,WAAW4Y,YAAYte,SAAStrI,EAAKmnC,OACnD/2C,KAAKuuH,SAASqyB,WAAW4Y,YAAYhf,SAAS5qI,EAAK6pI,MAAOz5I,KAAKuuH,SAASqyB,WAAWnG,OAEjF7qI,EAAKymI,OAEP,IADA7mI,EAAMI,EAAKymI,OAAO5zI,OACbC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAKo2I,cAAcC,OAAOn0I,KAAK0N,EAAKymI,OAAO3zI,IAG/C1C,KAAKo2I,cAAcW,YAAa,EAChCnD,EAAYkE,kBACV93I,KAAKo2I,cACLp2I,KAAKu4K,oBAITnC,GAAc15K,UAAU67K,kBAAoB,SAAU3oK,GACpD5P,KAAKo2I,cAAgBxmI,EACjB0xH,GACFA,EAAkB2hC,gBAAgBjjK,MAEpCA,KAAKo5K,mBAGPhD,GAAc15K,UAAU08K,gBAAkB,WACxC,IAAI1vB,EAAW1pJ,KAAKo2I,cAAcsT,SAClC,IAAKA,GAAgC,IAApBA,EAASjnJ,SAAiBzC,KAAK44K,iBAG9C,OAFA54K,KAAK+4K,QAAQ,mBACb/4K,KAAKi4K,cAAgBj4K,KAAKujI,aAG5B,IAAI0nB,EAAUvB,EAASvhH,QACvBnoC,KAAKi4K,cAAgBhtB,EAAQtuD,KAAO38F,KAAK0iJ,UACzC,IAAI22B,EAAcr5K,KAAKwuH,KAAOxuH,KAAK84K,SAAW,IAAM94K,KAAKk4K,WAAa,QACtEl4K,KAAKk4K,YAAc,EACnBtkC,EAAYiE,SAASwhC,EAAar5K,KAAKmiK,cAAczvI,KAAK1yB,MAAO,WAC/DA,KAAK+4K,QAAQ,gBACbrmJ,KAAK1yB,QAGTo2K,GAAc15K,UAAU48K,aAAe,WACtBt5K,KAAKo2I,cAAcsT,WAEhC1pJ,KAAKi4K,cAAgBj4K,KAAKujI,aAE5BvjI,KAAKo5K,mBAGPhD,GAAc15K,UAAU68K,aAAe,WACrCv5K,KAAK+4K,QAAQ,iBACb/4K,KAAKw5K,eAGPpD,GAAc15K,UAAU+8K,cAAgB,WACtCz5K,KAAKwjK,eAAezR,cAAc/xJ,KAAK8wJ,YACvC9wJ,KAAKwjK,eAAe1R,QAAQ9xJ,KAAKwuH,MACjCxuH,KAAKwjK,eAAe7R,WAAW3xJ,KAAKo2I,cAAcC,OAAQr2I,KAAKu5K,aAAa7mJ,KAAK1yB,QAGnFo2K,GAAc15K,UAAUwnK,gBAAkB,SAAUd,GAClD,GAAKpjK,KAAKuuH,SAGV,IACEvuH,KAAKo2I,cAAgBgtB,EACjBpjK,KAAK64K,gBACP74K,KAAKujI,YAAclwH,KAAKoF,MAAMzY,KAAK64K,eAAe,GAAK74K,KAAK64K,eAAe,IAC3E74K,KAAKsjI,WAAajwH,KAAK2yB,MAAMhmC,KAAK64K,eAAe,MAEjD74K,KAAKujI,YAAclwH,KAAKoF,MAAMzY,KAAKo2I,cAAc9uB,GAAKtnH,KAAKo2I,cAAc+qB,IACzEnhK,KAAKsjI,WAAajwH,KAAK2yB,MAAMhmC,KAAKo2I,cAAc+qB,KAElDnhK,KAAKuuH,SAAS21C,gBAAgBd,GACzBA,EAAS/sB,SACZ+sB,EAAS/sB,OAAS,IAGpBr2I,KAAKq2I,OAASr2I,KAAKo2I,cAAcC,OACjCr2I,KAAK0iJ,UAAY1iJ,KAAKo2I,cAAcstB,GACpC1jK,KAAK43K,UAAY53K,KAAKo2I,cAAcstB,GAAK,IACzC1jK,KAAKuuH,SAASw0C,wBAAwBK,EAAS/sB,QAC/Cr2I,KAAKy8J,QAAUL,GAAagH,EAAS3G,SAAW,IAChDz8J,KAAK+4K,QAAQ,gBACb/4K,KAAKy5K,gBACLz5K,KAAKs5K,eACLt5K,KAAK05K,oBACL15K,KAAK25K,qBACD35K,KAAKi2K,UACPj2K,KAAKyjK,gBAAgBzU,QAEvB,MAAO/tJ,GACPjB,KAAK45K,mBAAmB34K,KAI5Bm1K,GAAc15K,UAAUi9K,mBAAqB,WACtC35K,KAAKuuH,WAGNvuH,KAAKuuH,SAASqyB,WAAW4Y,YAAY9e,SACvC16I,KAAKw5K,cAELjpJ,WAAWvwB,KAAK25K,mBAAmBjnJ,KAAK1yB,MAAO,MAInDo2K,GAAc15K,UAAU88K,YAAc,YAC/Bx5K,KAAK06I,UACD16I,KAAKuuH,SAASqyB,WAAW4Y,YAAY9e,WACpC16I,KAAKwjK,eAAevR,gBAAiD,WAA/BjyJ,KAAKuuH,SAAS8vC,eACpDr+J,KAAKwjK,eAAetR,mBAE5BlyJ,KAAK06I,UAAW,EACZpZ,GACFA,EAAkB2hC,gBAAgBjjK,MAEpCA,KAAKuuH,SAASi0C,YACdjyI,WAAW,WACTvwB,KAAK+4K,QAAQ,cACbrmJ,KAAK1yB,MAAO,GACdA,KAAK65K,YACD75K,KAAKouH,UACPpuH,KAAKuvJ,SAKX6mB,GAAc15K,UAAU86K,OAAS,WAC/Bx3K,KAAKuuH,SAAS81C,uBAGhB+R,GAAc15K,UAAUo9K,YAAc,SAAUn3C,GAC9C3iI,KAAKm4K,oBAAsBx1C,GAG7ByzC,GAAc15K,UAAUm9K,UAAY,WAClC75K,KAAK0kK,aAAe1kK,KAAKm4K,kBAAoBn4K,KAAK23K,kBAAoB33K,KAAK23K,gBAEvE33K,KAAKi4K,gBAAkBj4K,KAAKujI,aAAevjI,KAAK0kK,aAAe1kK,KAAKi4K,gBACtEj4K,KAAK0kK,aAAe1kK,KAAKi4K,eAE3Bj4K,KAAK+4K,QAAQ,cACb/4K,KAAKykK,cACLzkK,KAAK+4K,QAAQ,eAGf3C,GAAc15K,UAAU+nK,YAAc,WACpC,IAAsB,IAAlBzkK,KAAK06I,UAAuB16I,KAAKuuH,SAGrC,IACEvuH,KAAKuuH,SAASk2C,YAAYzkK,KAAK0kK,aAAe1kK,KAAKsjI,YACnD,MAAOriI,GACPjB,KAAK+5K,wBAAwB94K,KAIjCm1K,GAAc15K,UAAU6yJ,KAAO,SAAUvsJ,GACnCA,GAAQhD,KAAKgD,OAASA,IAGJ,IAAlBhD,KAAKi2K,WACPj2K,KAAKi2K,UAAW,EAChBj2K,KAAKyjK,gBAAgB57C,SACjB7nH,KAAKo4K,QACPp4K,KAAKo4K,OAAQ,EACbp4K,KAAK+4K,QAAQ,cAKnB3C,GAAc15K,UAAUsyJ,MAAQ,SAAUhsJ,GACpCA,GAAQhD,KAAKgD,OAASA,IAGJ,IAAlBhD,KAAKi2K,WACPj2K,KAAKi2K,UAAW,EAChBj2K,KAAKo4K,OAAQ,EACbp4K,KAAK+4K,QAAQ,SACb/4K,KAAKyjK,gBAAgBzU,UAIzBonB,GAAc15K,UAAUy6K,YAAc,SAAUn0K,GAC1CA,GAAQhD,KAAKgD,OAASA,KAGJ,IAAlBhD,KAAKi2K,SACPj2K,KAAKuvJ,OAELvvJ,KAAKgvJ,UAITonB,GAAc15K,UAAUsH,KAAO,SAAUhB,GACnCA,GAAQhD,KAAKgD,OAASA,IAG1BhD,KAAKgvJ,QACLhvJ,KAAK+3K,UAAY,EACjB/3K,KAAKq4K,gBAAiB,EACtBr4K,KAAKg6K,wBAAwB,KAG/B5D,GAAc15K,UAAUu9K,cAAgB,SAAUC,GAEhD,IADA,IAAIjpJ,EACKvuB,EAAI,EAAGA,EAAI1C,KAAKy8J,QAAQh6J,OAAQC,GAAK,EAE5C,IADAuuB,EAASjxB,KAAKy8J,QAAQ/5J,IACXkmG,SAAW33E,EAAO23E,QAAQ5lG,OAASk3K,EAC5C,OAAOjpJ,EAGX,OAAO,MAGTmlJ,GAAc15K,UAAUu6K,YAAc,SAAUz5K,EAAO05K,EAASl0K,GAC9D,IAAIA,GAAQhD,KAAKgD,OAASA,EAA1B,CAGA,IAAIm3K,EAAWnoK,OAAOxU,GACtB,GAAIgF,MAAM23K,GAAW,CACnB,IAAIlpJ,EAASjxB,KAAKi6K,cAAcz8K,GAC5ByzB,GACFjxB,KAAKi3K,YAAYhmJ,EAAO0rE,MAAM,QAEvBu6E,EACTl3K,KAAKg6K,wBAAwBx8K,GAE7BwC,KAAKg6K,wBAAwBx8K,EAAQwC,KAAKo6K,eAE5Cp6K,KAAKgvJ,UAGPonB,GAAc15K,UAAU29K,YAAc,SAAU78K,EAAO05K,EAASl0K,GAC9D,IAAIA,GAAQhD,KAAKgD,OAASA,EAA1B,CAGA,IAAIm3K,EAAWnoK,OAAOxU,GACtB,GAAIgF,MAAM23K,GAAW,CACnB,IAAIlpJ,EAASjxB,KAAKi6K,cAAcz8K,GAC5ByzB,IACGA,EAAO4rI,SAGV78J,KAAKs6K,aAAa,CAACrpJ,EAAO0rE,KAAM1rE,EAAO0rE,KAAO1rE,EAAO4rI,WAAW,GAFhE78J,KAAKi3K,YAAYhmJ,EAAO0rE,MAAM,SAMlC38F,KAAKi3K,YAAYkD,EAAUjD,EAASl0K,GAEtChD,KAAKuvJ,SAGP6mB,GAAc15K,UAAUs6K,YAAc,SAAUx5K,GAC9C,IAAsB,IAAlBwC,KAAKi2K,WAAuC,IAAlBj2K,KAAK06I,SAAnC,CAGA,IAAI6/B,EAAYv6K,KAAK23K,gBAAkBn6K,EAAQwC,KAAKo6K,cAChDI,GAAc,EAGdD,GAAav6K,KAAKujI,YAAc,GAAKvjI,KAAKo6K,cAAgB,EACvDp6K,KAAKquH,MAAQruH,KAAK+3K,YAAc/3K,KAAKquH,KAK/BksD,GAAav6K,KAAKujI,aAC3BvjI,KAAK+3K,WAAa,EACb/3K,KAAKy6K,cAAcF,EAAYv6K,KAAKujI,eACvCvjI,KAAKg6K,wBAAwBO,EAAYv6K,KAAKujI,aAC9CvjI,KAAKq4K,gBAAiB,EACtBr4K,KAAK+4K,QAAQ,kBAGf/4K,KAAKg6K,wBAAwBO,GAZxBv6K,KAAKy6K,cAAcF,EAAYv6K,KAAKujI,YAAcg3C,EAAYv6K,KAAKujI,YAAc,KACpFi3C,GAAc,EACdD,EAAYv6K,KAAKujI,YAAc,GAY1Bg3C,EAAY,EAChBv6K,KAAKy6K,cAAcF,EAAYv6K,KAAKujI,gBACnCvjI,KAAKquH,MAAUruH,KAAK+3K,aAAe,IAAmB,IAAd/3K,KAAKquH,MAQ/CmsD,GAAc,EACdD,EAAY,IARZv6K,KAAKg6K,wBAAwBh6K,KAAKujI,YAAeg3C,EAAYv6K,KAAKujI,aAC7DvjI,KAAKq4K,eAGRr4K,KAAK+4K,QAAQ,gBAFb/4K,KAAKq4K,gBAAiB,IAU5Br4K,KAAKg6K,wBAAwBO,GAE3BC,IACFx6K,KAAKg6K,wBAAwBO,GAC7Bv6K,KAAKgvJ,QACLhvJ,KAAK+4K,QAAQ,eAIjB3C,GAAc15K,UAAUg+K,cAAgB,SAAUptK,EAAKyE,GACrD/R,KAAK+3K,UAAY,EACbzqK,EAAI,GAAKA,EAAI,IACXtN,KAAKo6K,cAAgB,IACnBp6K,KAAK63K,UAAY,EACnB73K,KAAK62K,UAAU72K,KAAK63K,WAEpB73K,KAAK82K,cAAc,IAGvB92K,KAAKujI,YAAcj2H,EAAI,GAAKA,EAAI,GAChCtN,KAAKi4K,cAAgBj4K,KAAKujI,YAC1BvjI,KAAKsjI,WAAah2H,EAAI,GACtBtN,KAAKg6K,wBAAwBh6K,KAAKujI,YAAc,KAAQxxH,IAC/CzE,EAAI,GAAKA,EAAI,KAClBtN,KAAKo6K,cAAgB,IACnBp6K,KAAK63K,UAAY,EACnB73K,KAAK62K,UAAU72K,KAAK63K,WAEpB73K,KAAK82K,aAAa,IAGtB92K,KAAKujI,YAAcj2H,EAAI,GAAKA,EAAI,GAChCtN,KAAKi4K,cAAgBj4K,KAAKujI,YAC1BvjI,KAAKsjI,WAAah2H,EAAI,GACtBtN,KAAKg6K,wBAAwB,KAAQjoK,IAEvC/R,KAAK+4K,QAAQ,iBAEf3C,GAAc15K,UAAUi+K,WAAa,SAAUr+J,EAAM9L,GACnD,IAAIoqK,GAAgB,EAChB56K,KAAKi2K,WACHj2K,KAAK23K,gBAAkB33K,KAAKsjI,WAAahnH,EAC3Cs+J,EAAet+J,EACNtc,KAAK23K,gBAAkB33K,KAAKsjI,WAAa9yH,IAClDoqK,EAAepqK,EAAM8L,IAIzBtc,KAAKsjI,WAAahnH,EAClBtc,KAAKujI,YAAc/yH,EAAM8L,EACzBtc,KAAKi4K,cAAgBj4K,KAAKujI,aACJ,IAAlBq3C,GACF56K,KAAKi3K,YAAY2D,GAAc,IAInCxE,GAAc15K,UAAU49K,aAAe,SAAUhtK,EAAKutK,GAIpD,GAHIA,IACF76K,KAAK0pJ,SAASjnJ,OAAS,GAEH,kBAAX6K,EAAI,GAAiB,CAC9B,IAAI5K,EACA8M,EAAMlC,EAAI7K,OACd,IAAKC,EAAI,EAAGA,EAAI8M,EAAK9M,GAAK,EACxB1C,KAAK0pJ,SAASxnJ,KAAKoL,EAAI5K,SAGzB1C,KAAK0pJ,SAASxnJ,KAAKoL,GAEjBtN,KAAK0pJ,SAASjnJ,QAAUo4K,GAC1B76K,KAAK06K,cAAc16K,KAAK0pJ,SAASvhH,QAAS,GAExCnoC,KAAKi2K,UACPj2K,KAAKuvJ,QAIT6mB,GAAc15K,UAAUo+K,cAAgB,SAAUD,GAChD76K,KAAK0pJ,SAASjnJ,OAAS,EACvBzC,KAAK0pJ,SAASxnJ,KAAK,CAAClC,KAAKo2I,cAAc+qB,GAAInhK,KAAKo2I,cAAc9uB,KAC1DuzD,GACF76K,KAAKy6K,cAAc,IAGvBrE,GAAc15K,UAAU+9K,cAAgB,SAAU1oK,GAChD,QAAI/R,KAAK0pJ,SAASjnJ,SAChBzC,KAAK06K,cAAc16K,KAAK0pJ,SAASvhH,QAASp2B,IACnC,IAKXqkK,GAAc15K,UAAUoxG,QAAU,SAAU9qG,GACrCA,GAAQhD,KAAKgD,OAASA,IAAUhD,KAAKuuH,WAG1CvuH,KAAKuuH,SAASzgB,UACd9tG,KAAKwjK,eAAe11D,UACpB9tG,KAAK+4K,QAAQ,WACb/4K,KAAKykI,KAAO,KACZzkI,KAAK+6K,aAAe,KACpB/6K,KAAKg7K,eAAiB,KACtBh7K,KAAK03I,WAAa,KAClB13I,KAAKi7K,eAAiB,KACtBj7K,KAAKk7K,UAAY,KACjBl7K,KAAKuuH,SAAW,KAChBvuH,KAAKuuH,SAAW,KAChBvuH,KAAKwjK,eAAiB,KACtBxjK,KAAKuiK,iBAAmB,OAG1B6T,GAAc15K,UAAUs9K,wBAA0B,SAAUx8K,GAC1DwC,KAAK23K,gBAAkBn6K,EACvBwC,KAAK65K,aAGPzD,GAAc15K,UAAUm6K,SAAW,SAAUtvK,GAC3CvH,KAAK63K,UAAYtwK,EACjBvH,KAAK05K,qBAGPtD,GAAc15K,UAAUo6K,aAAe,SAAUvvK,GAC/CvH,KAAK83K,cAAgBvwK,EAAM,GAAK,EAAI,EACpCvH,KAAK05K,qBAGPtD,GAAc15K,UAAUizJ,UAAY,SAAUpoJ,EAAKvE,GAC7CA,GAAQhD,KAAKgD,OAASA,GAG1BhD,KAAKyjK,gBAAgB9T,UAAUpoJ,IAGjC6uK,GAAc15K,UAAUszJ,UAAY,WAClC,OAAOhwJ,KAAKyjK,gBAAgBzT,aAG9BomB,GAAc15K,UAAUozJ,KAAO,SAAU9sJ,GACnCA,GAAQhD,KAAKgD,OAASA,GAG1BhD,KAAKyjK,gBAAgB3T,QAGvBsmB,GAAc15K,UAAUqzJ,OAAS,SAAU/sJ,GACrCA,GAAQhD,KAAKgD,OAASA,GAG1BhD,KAAKyjK,gBAAgB1T,UAGvBqmB,GAAc15K,UAAUg9K,kBAAoB,WAC1C15K,KAAKo6K,cAAgBp6K,KAAK43K,UAAY53K,KAAK63K,UAAY73K,KAAK83K,cAC5D93K,KAAKyjK,gBAAgBxU,QAAQjvJ,KAAK63K,UAAY73K,KAAK83K,gBAGrD1B,GAAc15K,UAAUy+K,QAAU,WAChC,OAAOn7K,KAAKwuH,MAGd4nD,GAAc15K,UAAUk0J,cAAgB,SAAUC,GAChD,IAAIriC,EAAO,GACX,GAAIqiC,EAAUrpJ,EACZgnH,EAAOqiC,EAAU1oJ,OACZ,GAAInI,KAAK8wJ,WAAY,CAC1B,IAAIE,EAAYH,EAAU1oJ,GACY,IAAlC6oJ,EAAU7/I,QAAQ,aACpB6/I,EAAYA,EAAUp8H,MAAM,KAAK,IAEnC45F,EAAOxuH,KAAK8wJ,WAAaE,OAEzBxiC,EAAOxuH,KAAKwuH,KACZA,GAAQqiC,EAAU5oJ,EAAI4oJ,EAAU5oJ,EAAI,GACpCumH,GAAQqiC,EAAU1oJ,EAEpB,OAAOqmH,GAGT4nD,GAAc15K,UAAU4mK,aAAe,SAAUl6J,GAG/C,IAFA,IAAI1G,EAAI,EACJ8M,EAAMxP,KAAKq2I,OAAO5zI,OACfC,EAAI8M,GAAK,CACd,GAAIpG,IAAOpJ,KAAKq2I,OAAO3zI,GAAG0G,GACxB,OAAOpJ,KAAKq2I,OAAO3zI,GAErBA,GAAK,EAEP,OAAO,MAGT0zK,GAAc15K,UAAUi1E,KAAO,WAC7B3xE,KAAKuuH,SAAS58C,QAGhBykG,GAAc15K,UAAUw1E,KAAO,WAC7BlyE,KAAKuuH,SAASr8C,QAGhBkkG,GAAc15K,UAAU0+K,YAAc,SAAUlE,GAC9C,OAAOA,EAAUl3K,KAAKujI,YAAcvjI,KAAKujI,YAAcvjI,KAAK0iJ,WAG9D0zB,GAAc15K,UAAUq8K,QAAU,SAAU/1K,GAC1C,GAAIhD,KAAKykI,MAAQzkI,KAAKykI,KAAKzhI,GACzB,OAAQA,GACN,IAAK,aACL,IAAK,aACHhD,KAAKukI,aAAavhI,EAAM,IAAI4/H,EAAkB5/H,EAAMhD,KAAK0kK,aAAc1kK,KAAKujI,YAAavjI,KAAKo6K,gBAC9F,MACF,IAAK,eACHp6K,KAAKukI,aAAavhI,EAAM,IAAIkgI,EAAoBlgI,EAAMhD,KAAKquH,KAAMruH,KAAK+3K,UAAW/3K,KAAK43K,YACtF,MACF,IAAK,WACH53K,KAAKukI,aAAavhI,EAAM,IAAIigI,EAAgBjgI,EAAMhD,KAAK43K,YACvD,MACF,IAAK,eACH53K,KAAKukI,aAAavhI,EAAM,IAAIqgI,EAAoBrgI,EAAMhD,KAAKsjI,WAAYtjI,KAAKujI,cAC5E,MACF,IAAK,UACHvjI,KAAKukI,aAAavhI,EAAM,IAAIwgI,EAAexgI,EAAMhD,OACjD,MACF,QACEA,KAAKukI,aAAavhI,GAGX,eAATA,GAAyBhD,KAAK+6K,cAChC/6K,KAAK+6K,aAAan7K,KAAKI,KAAM,IAAI4iI,EAAkB5/H,EAAMhD,KAAK0kK,aAAc1kK,KAAKujI,YAAavjI,KAAK43K,YAExF,iBAAT50K,GAA2BhD,KAAKg7K,gBAClCh7K,KAAKg7K,eAAep7K,KAAKI,KAAM,IAAIkjI,EAAoBlgI,EAAMhD,KAAKquH,KAAMruH,KAAK+3K,UAAW/3K,KAAK43K,YAElF,aAAT50K,GAAuBhD,KAAK03I,YAC9B13I,KAAK03I,WAAW93I,KAAKI,KAAM,IAAIijI,EAAgBjgI,EAAMhD,KAAK43K,YAE/C,iBAAT50K,GAA2BhD,KAAKi7K,gBAClCj7K,KAAKi7K,eAAer7K,KAAKI,KAAM,IAAIqjI,EAAoBrgI,EAAMhD,KAAKsjI,WAAYtjI,KAAKujI,cAExE,YAATvgI,GAAsBhD,KAAKk7K,WAC7Bl7K,KAAKk7K,UAAUt7K,KAAKI,KAAM,IAAIwjI,EAAexgI,EAAMhD,QAIvDo2K,GAAc15K,UAAUq9K,wBAA0B,SAAUr2C,GAC1D,IAAIziI,EAAQ,IAAIwiI,EAAwBC,EAAa1jI,KAAK0kK,cAC1D1kK,KAAKukI,aAAa,QAAStjI,GAEvBjB,KAAKovF,SACPpvF,KAAKovF,QAAQxvF,KAAKI,KAAMiB,IAI5Bm1K,GAAc15K,UAAUk9K,mBAAqB,SAAUl2C,GACrD,IAAIziI,EAAQ,IAAI0iI,EAAmBD,EAAa1jI,KAAK0kK,cACrD1kK,KAAKukI,aAAa,QAAStjI,GAEvBjB,KAAKovF,SACPpvF,KAAKovF,QAAQxvF,KAAKI,KAAMiB,IAW5B,IAAIo6K,GAAS,GAEb,SAASC,GAAgB1qG,GACvB4wD,EAAe5wD,EAGjB,SAASwmG,MACY,IAAfC,GACF5B,GAAiB2B,iBAAiBhhC,GAAeihC,GAAY9oD,IAE7DknD,GAAiB2B,mBAIrB,SAASmE,GAAqB54C,GAC5BhB,EAAkBgB,EAGpB,SAAS64C,GAAYl0G,GACnBs6D,EAAWt6D,EAGb,SAASgnD,GAAcvhH,GAIrB,OAHmB,IAAfsqK,KACFtqK,EAAOqpI,cAAgBj/F,KAAKnG,MAAMolG,KAE7Bq/B,GAAiBnnD,cAAcvhH,GAGxC,SAAS0uK,GAAWj+K,GAClB,GAAqB,kBAAVA,EACT,OAAQA,GACN,IAAK,OACH+kI,EAAuB,IACvB,MACF,QACA,IAAK,SACHA,EAAuB,GACvB,MACF,IAAK,MACHA,EAAuB,QAGjB//H,MAAMhF,IAAUA,EAAQ,IAClC+kI,EAAuB/kI,GAGvBklI,IADEH,GAAwB,KAO9B,SAASm5C,KACP,MAA4B,qBAAd9nJ,UAGhB,SAAS+nJ,GAAcl8K,EAAMm8K,GACd,gBAATn8K,IACF6hI,EAAoBs6C,GAIxB,SAASC,GAAW74K,GAClB,OAAQA,GACN,IAAK,kBACH,OAAOq5I,EACT,IAAK,uBACH,OAAOgI,GACT,IAAK,SACH,OAAO1e,EACT,QACE,OAAO,MAmCb,SAASm2C,KACqB,aAAxB59G,SAASjkB,aACX0lB,cAAco8G,IACd3E,MAIJ,SAAS4E,GAAiBC,GAExB,IADA,IAAIC,EAAOnwH,GAAYn3B,MAAM,KACpBlyB,EAAI,EAAGA,EAAIw5K,EAAKz5K,OAAQC,GAAK,EAAG,CACvC,IAAIy5K,EAAOD,EAAKx5K,GAAGkyB,MAAM,KACzB,GAAIsjB,mBAAmBikI,EAAK,KAAOF,EACjC,OAAO/jI,mBAAmBikI,EAAK,IAGnC,OAAO,KA9CTd,GAAO9rB,KAAOkmB,GAAiBlmB,KAC/B8rB,GAAOrsB,MAAQymB,GAAiBzmB,MAChCqsB,GAAOC,gBAAkBA,GACzBD,GAAOlE,YAAc1B,GAAiB0B,YACtCkE,GAAOxE,SAAWpB,GAAiBoB,SACnCwE,GAAOvE,aAAerB,GAAiBqB,aACvCuE,GAAOr3K,KAAOyxK,GAAiBzxK,KAC/Bq3K,GAAOjE,iBAAmBA,GAC1BiE,GAAOlF,kBAAoBV,GAAiBU,kBAC5CkF,GAAO/sD,cAAgBA,GACvB+sD,GAAOE,qBAAuBA,GAC9BF,GAAO7D,OAAS/B,GAAiB+B,OAEjC6D,GAAOpE,YAAcxB,GAAiBwB,YACtCoE,GAAOvtE,QAAU2nE,GAAiB3nE,QAClCutE,GAAOI,WAAaA,GACpBJ,GAAOK,UAAYA,GACnBL,GAAOM,cAAgBA,GACvBN,GAAO5D,OAAShC,GAAiBgC,OACjC4D,GAAO3D,SAAWjC,GAAiBiC,SACnC2D,GAAO1rB,UAAY8lB,GAAiB9lB,UACpC0rB,GAAOvrB,KAAO2lB,GAAiB3lB,KAC/BurB,GAAOtrB,OAAS0lB,GAAiB1lB,OACjCsrB,GAAO9E,wBAA0Bd,GAAiBc,wBAClD8E,GAAOe,aAAe,SAAUz5C,GAC9BjB,EAAgBiB,GAElB04C,GAAOG,YAAcA,GACrBH,GAAOgB,aAAeR,GACtBR,GAAO5pJ,QAAU,QAmBjB,IAGIs6B,GAHAsrH,GAAa,mBACbjhC,GAAgB,sBAChB7nB,GAAW,GAEf,GAAI8oD,GAAY,CACd,IAAIiF,GAAUp+G,SAASmB,qBAAqB,UAExCk9G,GAAWD,GADHA,GAAQ75K,OAAS,IACI,CAC/B4X,IAAK,IAEP0xC,GAAcwwH,GAASliK,IAAIH,QAAQ,aAAc,IACjDq0G,GAAWytD,GAAiB,YAE9B,IAAID,GAA0Br8G,YAAYo8G,GAAY,KAEtD,OAAOT,GA16VYxzB,CAAQ/wH,IADb,0C,6BCOD,IAAIluB,EAAEjC,EAAQ,IAAS8W,EAAE3gB,OAAO2jF,IAAI,iBAAiBr4E,EAAEtL,OAAO2jF,IAAI,kBAAkBp4E,EAAE5L,OAAOC,UAAUE,eAAemL,EAAEa,EAAE25E,mDAAmDR,kBAAkB55E,EAAE,CAAC5K,KAAI,EAAGqM,KAAI,EAAGw3E,QAAO,EAAGC,UAAS,GAChP,SAAS74E,EAAEN,EAAEL,EAAE0f,GAAG,IAAIhf,EAAEP,EAAE,GAAGR,EAAE,KAAKsB,EAAE,KAAiF,IAAIP,UAAhF,IAASgf,IAAI/f,EAAE,GAAG+f,QAAG,IAAS1f,EAAEtK,MAAMiK,EAAE,GAAGK,EAAEtK,UAAK,IAASsK,EAAE+B,MAAMd,EAAEjB,EAAE+B,KAAc/B,EAAEQ,EAAEzI,KAAKiI,EAAEU,KAAKJ,EAAEvL,eAAe2L,KAAKP,EAAEO,GAAGV,EAAEU,IAAI,GAAGL,GAAGA,EAAEo5E,aAAa,IAAI/4E,KAAKV,EAAEK,EAAEo5E,kBAAe,IAASt5E,EAAEO,KAAKP,EAAEO,GAAGV,EAAEU,IAAI,MAAM,CAACg5E,SAAS9jE,EAAEhe,KAAKyI,EAAE3K,IAAIiK,EAAEoC,IAAId,EAAE9D,MAAMgD,EAAEw5E,OAAOz5E,EAAEimC,SAASzxC,EAAQ+9B,SAASlyB,EAAE7L,EAAQigL,IAAIh0K,EAAEjM,EAAQkgL,KAAKj0K,G,+BCR1W/L,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQmgL,kBAAoBngL,EAAQogL,qBAAkBv7K,EAEtD,IAAImyE,EAAW92E,OAAOof,QAAU,SAAU9W,GAAU,IAAK,IAAIrC,EAAI,EAAGA,EAAIwD,UAAUzD,OAAQC,IAAK,CAAE,IAAI0E,EAASlB,UAAUxD,GAAI,IAAK,IAAInF,KAAO6J,EAAc3K,OAAOC,UAAUE,eAAegD,KAAKwH,EAAQ7J,KAAQwH,EAAOxH,GAAO6J,EAAO7J,IAAY,OAAOwH,GAEnPG,EAAe,WAAc,SAASoC,EAAiBvC,EAAQC,GAAS,IAAK,IAAItC,EAAI,EAAGA,EAAIsC,EAAMvC,OAAQC,IAAK,CAAE,IAAIuC,EAAaD,EAAMtC,GAAIuC,EAAWvH,WAAauH,EAAWvH,aAAc,EAAOuH,EAAWtH,cAAe,EAAU,UAAWsH,IAAYA,EAAWrH,UAAW,GAAMnB,OAAOgB,eAAesH,EAAQE,EAAW1H,IAAK0H,IAAiB,OAAO,SAAUE,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYkC,EAAiBnC,EAAYzI,UAAW0I,GAAiBC,GAAaiC,EAAiBnC,EAAaE,GAAqBF,GAA7gB,GAEfy3K,EAASj2K,EAAQ,IAEjBk2K,EAAUC,EAAuBF,GAIjCG,EAAaD,EAFDn2K,EAAQ,KAMpBq2K,EAAcF,EAFDn2K,EAAQ,MAMrBs2K,EAAgBH,EAFDn2K,EAAQ,MAMvBu2K,EAQJ,SAAiC5/K,GAAO,GAAIA,GAAOA,EAAIu5B,WAAc,OAAOv5B,EAAc,IAAI6/K,EAAS,GAAI,GAAW,MAAP7/K,EAAe,IAAK,IAAIC,KAAOD,EAAWb,OAAOC,UAAUE,eAAegD,KAAKtC,EAAKC,KAAM4/K,EAAO5/K,GAAOD,EAAIC,IAAgC,OAAtB4/K,EAAO11K,QAAUnK,EAAY6/K,EAR/OC,CAFCz2K,EAAQ,MAIxB8qE,EAAmB9qE,EAAQ,KAE3B02K,EAAoBP,EAAuBrrG,GAE3C6rG,EAAyB32K,EAAQ,KAIrC,SAASm2K,EAAuBx/K,GAAO,OAAOA,GAAOA,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,GAEvF,SAASgI,EAAgBC,EAAUJ,GAAe,KAAMI,aAAoBJ,GAAgB,MAAM,IAAI9D,UAAU,qCAEhH,SAAS2yC,EAA2B/1C,EAAM2B,GAAQ,IAAK3B,EAAQ,MAAM,IAAI47B,eAAe,6DAAgE,OAAOj6B,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B3B,EAAP2B,EAIlO,IAAI+8K,EAAkBpgL,EAAQogL,gBAAkB,mBAC5CD,EAAoBngL,EAAQmgL,kBAAoB,yBAEhDa,EAAY9rG,EAAiB3uB,gBAAiD1hD,IAApC27K,EAAWt1K,QAAQ00G,aAE7DqhE,EAAoB,SAA2Bx6K,GACjD,OAAOk7D,SAASv0D,cAAc3G,IAG5By6K,EAAkB,WACpB,OAAOF,EAAYR,EAAWt1K,QAAQ00G,aAAe4gE,EAAWt1K,QAAQs1G,qCAG1E,SAAS2gE,EAAiBC,GACxB,OAAOA,IAGT,IAAIC,EAAQ,SAAUC,GAGpB,SAASD,IACP,IAAI7oG,EAEA+oG,EAAO9qG,EAEX1tE,EAAgBtF,KAAM49K,GAEtB,IAAK,IAAIG,EAAO73K,UAAUzD,OAAQgE,EAAO8G,MAAMwwK,GAAOpnG,EAAO,EAAGA,EAAOonG,EAAMpnG,IAC3ElwE,EAAKkwE,GAAQzwE,UAAUywE,GAGzB,OAAemnG,EAAS9qG,EAAQh/B,EAA2Bh0C,MAAO+0E,EAAO6oG,EAAMz6K,WAAa1G,OAAOyD,eAAe09K,IAAQh+K,KAAKuG,MAAM4uE,EAAM,CAAC/0E,MAAMiV,OAAOxO,KAAiBusE,EAAMgrG,aAAe,YAC5LT,GAAaR,EAAWt1K,QAAQo1G,uBAAuB7pC,EAAMh8C,MAC9D,IAAIuiH,EAASmkC,EAAiB1qG,EAAMhuE,MAAM24K,gBACtCpkC,GAAUA,EAAOt7E,SAAS+U,EAAMh8C,MAClCuiH,EAAO3vD,YAAY5W,EAAMh8C,MAGzBuE,QAAQi1C,KAAK,mJAEdwC,EAAMirG,UAAY,SAAUr0K,GAC7BopE,EAAMkrG,OAASt0K,GACdopE,EAAMmrG,aAAe,SAAUn5K,GAChC,IACIk5K,EADeT,GACNthE,CAAanpC,EAAO6pG,EAAQp1K,QAAQkC,cAAcszK,EAAcx1K,QAAS8rE,EAAS,CAAE6qG,cAAeR,EAAMQ,eAAiBp5K,IAASguE,EAAMh8C,MACtJg8C,EAAMirG,UAAUC,IACPlqI,EAA2Bg/B,EAAnC8qG,GAmGL,OAnJF,SAAmBr4K,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrE,UAAU,kEAAoEqE,GAAeD,EAAS/I,UAAYD,OAAO6B,OAAOoH,GAAcA,EAAWhJ,UAAW,CAAEqG,YAAa,CAAEvF,MAAOiI,EAAU/H,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAe+H,IAAYjJ,OAAOyG,eAAiBzG,OAAOyG,eAAeuC,EAAUC,GAAcD,EAAStC,UAAYuC,GAoB/dF,CAAUo4K,EAAOC,GA+BjB34K,EAAa04K,EAAO,CAAC,CACnBrgL,IAAK,oBACLC,MAAO,WACAi0E,EAAiB3uB,YAEjBy6H,IACHv9K,KAAKg3B,KAAOwmJ,EAAkB,QAEhCx9K,KAAKg3B,KAAKntB,UAAY7J,KAAKgF,MAAM23K,gBAEpBe,EAAiB19K,KAAKgF,MAAM24K,gBAClC39G,YAAYhgE,KAAKg3B,OAEvBumJ,GAAav9K,KAAKm+K,aAAan+K,KAAKgF,UAEtC,CACDzH,IAAK,0BACLC,MAAO,SAAiC6gL,GAGtC,MAAO,CAAEC,WAFQZ,EAAiBW,EAAUV,gBAEXY,WADhBb,EAAiB19K,KAAKgF,MAAM24K,mBAG9C,CACDpgL,IAAK,qBACLC,MAAO,SAA4B6gL,EAAWr1K,EAAGw1K,GAC/C,GAAK/sG,EAAiB3uB,UAAtB,CACA,IAAI27H,EAASz+K,KAAKgF,MACd05K,EAASD,EAAOC,OAChB/B,EAAkB8B,EAAO9B,gBAGzB0B,EAAU1B,kBAAoBA,IAChC38K,KAAKg3B,KAAKntB,UAAY8yK,GAGxB,IAAI2B,EAAaE,EAASF,WACtBC,EAAaC,EAASD,WAEtBA,IAAeD,IACjBA,EAAW10F,YAAY5pF,KAAKg3B,MAC5BunJ,EAAWv+G,YAAYhgE,KAAKg3B,QAIzBqnJ,EAAUK,QAAWA,KAEzBnB,GAAav9K,KAAKm+K,aAAan+K,KAAKgF,UAEtC,CACDzH,IAAK,uBACLC,MAAO,WACL,GAAKi0E,EAAiB3uB,WAAc9iD,KAAKg3B,MAASh3B,KAAKk+K,OAAvD,CAEA,IAAIx/K,EAAQsB,KAAKk+K,OAAOx/K,MACpBkyC,EAAMD,KAAKC,MACX+tI,EAAWjgL,EAAMggL,QAAU1+K,KAAKgF,MAAM45K,iBAAmBlgL,EAAMigL,UAAY/tI,EAAM5wC,KAAKgF,MAAM45K,gBAE5FD,GACGjgL,EAAMmgL,aACT7+K,KAAKk+K,OAAOY,mBAGdvuJ,WAAWvwB,KAAKg+K,aAAcW,EAAW/tI,IAEzC5wC,KAAKg+K,kBAGR,CACDzgL,IAAK,SACLC,MAAO,WACL,OAAKi0E,EAAiB3uB,WAAcy6H,IAI/Bv9K,KAAKg3B,MAAQumJ,IAChBv9K,KAAKg3B,KAAOwmJ,EAAkB,QAGbC,GACZthE,CAAa0gE,EAAQp1K,QAAQkC,cAAcszK,EAAcx1K,QAAS8rE,EAAS,CAChF3pE,IAAK5J,KAAKi+K,UACVG,cAAeR,EAAMQ,eACpBp+K,KAAKgF,QAAShF,KAAKg3B,OAXb,QAaT,CAAC,CACHz5B,IAAK,gBACLC,MAAO,SAAuB+xE,GAC5B2tG,EAAa3rG,WAAWhC,OASrBquG,EAhIG,CAiIVhB,EAAO16F,WAET07F,EAAMmB,UAAY,CAChBL,OAAQ1B,EAAYv1K,QAAQu3K,KAAK98D,WACjCnuF,MAAOipJ,EAAYv1K,QAAQk0H,MAAM,CAC/BpxH,QAASyyK,EAAYv1K,QAAQhE,OAC7Bw7K,QAASjC,EAAYv1K,QAAQhE,SAE/Bk5K,gBAAiBK,EAAYv1K,QAAQwH,OACrCytK,kBAAmBM,EAAYv1K,QAAQwH,OACvCiwK,kBAAmBlC,EAAYv1K,QAAQwH,OACvCpF,UAAWmzK,EAAYv1K,QAAQ03K,UAAU,CAACnC,EAAYv1K,QAAQwH,OAAQ+tK,EAAYv1K,QAAQk0H,MAAM,CAC9F1tG,KAAM+uJ,EAAYv1K,QAAQwH,OAAOizG,WACjCk9D,UAAWpC,EAAYv1K,QAAQwH,OAAOizG,WACtC28D,YAAa7B,EAAYv1K,QAAQwH,OAAOizG,eAE1Cm9D,iBAAkBrC,EAAYv1K,QAAQ03K,UAAU,CAACnC,EAAYv1K,QAAQwH,OAAQ+tK,EAAYv1K,QAAQk0H,MAAM,CACrG1tG,KAAM+uJ,EAAYv1K,QAAQwH,OAAOizG,WACjCk9D,UAAWpC,EAAYv1K,QAAQwH,OAAOizG,WACtC28D,YAAa7B,EAAYv1K,QAAQwH,OAAOizG,eAE1CtwC,WAAYorG,EAAYv1K,QAAQ03K,UAAU,CAACnC,EAAYv1K,QAAQ63K,WAAWjC,EAAkB51K,SAAUu1K,EAAYv1K,QAAQ63K,WAAW7tG,EAAiBzuB,oBAAqBg6H,EAAYv1K,QAAQ63K,WAAW7tG,EAAiB1uB,cAAei6H,EAAYv1K,QAAQ83K,QAAQvC,EAAYv1K,QAAQ63K,WAAWjC,EAAkB51K,YACvT+3K,YAAaxC,EAAYv1K,QAAQg4K,KACjCC,eAAgB1C,EAAYv1K,QAAQg4K,KACpCb,eAAgB5B,EAAYv1K,QAAQw0B,OACpC0jJ,YAAa3C,EAAYv1K,QAAQu3K,KACjCY,uBAAwB5C,EAAYv1K,QAAQu3K,KAC5Ca,0BAA2B7C,EAAYv1K,QAAQu3K,KAC/Cc,4BAA6B9C,EAAYv1K,QAAQu3K,KACjDe,cAAe/C,EAAYv1K,QAAQu3K,KACnCrB,eAAgBX,EAAYv1K,QAAQg4K,KACpCO,KAAMhD,EAAYv1K,QAAQhE,OAC1BmM,KAAMotK,EAAYv1K,QAAQhE,OAC1BgG,KAAMuzK,EAAYv1K,QAAQwH,OAC1BgxK,aAAcjD,EAAYv1K,QAAQwH,OAClCixK,iBAAkBlD,EAAYv1K,QAAQu3K,KACtCmB,WAAYnD,EAAYv1K,QAAQg4K,KAChCW,WAAYpD,EAAYv1K,QAAQg4K,KAChCr2K,GAAI4zK,EAAYv1K,QAAQwH,OACxBoxK,eAAgBrD,EAAYv1K,QAAQg4K,KACpCa,eAAgBtD,EAAYv1K,QAAQg4K,MAEtC7B,EAAMt8F,aAAe,CACnBo9F,QAAQ,EACR/B,gBAAiBA,EACjBD,kBAAmBA,EACnBjzK,KAAM,SACNk2K,aAAa,EACbf,eAAgB,EAChBgB,wBAAwB,EACxBM,kBAAkB,EAClBL,2BAA2B,EAC3BC,6BAA6B,EAC7BC,eAAe,EACfpC,eAAgB,WACd,OAAOz/G,SAAShpB,MAElBmrI,eAAgB,SAAwBr7K,EAAOu7K,GAC7C,OAAO1D,EAAQp1K,QAAQkC,cACrB,MACA3E,EACAu7K,IAGJD,eAAgB,SAAwBt7K,EAAOuH,GAC7C,OAAOswK,EAAQp1K,QAAQkC,cACrB,MACA3E,EACAuH,KAINqxK,EAAMQ,cAAgB,CACpBa,QAAS,CACP1nJ,SAAU,QACV08C,IAAK,EACLt3C,KAAM,EACNC,MAAO,EACP4jJ,OAAQ,EACR78D,gBAAiB,6BAEnBp5G,QAAS,CACPgtB,SAAU,WACV08C,IAAK,OACLt3C,KAAM,OACNC,MAAO,OACP4jJ,OAAQ,OACRC,OAAQ,iBACRC,WAAY,OACZ1sG,SAAU,OACV2sG,wBAAyB,QACzBC,aAAc,MACdC,QAAS,OACTriJ,QAAS,UAKb,EAAI8+I,EAAuBljI,UAAUwjI,GAQrCrhL,EAAQkL,QAAUm2K,G,6BClSlB,IAAIkD,EAAuBn6K,EAAQ,KAEnC,SAASo6K,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3Cr6K,EAAOnK,QAAU,WACf,SAAS2kL,EAAKl8K,EAAOm8K,EAAUC,EAAeroI,EAAUsoI,EAAcC,GACpE,GAAIA,IAAWR,EAAf,CAIA,IAAIjjL,EAAM,IAAIgB,MACZ,mLAKF,MADAhB,EAAImF,KAAO,sBACLnF,GAGR,SAAS0jL,IACP,OAAOL,EAFTA,EAAKh/D,WAAag/D,EAMlB,IAAIM,EAAiB,CACnB5yK,MAAOsyK,EACPO,OAAQP,EACRlC,KAAMkC,EACNzB,KAAMyB,EACNjlJ,OAAQilJ,EACRz9K,OAAQy9K,EACRjyK,OAAQiyK,EACR1L,OAAQ0L,EAERQ,IAAKR,EACL3B,QAASgC,EACThyG,QAAS2xG,EACTp7E,YAAao7E,EACb5B,WAAYiC,EACZvqJ,KAAMkqJ,EACNS,SAAUJ,EACVK,MAAOL,EACPpC,UAAWoC,EACX5lD,MAAO4lD,EACPM,MAAON,EAEPO,eAAgBd,EAChBC,kBAAmBF,GAKrB,OAFAS,EAAeO,UAAYP,EAEpBA,I,6BCpDT96K,EAAOnK,QAFoB,gD,6BCP3BE,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAGT,IAAI+1E,EAAW92E,OAAOof,QAAU,SAAU9W,GAAU,IAAK,IAAIrC,EAAI,EAAGA,EAAIwD,UAAUzD,OAAQC,IAAK,CAAE,IAAI0E,EAASlB,UAAUxD,GAAI,IAAK,IAAInF,KAAO6J,EAAc3K,OAAOC,UAAUE,eAAegD,KAAKwH,EAAQ7J,KAAQwH,EAAOxH,GAAO6J,EAAO7J,IAAY,OAAOwH,GAEnP4uC,EAA4B,oBAAX72C,QAAoD,kBAApBA,OAAOE,SAAwB,SAAUM,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,oBAAXR,QAAyBQ,EAAIyF,cAAgBjG,QAAUQ,IAAQR,OAAOJ,UAAY,gBAAkBY,GAElQ4H,EAAe,WAAc,SAASoC,EAAiBvC,EAAQC,GAAS,IAAK,IAAItC,EAAI,EAAGA,EAAIsC,EAAMvC,OAAQC,IAAK,CAAE,IAAIuC,EAAaD,EAAMtC,GAAIuC,EAAWvH,WAAauH,EAAWvH,aAAc,EAAOuH,EAAWtH,cAAe,EAAU,UAAWsH,IAAYA,EAAWrH,UAAW,GAAMnB,OAAOgB,eAAesH,EAAQE,EAAW1H,IAAK0H,IAAiB,OAAO,SAAUE,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYkC,EAAiBnC,EAAYzI,UAAW0I,GAAiBC,GAAaiC,EAAiBnC,EAAaE,GAAqBF,GAA7gB,GAEfy3K,EAASj2K,EAAQ,IAIjBq2K,EAAcF,EAFDn2K,EAAQ,MAMrBq7K,EAAe5E,EAFCz2K,EAAQ,MAMxBs7K,EAAanF,EAFDn2K,EAAQ,MAMpBu2K,EAAeE,EAFCz2K,EAAQ,MAMxBy3D,EAAYg/G,EAFCz2K,EAAQ,MAIrB8qE,EAAmB9qE,EAAQ,KAE3B02K,EAAoBP,EAAuBrrG,GAI3CywG,EAAwBpF,EAFDn2K,EAAQ,MAMnC,SAASy2K,EAAwB9/K,GAAO,GAAIA,GAAOA,EAAIu5B,WAAc,OAAOv5B,EAAc,IAAI6/K,EAAS,GAAI,GAAW,MAAP7/K,EAAe,IAAK,IAAIC,KAAOD,EAAWb,OAAOC,UAAUE,eAAegD,KAAKtC,EAAKC,KAAM4/K,EAAO5/K,GAAOD,EAAIC,IAAgC,OAAtB4/K,EAAO11K,QAAUnK,EAAY6/K,EAElQ,SAASL,EAAuBx/K,GAAO,OAAOA,GAAOA,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,GAJvFqJ,EAAQ,KAaR,IAAIw7K,EAAc,CAChBlD,QAAS,sBACT10K,QAAS,uBAeP63K,EAAsB,EAEtBC,EAAc,SAAUxE,GAG1B,SAASwE,EAAYr9K,IA7BvB,SAAyBO,EAAUJ,GAAe,KAAMI,aAAoBJ,GAAgB,MAAM,IAAI9D,UAAU,qCA8B5GiE,CAAgBtF,KAAMqiL,GAEtB,IAAIrvG,EA9BR,SAAoC/0E,EAAM2B,GAAQ,IAAK3B,EAAQ,MAAM,IAAI47B,eAAe,6DAAgE,OAAOj6B,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B3B,EAAP2B,EA8BlNo0C,CAA2Bh0C,MAAOqiL,EAAYl/K,WAAa1G,OAAOyD,eAAemiL,IAAcziL,KAAKI,KAAMgF,IAqMtH,OAnMAguE,EAAMsvG,cAAgB,SAAUrD,GAC9BjsG,EAAMisG,QAAUA,EAChBjsG,EAAMhuE,MAAMm7K,YAAcntG,EAAMhuE,MAAMm7K,WAAWlB,IAGnDjsG,EAAMuvG,cAAgB,SAAUh4K,GAC9ByoE,EAAMzoE,QAAUA,EAChByoE,EAAMhuE,MAAMo7K,YAAcptG,EAAMhuE,MAAMo7K,WAAW71K,IAGnDyoE,EAAMwvG,WAAa,WACjB,IAAIC,EAAczvG,EAAMhuE,MACpB4sE,EAAa6wG,EAAY7wG,WACzB+tG,EAAc8C,EAAY9C,YAC1BT,EAAoBuD,EAAYvD,kBAChCxC,EAAoB+F,EAAY/F,kBAChCiB,EAAiB8E,EAAY9E,eAG7B+E,EAAiB/E,GAAkBA,IAAiB90F,eAAiB3qB,SAGzEw+G,GAAqBt+G,EAAUC,OAAOqkH,EAAextI,KAAMwnI,GAE3DwC,GAAqB9gH,EAAUC,OAAOqkH,EAAerjH,qBAAqB,QAAQ,GAAI6/G,GAGlFS,GAAeyC,EAAsB,GAGX,KAF5BA,GAAuB,IAGrBlF,EAAahrG,KAAKN,GAIlBoB,EAAMhuE,MAAM46K,yBACV5sG,EAAMhuE,MAAM86K,6BACdkC,EAAaW,YAAY3vG,EAAMhuE,MAAM+6K,eACrCiC,EAAaY,uBAEbZ,EAAaa,mBAIb7vG,EAAMhuE,MAAM89K,cACd9vG,EAAMhuE,MAAM89K,eAGdZ,EAAsBz6K,QAAQyrE,WAAWF,IAG3CA,EAAMrlD,KAAO,WACXqlD,EAAM+vG,aACF/vG,EAAMt0E,MAAM0gL,WAAapsG,EAAMt0E,MAAMmgL,aACvCruJ,aAAawiD,EAAMgwG,YACnBhwG,EAAMiO,SAAS,CAAE49F,aAAa,MAE1B7rG,EAAMhuE,MAAM46K,yBACdoC,EAAaiB,iBAAiBjwG,EAAMh8C,MACpCgrJ,EAAakB,qBAGflwG,EAAMiO,SAAS,CAAEy9F,QAAQ,IAAQ,WAC/B1rG,EAAMmwG,mBAAqB3zI,uBAAsB,WAC/CwjC,EAAMiO,SAAS,CAAEm+F,WAAW,IAExBpsG,EAAMhuE,MAAM05K,QAAU1rG,EAAMhuE,MAAMw6K,aACpCxsG,EAAMhuE,MAAMw6K,YAAY,CACtB4D,UAAWpwG,EAAMisG,QACjBsB,UAAWvtG,EAAMzoE,kBAQ7ByoE,EAAMnU,MAAQ,WACRmU,EAAMhuE,MAAM45K,eAAiB,EAC/B5rG,EAAM8rG,mBAEN9rG,EAAMqwG,uBAIVrwG,EAAMswG,aAAe,WACnB,OAAOtwG,EAAMzoE,UAAYyoE,EAAMuwG,mBAAqBvwG,EAAMzoE,QAAQwzC,MAAM,CAAEgiI,eAAe,KAG3F/sG,EAAM8rG,iBAAmB,WACvB,IAAIH,EAAWhuI,KAAKC,MAAQoiC,EAAMhuE,MAAM45K,eACxC5rG,EAAMiO,SAAS,CAAE49F,aAAa,EAAMF,SAAUA,IAAY,WACxD3rG,EAAMgwG,WAAazyJ,WAAWyiD,EAAMqwG,oBAAqBrwG,EAAMt0E,MAAMigL,SAAWhuI,KAAKC,WAIzFoiC,EAAMqwG,oBAAsB,WAC1BrwG,EAAMiO,SAAS,CACb49F,aAAa,EACbH,QAAQ,EACRU,WAAW,EACXT,SAAU,MACT3rG,EAAMwvG,aAGXxvG,EAAMwwG,cAAgB,SAAUvhH,IA1HrB,SAAkBA,GAC/B,MAAsB,QAAfA,EAAM90D,MAAoC,IAAlB80D,EAAM4zB,SA0H7B4tF,CAASxhH,KACX,EAAIggH,EAAWx6K,SAASurE,EAAMzoE,QAAS03D,GAGrC+Q,EAAMhuE,MAAMk7K,kBA5HP,SAAkBj+G,GAC/B,MAAsB,WAAfA,EAAM90D,MAAuC,KAAlB80D,EAAM4zB,QA2HA6tF,CAASzhH,KAC3CA,EAAM9mC,kBACN63C,EAAM2wG,aAAa1hH,KAIvB+Q,EAAM4wG,qBAAuB,SAAU3hH,GACX,OAAtB+Q,EAAM6wG,cACR7wG,EAAM6wG,aAAc,GAGlB7wG,EAAM6wG,aAAe7wG,EAAMhuE,MAAM66K,4BAC/B7sG,EAAM8wG,oBACR9wG,EAAM2wG,aAAa1hH,GAEnB+Q,EAAMswG,gBAGVtwG,EAAM6wG,YAAc,MAGtB7wG,EAAM+wG,uBAAyB,WAC7B/wG,EAAM6wG,aAAc,GAGtB7wG,EAAMgxG,yBAA2B,SAAU/hH,GACpC+Q,EAAMhuE,MAAM66K,2BAA6B59G,EAAMl9D,QAAUiuE,EAAMisG,SAClEh9G,EAAM/mC,kBAIV83C,EAAMixG,qBAAuB,WAC3BjxG,EAAM6wG,aAAc,GAGtB7wG,EAAMkxG,yBAA2B,WAC/BlxG,EAAM6wG,aAAc,GAGtB7wG,EAAM2wG,aAAe,SAAU1hH,GAC7B,OAAO+Q,EAAM8wG,qBAAuB9wG,EAAMhuE,MAAM06K,eAAez9G,IAGjE+Q,EAAM8wG,kBAAoB,WACxB,OAAO9wG,EAAMhuE,MAAM06K,gBAGrB1sG,EAAMmxG,eAAiB,WACrB,OAAQnxG,EAAMt0E,MAAMggL,SAAW1rG,EAAMt0E,MAAMmgL,aAG7C7rG,EAAMuwG,gBAAkB,WACtB,OAAOrlH,SAAS+pB,gBAAkBjV,EAAMzoE,SAAWyoE,EAAMzoE,QAAQ0zD,SAASC,SAAS+pB,gBAGrFjV,EAAMoxG,eAAiB,SAAUzpF,EAAO0pF,GACtC,IAAItpK,EAAyF,YAArD,qBAAfspK,EAA6B,YAAc1wI,EAAQ0wI,IAA4BA,EAAa,CACnHp2J,KAAMk0J,EAAYxnF,GAClBykF,UAAW+C,EAAYxnF,GAAS,eAChCkkF,YAAasD,EAAYxnF,GAAS,kBAEhC9wF,EAAYkR,EAAWkT,KAO3B,OANI+kD,EAAMt0E,MAAM0gL,YACdv1K,EAAYA,EAAY,IAAMkR,EAAWqkK,WAEvCpsG,EAAMt0E,MAAMmgL,cACdh1K,EAAYA,EAAY,IAAMkR,EAAW8jK,aAEd,kBAAfwF,GAA2BA,EAAax6K,EAAY,IAAMw6K,EAAax6K,GAGvFmpE,EAAMsxG,qBAAuB,SAAUh9G,EAAQl7D,GAC7C,OAAO3P,OAAO+G,KAAK4I,GAAOgf,QAAO,SAAU6d,EAAKjmC,GAE9C,OADAimC,EAAIq+B,EAAS,IAAMtkE,GAAQoJ,EAAMpJ,GAC1BimC,IACN,KAGL+pC,EAAMt0E,MAAQ,CACZ0gL,WAAW,EACXP,aAAa,GAGf7rG,EAAM6wG,YAAc,KACpB7wG,EAAMuxG,yBAA2B,KAC1BvxG,EAsHT,OAvVF,SAAmBvtE,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIrE,UAAU,kEAAoEqE,GAAeD,EAAS/I,UAAYD,OAAO6B,OAAOoH,GAAcA,EAAWhJ,UAAW,CAAEqG,YAAa,CAAEvF,MAAOiI,EAAU/H,YAAY,EAAOE,UAAU,EAAMD,cAAc,KAAe+H,IAAYjJ,OAAOyG,eAAiBzG,OAAOyG,eAAeuC,EAAUC,GAAcD,EAAStC,UAAYuC,GAuB/dF,CAAU68K,EAAaxE,GA6MvB34K,EAAam9K,EAAa,CAAC,CACzB9kL,IAAK,oBACLC,MAAO,WACDwC,KAAKgF,MAAM05K,QACb1+K,KAAK2tB,SAGR,CACDpwB,IAAK,qBACLC,MAAO,SAA4B6gL,EAAWmG,GAYxCxkL,KAAKgF,MAAM05K,SAAWL,EAAUK,OAClC1+K,KAAK2tB,QACK3tB,KAAKgF,MAAM05K,QAAUL,EAAUK,QACzC1+K,KAAK6+D,QAIH7+D,KAAKgF,MAAM46K,wBAA0B5/K,KAAKtB,MAAMggL,SAAW8F,EAAU9F,QACvE1+K,KAAKsjL,iBAGR,CACD/lL,IAAK,uBACLC,MAAO,WACDwC,KAAKtB,MAAMggL,QACb1+K,KAAKwiL,aAEPhyJ,aAAaxwB,KAAKgjL,YAClBxvC,qBAAqBxzI,KAAKmjL,sBAE3B,CACD5lL,IAAK,aACLC,MAAO,WACL,IAAIihL,EAASz+K,KAAKgF,MACd4sE,EAAa6sG,EAAO7sG,WACpB+tG,EAAclB,EAAOkB,YACrBT,EAAoBT,EAAOS,kBAC3BxC,EAAoB+B,EAAO/B,kBAC3BiB,EAAiBc,EAAOd,eAGxB+E,EAAiB/E,GAAkBA,IAAiB90F,eAAiB3qB,SAGzEw+G,GAAqBt+G,EAAU/zC,IAAIq4J,EAAextI,KAAMwnI,GAExDwC,GAAqB9gH,EAAU/zC,IAAIq4J,EAAerjH,qBAAqB,QAAQ,GAAI6/G,GAE/ES,IACFyC,GAAuB,EACvBlF,EAAavrG,KAAKC,IAGpBswG,EAAsBz6K,QAAQooD,SAAS7vD,QAKxC,CACDzC,IAAK,SACLC,MAAO,WACL,IAAIinL,EAAUzkL,KAAKgF,MACfoE,EAAKq7K,EAAQr7K,GACbS,EAAY46K,EAAQ56K,UACpBw1K,EAAmBoF,EAAQpF,iBAC3BjB,EAAgBqG,EAAQrG,cACxB7xK,EAAWk4K,EAAQl4K,SAEnBm4K,EAAgB76K,EAAY,GAAKu0K,EAAc7zK,QAC/Co6K,EAAgBtF,EAAmB,GAAKjB,EAAca,QAE1D,GAAIj/K,KAAKmkL,iBACP,OAAO,KAGT,IAAIS,EAAe,CACjBh7K,IAAK5J,KAAKsiL,cACVz4K,UAAW7J,KAAKokL,eAAe,UAAW/E,GAC1CtrJ,MAAOw/C,EAAS,GAAIoxG,EAAe3kL,KAAKgF,MAAM+uB,MAAMkrJ,SACpDj1K,QAAShK,KAAK4jL,qBACdvpH,YAAar6D,KAAKgkL,0BAGhBa,EAAetxG,EAAS,CAC1BnqE,GAAIA,EACJQ,IAAK5J,KAAKuiL,cACVxuJ,MAAOw/C,EAAS,GAAImxG,EAAe1kL,KAAKgF,MAAM+uB,MAAMxpB,SACpDV,UAAW7J,KAAKokL,eAAe,UAAWv6K,GAC1C6pB,SAAU,KACVkmC,UAAW55D,KAAKwjL,cAChBnpH,YAAar6D,KAAKkkL,yBAClB5pH,UAAWt6D,KAAK+jL,uBAChB/5K,QAAShK,KAAKikL,qBACdx6K,KAAMzJ,KAAKgF,MAAMyE,KACjB,aAAczJ,KAAKgF,MAAMi7K,cACxBjgL,KAAKskL,qBAAqB,OAAQ/wG,EAAS,CAAEuxG,OAAO,GAAQ9kL,KAAKgF,MAAMg7K,OAAQhgL,KAAKskL,qBAAqB,OAAQtkL,KAAKgF,MAAM4K,MAAQ,IAAK,CAC1I,cAAe5P,KAAKgF,MAAM+/K,SAGxBzE,EAAiBtgL,KAAKgF,MAAMs7K,eAAeuE,EAAct4K,GAC7D,OAAOvM,KAAKgF,MAAMq7K,eAAeuE,EAActE,OAI5C+B,EAjUS,CAkUhBzF,EAAO16F,WAETmgG,EAAY/gG,aAAe,CACzBvtD,MAAO,CACLkrJ,QAAS,GACT10K,QAAS,IAEX6zK,cAAe,IAEjBiE,EAAYtD,UAAY,CACtBL,OAAQ1B,EAAYv1K,QAAQu3K,KAAK98D,WACjCk8D,cAAepB,EAAYv1K,QAAQk0H,MAAM,CACvCpxH,QAASyyK,EAAYv1K,QAAQhE,OAC7Bw7K,QAASjC,EAAYv1K,QAAQhE,SAE/BswB,MAAOipJ,EAAYv1K,QAAQk0H,MAAM,CAC/BpxH,QAASyyK,EAAYv1K,QAAQhE,OAC7Bw7K,QAASjC,EAAYv1K,QAAQhE,SAE/BoG,UAAWmzK,EAAYv1K,QAAQ03K,UAAU,CAACnC,EAAYv1K,QAAQwH,OAAQ+tK,EAAYv1K,QAAQhE,SAC1F47K,iBAAkBrC,EAAYv1K,QAAQ03K,UAAU,CAACnC,EAAYv1K,QAAQwH,OAAQ+tK,EAAYv1K,QAAQhE,SACjGk6K,eAAgBX,EAAYv1K,QAAQg4K,KACpC/C,kBAAmBM,EAAYv1K,QAAQwH,OACvCiwK,kBAAmBlC,EAAYv1K,QAAQwH,OACvC0wK,YAAa3C,EAAYv1K,QAAQu3K,KACjCptG,WAAYorG,EAAYv1K,QAAQ03K,UAAU,CAACnC,EAAYv1K,QAAQ63K,WAAWjC,EAAkB51K,SAAUu1K,EAAYv1K,QAAQ63K,WAAW7tG,EAAiBzuB,oBAAqBg6H,EAAYv1K,QAAQ63K,WAAW7tG,EAAiB1uB,cAAei6H,EAAYv1K,QAAQ83K,QAAQvC,EAAYv1K,QAAQ63K,WAAWjC,EAAkB51K,YACvT+3K,YAAaxC,EAAYv1K,QAAQg4K,KACjCqD,aAAc9F,EAAYv1K,QAAQg4K,KAClCC,eAAgB1C,EAAYv1K,QAAQg4K,KACpCb,eAAgB5B,EAAYv1K,QAAQw0B,OACpC2jJ,uBAAwB5C,EAAYv1K,QAAQu3K,KAC5Ca,0BAA2B7C,EAAYv1K,QAAQu3K,KAC/Cc,4BAA6B9C,EAAYv1K,QAAQu3K,KACjDe,cAAe/C,EAAYv1K,QAAQu3K,KACnCv1K,KAAMuzK,EAAYv1K,QAAQwH,OAC1BgxK,aAAcjD,EAAYv1K,QAAQwH,OAClC+wK,KAAMhD,EAAYv1K,QAAQhE,OAC1BmM,KAAMotK,EAAYv1K,QAAQhE,OAC1B8I,SAAUywK,EAAYv1K,QAAQuvB,KAC9BkpJ,iBAAkBlD,EAAYv1K,QAAQu3K,KACtCmB,WAAYnD,EAAYv1K,QAAQg4K,KAChCW,WAAYpD,EAAYv1K,QAAQg4K,KAChCr2K,GAAI4zK,EAAYv1K,QAAQwH,OACxBoxK,eAAgBrD,EAAYv1K,QAAQg4K,KACpCa,eAAgBtD,EAAYv1K,QAAQg4K,KACpCsF,OAAQ/H,EAAYv1K,QAAQwH,QAE9B1S,EAAQkL,QAAU46K,EAClB37K,EAAOnK,QAAUA,EAAO,S,6BC1bxBE,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQ40E,WAsBR,WACE6zG,EAAqB,IAtBvBzoL,EAAQglE,IA0BR,WACMrxC,GA1BN3zB,EAAQ0oL,WAAaA,EACrB1oL,EAAQ2oL,YAAcA,EACtB3oL,EAAQ2mL,kBA4DR,WACE8B,EAAmB9iL,KAAKg8D,SAAS+pB,gBA5DnC1rF,EAAQomL,YAgER,WACE,IAAI5C,EAAgB75K,UAAUzD,OAAS,QAAsBrB,IAAjB8E,UAAU,IAAmBA,UAAU,GAE/Ei/K,EAAU,KACd,IAKE,YAJkC,IAA9BH,EAAmBviL,SACrB0iL,EAAUH,EAAmBrhL,OACrBo6C,MAAM,CAAEgiI,cAAeA,KAGjC,MAAOv4K,GACP+zB,QAAQi1C,KAAK,CAAC,+BAAgC20G,EAAS,oCAAoCxvK,KAAK,QA1EpGpZ,EAAQsmL,gBA+ER,WACEmC,EAAmBviL,OAAS,GAAKuiL,EAAmBrhL,OA/EtDpH,EAAQ0mL,iBAkFR,SAA0B1zG,GACxB61G,EAAe71G,EAEXx/C,OAAOgqB,kBACThqB,OAAOgqB,iBAAiB,OAAQkrI,GAAY,GAC5C/mH,SAASnkB,iBAAiB,QAASmrI,GAAa,KAEhDn1J,OAAOotE,YAAY,SAAU8nF,GAC7B/mH,SAASi/B,YAAY,UAAW+nF,KAzFpC3oL,EAAQqmL,oBA6FR,WACEwC,EAAe,KAEXr1J,OAAOgqB,kBACThqB,OAAOmqB,oBAAoB,OAAQ+qI,GACnC/mH,SAAShkB,oBAAoB,QAASgrI,KAEtCn1J,OAAOktE,YAAY,SAAUgoF,GAC7B/mH,SAAS++B,YAAY,UAAWioF,KAnGpC,IAIgC5nL,EAJ5B+nL,EAAY1+K,EAAQ,KAEpB2+K,GAE4BhoL,EAFQ+nL,IAEa/nL,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,GAEvF,IAAI0nL,EAAqB,GACrBI,EAAe,KACfG,GAAc,EAqBlB,SAASN,IACPM,GAAc,EAGhB,SAASL,IACP,GAAIK,EAAa,CAEf,GADAA,GAAc,GACTH,EACH,OAOF70J,YAAW,WACL60J,EAAannH,SAASC,SAAS+pB,kBAG1B,EAAIq9F,EAAW79K,SAAS29K,GAAc,IAAMA,GAClDrnI,UACF,M,6BC/DPthD,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQkL,QAcR,SAAkBuvB,EAAMirC,GACtB,IAAI2N,GAAW,EAAI01G,EAAW79K,SAASuvB,GAEvC,IAAK44C,EAASntE,OAGZ,YADAw/D,EAAM/mC,iBAIR,IAAIn2B,OAAS,EAET8yF,EAAW51B,EAAM41B,SACjBxZ,EAAOzO,EAAS,GAChBujC,EAAOvjC,EAASA,EAASntE,OAAS,GAClCwlF,EAAgBu9F,IAIpB,GAAIxuJ,IAASixD,EAAe,CAC1B,IAAK4P,EAAU,OACf9yF,EAASouG,EAGPA,IAASlrB,GAAkB4P,IAC7B9yF,EAASs5E,GAGPA,IAAS4J,GAAiB4P,IAC5B9yF,EAASouG,GAGX,GAAIpuG,EAGF,OAFAk9D,EAAM/mC,sBACNn2B,EAAOg5C,QAeT,IAAI0nI,EAAc,4BAA4B16H,KAAKn3B,UAAUua,WAK7D,GAJqC,MAAfs3I,GAAyC,UAAlBA,EAAY,IAAoE,MAAlD,qBAAqB16H,KAAKn3B,UAAUua,WAIzF,OAEtB,IAAI7lC,EAAIsnE,EAASz+D,QAAQ82E,GAErB3/E,GAAK,IACPA,GAAKuvF,GAAY,EAAI,GAOvB,GAAsB,qBAJtB9yF,EAAS6qE,EAAStnE,IAQhB,OAHA25D,EAAM/mC,sBACNn2B,EAAS8yF,EAAWsb,EAAO90B,GACpBtgC,QAITkkB,EAAM/mC,iBAENn2B,EAAOg5C,SAtFT,IAIgCzgD,EAJ5B+nL,EAAY1+K,EAAQ,KAEpB2+K,GAE4BhoL,EAFQ+nL,IAEa/nL,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,GAEvF,SAASkoL,IACP,IAAI71G,EAAKzpE,UAAUzD,OAAS,QAAsBrB,IAAjB8E,UAAU,GAAmBA,UAAU,GAAKg4D,SAE7E,OAAOyR,EAAGsY,cAAcxkB,WAAa+hH,EAAiB71G,EAAGsY,cAAcxkB,YAAckM,EAAGsY,cA+E1FvhF,EAAOnK,QAAUA,EAAO,S,6BC/ExB,IAEImpL,EAAU,aA2Cdh/K,EAAOnK,QAAUmpL,G,gBC7DjB,OAOC,WACA,aAEA,IAAI5iI,IACe,qBAAX/yB,SACPA,OAAOmuC,WACPnuC,OAAOmuC,SAASv0D,eAGbg8K,EAAuB,CAE1B7iI,UAAWA,EAEX8iI,cAAiC,qBAAXxxC,OAEtByxC,qBACC/iI,MAAgB/yB,OAAOgqB,mBAAoBhqB,OAAOotE,aAEnD2oF,eAAgBhjI,KAAe/yB,OAAO+7G,aAKhC,KAANzuI,aACC,OAAOsoL,GADF,8BAvBP,I,6BCLDlpL,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQ40E,WAYR,WACE,IAAI40G,EAAc7nH,SAASmB,qBAAqB,QAAQ,GACxD,IAAK,IAAI2mH,KAAOC,EACdC,EAAYH,EAAaE,EAAcD,IAGzC,IAAI9wI,EAAOgpB,SAAShpB,KACpB,IAAK,IAAIixI,KAAQC,EACfF,EAAYhxI,EAAMkxI,EAAiBD,IAGrCF,EAAgB,GAChBG,EAAmB,IAvBrB7pL,EAAQglE,IA2BR,WACMrxC,GA3BN,IAAI+1J,EAAgB,GAChBG,EAAmB,GAIvB,SAASF,EAAYz7D,EAAIu7D,GACvBv7D,EAAGrsD,UAAUC,OAAO2nH,GAwGZzpL,EAAQ8tB,IAAM,SAAaklD,EAAS82G,GAC5C,OA5BmCC,EA4BjB/2G,EAAQnR,UA5BuBmoH,EA4BsB,QAAlCh3G,EAAQoB,SAAStgE,cAA0B41K,EAAgBG,OAAkBC,EAAYzxJ,MAAM,KA3B5Hr0B,SAAQ,SAAUsJ,IA5BH,SAA4B08K,EAAM18K,GACpD08K,EAAK18K,KACR08K,EAAK18K,GAAa,GAEpB08K,EAAK18K,IAAc,EAyBjB28K,CAAmBD,EAAM18K,GACzBy8K,EAAaj8J,IAAIxgB,MAHJ,IAAoBy8K,EAAcC,GAqCtChqL,EAAQ8hE,OAAS,SAAgBkR,EAAS82G,GACrD,OAxBuCC,EAwBnB/2G,EAAQnR,UAxByBmoH,EAwBoB,QAAlCh3G,EAAQoB,SAAStgE,cAA0B41K,EAAgBG,OAAkBC,EAAYzxJ,MAAM,KAvB9Hr0B,SAAQ,SAAUsJ,IA5BH,SAA4B08K,EAAM18K,GACrD08K,EAAK18K,KACP08K,EAAK18K,IAAc,GA2BnB48K,CAAmBF,EAAM18K,GACL,IAApB08K,EAAK18K,IAAoBy8K,EAAajoH,OAAOx0D,MAH9B,IAAsBy8K,EAAcC,I,6BCtGvD9pL,OAAOgB,eAAelB,EAAS,aAAc,CAC3CiB,OAAO,IAETjB,EAAQ40E,WAiBR,WAGE,IAFA,IAAIvjE,EAAO,CAAC0gB,EAAQE,GAEX/gB,EAAK,EAAGA,EAAKG,EAAKnL,OAAQgL,IAAM,CACvC,IAAI0sB,EAAOvsB,EAAKH,GACX0sB,IACLA,EAAK62C,YAAc72C,EAAK62C,WAAW4Y,YAAYzvD,IAEjD7L,EAASE,EAAQ,KACjBk4J,EAAY,IAzBdnqL,EAAQglE,IA6BR,WACEhmC,QAAQgmC,IAAI,uBACZhmC,QAAQgmC,IAAImlH,EAAUjkL,QAEtB,IADA,IAAIkkL,EAAQ,CAACr4J,EAAQE,GACZ6kB,EAAM,EAAGA,EAAMszI,EAAMlkL,OAAQ4wC,IAAO,CAC3C,IACIuzI,EADOD,EAAMtzI,IACG,GACpB9X,QAAQgmC,IAAIqlH,EAAMj2G,SAAUi2G,EAAM/8K,UAAW+8K,EAAMx9K,IAErDmyB,QAAQgmC,IAAI,4BApCd,IAIgCjkE,EAJ5BupL,EAAuBlgL,EAAQ,KAE/Bu7K,GAE4B5kL,EAFmBupL,IAEEvpL,EAAIu5B,WAAav5B,EAAM,CAAEmK,QAASnK,GAIvF,IAAIgxB,OAAS,EACTE,OAAQ,EACRk4J,EAAY,GA8BhB,SAASpD,IACkB,IAArBoD,EAAUjkL,QAOdikL,EAAUA,EAAUjkL,OAAS,GAAG6gL,eAoClCpB,EAAsBz6K,QAAQ0rE,WAjC9B,SAAkBE,EAAWP,GACtBxkD,GAAWE,KACdF,EAAS4vC,SAASv0D,cAAc,QACzBo2D,aAAa,6BAA8B,IAClDzxC,EAAOyF,MAAMwD,SAAW,WACxBjJ,EAAOyF,MAAMi4D,QAAU,IACvB19D,EAAOyxC,aAAa,WAAY,KAChCzxC,EAAOyrB,iBAAiB,QAASupI,IACjC90J,EAAQF,EAAO6wD,aACTplC,iBAAiB,QAASupI,KAGlCoD,EAAY5zG,GAEErwE,OAAS,GAEjBy7D,SAAShpB,KAAKopC,aAAehwD,GAC/B4vC,SAAShpB,KAAKqpC,aAAajwD,EAAQ4vC,SAAShpB,KAAKopC,YAE/CpgB,SAAShpB,KAAK80C,YAAcx7D,GAC9B0vC,SAAShpB,KAAK8qB,YAAYxxC,KAIxBF,EAAOuiD,eACTviD,EAAOuiD,cAAc+Y,YAAYt7D,GAE/BE,EAAMqiD,eACRriD,EAAMqiD,cAAc+Y,YAAYp7D,Q,6BChFtC,SAASs7E,IAEP,IAAIprG,EAAQsB,KAAK+C,YAAY4mG,yBAAyB3pG,KAAKgF,MAAOhF,KAAKtB,OACzD,OAAVA,QAA4B0C,IAAV1C,GACpBsB,KAAKihF,SAASviF,GAIlB,SAAS8qG,EAA0Bs9E,GAQjC9mL,KAAKihF,SALL,SAAiBujG,GACf,IAAI9lL,EAAQsB,KAAK+C,YAAY4mG,yBAAyBm9E,EAAWtC,GACjE,OAAiB,OAAV9lL,QAA4B0C,IAAV1C,EAAsBA,EAAQ,MAGnCg0B,KAAK1yB,OAG7B,SAASuxG,EAAoBu1E,EAAWC,GACtC,IACE,IAAI1I,EAAYr+K,KAAKgF,MACjBw/K,EAAYxkL,KAAKtB,MACrBsB,KAAKgF,MAAQ8hL,EACb9mL,KAAKtB,MAAQqoL,EACb/mL,KAAKgnL,6BAA8B,EACnChnL,KAAKinL,wBAA0BjnL,KAAK4pG,wBAClCy0E,EACAmG,GARJ,QAWExkL,KAAKgF,MAAQq5K,EACbr+K,KAAKtB,MAAQ8lL,GAUjB,SAASpqI,EAAS8nC,GAChB,IAAIxlF,EAAYwlF,EAAUxlF,UAE1B,IAAKA,IAAcA,EAAUskF,iBAC3B,MAAM,IAAIniF,MAAM,sCAGlB,GACgD,oBAAvCqjF,EAAUynB,0BAC4B,oBAAtCjtG,EAAUktG,wBAEjB,OAAO1nB,EAMT,IAAIglG,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,oBAAjC1qL,EAAUotG,mBACnBo9E,EAAqB,qBACmC,oBAAxCxqL,EAAUmtG,4BAC1Bq9E,EAAqB,6BAE4B,oBAAxCxqL,EAAU8sG,0BACnB29E,EAA4B,4BACmC,oBAA/CzqL,EAAU+sG,mCAC1B09E,EAA4B,oCAEe,oBAAlCzqL,EAAU60G,oBACnB61E,EAAsB,sBACmC,oBAAzC1qL,EAAU40G,6BAC1B81E,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAIhG,EAAgBl/F,EAAUv/E,aAAeu/E,EAAUl/E,KACnDqkL,EAC4C,oBAAvCnlG,EAAUynB,yBACb,6BACA,4BAEN,MAAM9qG,MACJ,2FACEuiL,EACA,SACAiG,EACA,uDACwB,OAAvBH,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IATjE,wIA0BJ,GARkD,oBAAvCllG,EAAUynB,2BACnBjtG,EAAUotG,mBAAqBA,EAC/BptG,EAAU8sG,0BAA4BA,GAMS,oBAAtC9sG,EAAUktG,wBAAwC,CAC3D,GAA4C,oBAAjCltG,EAAU80G,mBACnB,MAAM,IAAI3yG,MACR,qHAIJnC,EAAU60G,oBAAsBA,EAEhC,IAAIC,EAAqB90G,EAAU80G,mBAEnC90G,EAAU80G,mBAAqB,SAC7B6sE,EACAmG,EACA8C,GAUA,IAAI9I,EAAWx+K,KAAKgnL,4BAChBhnL,KAAKinL,wBACLK,EAEJ91E,EAAmB5xG,KAAKI,KAAMq+K,EAAWmG,EAAWhG,IAIxD,OAAOt8F,EA1JT,gDA6CA4nB,EAAmBy9E,8BAA+B,EAClD/9E,EAA0B+9E,8BAA+B,EACzDh2E,EAAoBg2E,8BAA+B","file":"static/js/2.3a3ebdd1.chunk.js","sourcesContent":["import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import { isBrowser, getLocation, getQueryString, detectEnv, appendToQueryString, } from \"@walletconnect/utils\";\nimport NetworkMonitor from \"./network\";\nconst WS = typeof global.WebSocket !== \"undefined\" ? global.WebSocket : require(\"ws\");\nclass SocketTransport {\n constructor(opts) {\n this.opts = opts;\n this._queue = [];\n this._events = [];\n this._subscriptions = [];\n this._protocol = opts.protocol;\n this._version = opts.version;\n this._url = \"\";\n this._netMonitor = null;\n this._socket = null;\n this._nextSocket = null;\n this._subscriptions = opts.subscriptions || [];\n this._netMonitor = opts.netMonitor || new NetworkMonitor();\n if (!opts.url || typeof opts.url !== \"string\") {\n throw new Error(\"Missing or invalid WebSocket url\");\n }\n this._url = opts.url;\n this._netMonitor.on(\"online\", () => this._socketCreate());\n }\n set readyState(value) {\n }\n get readyState() {\n return this._socket ? this._socket.readyState : -1;\n }\n set connecting(value) {\n }\n get connecting() {\n return this.readyState === 0;\n }\n set connected(value) {\n }\n get connected() {\n return this.readyState === 1;\n }\n set closing(value) {\n }\n get closing() {\n return this.readyState === 2;\n }\n set closed(value) {\n }\n get closed() {\n return this.readyState === 3;\n }\n open() {\n this._socketCreate();\n }\n close() {\n this._socketClose();\n }\n send(message, topic, silent) {\n if (!topic || typeof topic !== \"string\") {\n throw new Error(\"Missing or invalid topic field\");\n }\n this._socketSend({\n topic: topic,\n type: \"pub\",\n payload: message,\n silent: !!silent,\n });\n }\n subscribe(topic) {\n this._socketSend({\n topic: topic,\n type: \"sub\",\n payload: \"\",\n silent: true,\n });\n }\n on(event, callback) {\n this._events.push({ event, callback });\n }\n _socketCreate() {\n if (this._nextSocket) {\n return;\n }\n const url = getWebSocketUrl(this._url, this._protocol, this._version);\n this._nextSocket = new WS(url);\n if (!this._nextSocket) {\n throw new Error(\"Failed to create socket\");\n }\n this._nextSocket.onmessage = (event) => this._socketReceive(event);\n this._nextSocket.onopen = () => this._socketOpen();\n this._nextSocket.onerror = (event) => this._socketError(event);\n this._nextSocket.onclose = () => {\n setTimeout(() => {\n this._nextSocket = null;\n this._socketCreate();\n }, 1000);\n };\n }\n _socketOpen() {\n this._socketClose();\n this._socket = this._nextSocket;\n this._nextSocket = null;\n this._queueSubscriptions();\n this._pushQueue();\n }\n _socketClose() {\n if (this._socket) {\n this._socket.onclose = () => {\n };\n this._socket.close();\n }\n }\n _socketSend(socketMessage) {\n const message = JSON.stringify(socketMessage);\n if (this._socket && this._socket.readyState === 1) {\n this._socket.send(message);\n }\n else {\n this._setToQueue(socketMessage);\n this._socketCreate();\n }\n }\n async _socketReceive(event) {\n let socketMessage;\n try {\n socketMessage = JSON.parse(event.data);\n }\n catch (error) {\n return;\n }\n this._socketSend({\n topic: socketMessage.topic,\n type: \"ack\",\n payload: \"\",\n silent: true,\n });\n if (this._socket && this._socket.readyState === 1) {\n const events = this._events.filter(event => event.event === \"message\");\n if (events && events.length) {\n events.forEach(event => event.callback(socketMessage));\n }\n }\n }\n _socketError(e) {\n const events = this._events.filter(event => event.event === \"error\");\n if (events && events.length) {\n events.forEach(event => event.callback(e));\n }\n }\n _queueSubscriptions() {\n const subscriptions = this._subscriptions;\n subscriptions.forEach((topic) => this._queue.push({\n topic: topic,\n type: \"sub\",\n payload: \"\",\n silent: true,\n }));\n this._subscriptions = this.opts.subscriptions || [];\n }\n _setToQueue(socketMessage) {\n this._queue.push(socketMessage);\n }\n _pushQueue() {\n const queue = this._queue;\n queue.forEach((socketMessage) => this._socketSend(socketMessage));\n this._queue = [];\n }\n}\nfunction getWebSocketUrl(_url, protocol, version) {\n var _a, _b;\n const url = _url.startsWith(\"https\")\n ? _url.replace(\"https\", \"wss\")\n : _url.startsWith(\"http\")\n ? _url.replace(\"http\", \"ws\")\n : _url;\n const splitUrl = url.split(\"?\");\n const params = isBrowser()\n ? {\n protocol,\n version,\n env: \"browser\",\n host: ((_a = getLocation()) === null || _a === void 0 ? void 0 : _a.host) || \"\",\n }\n : {\n protocol,\n version,\n env: ((_b = detectEnv()) === null || _b === void 0 ? void 0 : _b.name) || \"\",\n };\n const queryString = appendToQueryString(getQueryString(splitUrl[1] || \"\"), params);\n return splitUrl[0] + \"?\" + queryString;\n}\nexport default SocketTransport;\n//# sourceMappingURL=index.js.map","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import base32 from 'hi-base32';\nimport * as nacl from '../nacl/naclWrappers';\nimport * as utils from '../utils/utils';\nimport { encodeUint64 } from './uint64';\nconst ALGORAND_ADDRESS_BYTE_LENGTH = 36;\nconst ALGORAND_CHECKSUM_BYTE_LENGTH = 4;\nconst ALGORAND_ADDRESS_LENGTH = 58;\nexport const ALGORAND_ZERO_ADDRESS_STRING = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ';\n// Convert \"MultisigAddr\" UTF-8 to byte array\nconst MULTISIG_PREIMG2ADDR_PREFIX = new Uint8Array([\n 77,\n 117,\n 108,\n 116,\n 105,\n 115,\n 105,\n 103,\n 65,\n 100,\n 100,\n 114,\n]);\nconst APP_ID_PREFIX = Buffer.from('appID');\nexport const MALFORMED_ADDRESS_ERROR_MSG = 'address seems to be malformed';\nexport const CHECKSUM_ADDRESS_ERROR_MSG = 'wrong checksum for address';\nexport const INVALID_MSIG_VERSION_ERROR_MSG = 'invalid multisig version';\nexport const INVALID_MSIG_THRESHOLD_ERROR_MSG = 'bad multisig threshold';\nexport const INVALID_MSIG_PK_ERROR_MSG = 'bad multisig public key - wrong length';\nexport const UNEXPECTED_PK_LEN_ERROR_MSG = 'nacl public key length is not 32 bytes';\n/**\n * decodeAddress takes an Algorand address in string form and decodes it into a Uint8Array.\n * @param address - an Algorand address with checksum.\n * @returns the decoded form of the address's public key and checksum\n */\nexport function decodeAddress(address) {\n if (typeof address !== 'string' || address.length !== ALGORAND_ADDRESS_LENGTH)\n throw new Error(MALFORMED_ADDRESS_ERROR_MSG);\n // try to decode\n const decoded = base32.decode.asBytes(address.toString());\n // Sanity check\n if (decoded.length !== ALGORAND_ADDRESS_BYTE_LENGTH)\n throw new Error(MALFORMED_ADDRESS_ERROR_MSG);\n // Find publickey and checksum\n const pk = new Uint8Array(decoded.slice(0, ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH));\n const cs = new Uint8Array(decoded.slice(nacl.PUBLIC_KEY_LENGTH, ALGORAND_ADDRESS_BYTE_LENGTH));\n // Compute checksum\n const checksum = nacl\n .genericHash(pk)\n .slice(nacl.HASH_BYTES_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.HASH_BYTES_LENGTH);\n // Check if the checksum and the address are equal\n if (!utils.arrayEqual(checksum, cs))\n throw new Error(CHECKSUM_ADDRESS_ERROR_MSG);\n return { publicKey: pk, checksum: cs };\n}\n/**\n * isValidAddress checks if a string is a valid Algorand address.\n * @param address - an Algorand address with checksum.\n * @returns true if valid, false otherwise\n */\nexport function isValidAddress(address) {\n // Try to decode\n try {\n decodeAddress(address);\n }\n catch (e) {\n return false;\n }\n return true;\n}\n/**\n * encodeAddress takes an Algorand address as a Uint8Array and encodes it into a string with checksum.\n * @param address - a raw Algorand address\n * @returns the address and checksum encoded as a string.\n */\nexport function encodeAddress(address) {\n // compute checksum\n const checksum = nacl\n .genericHash(address)\n .slice(nacl.PUBLIC_KEY_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.PUBLIC_KEY_LENGTH);\n const addr = base32.encode(utils.concatArrays(address, checksum));\n return addr.toString().slice(0, ALGORAND_ADDRESS_LENGTH); // removing the extra '===='\n}\n/**\n * fromMultisigPreImg takes multisig parameters and returns a 32 byte typed array public key,\n * representing an address that identifies the \"exact group, version, and public keys\" that are required for signing.\n * Hash(\"MultisigAddr\" || version uint8 || threshold uint8 || PK1 || PK2 || ...)\n * Encoding this output yields a human readable address.\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param pks - array of typed array public keys\n */\nexport function fromMultisigPreImg({ version, threshold, pks, }) {\n if (version !== 1 || version > 255 || version < 0) {\n // ^ a tad redundant, but in case in the future version != 1, still check for uint8\n throw new Error(INVALID_MSIG_VERSION_ERROR_MSG);\n }\n if (threshold === 0 ||\n pks.length === 0 ||\n threshold > pks.length ||\n threshold > 255) {\n throw new Error(INVALID_MSIG_THRESHOLD_ERROR_MSG);\n }\n const pkLen = ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH;\n if (pkLen !== nacl.PUBLIC_KEY_LENGTH) {\n throw new Error(UNEXPECTED_PK_LEN_ERROR_MSG);\n }\n const merged = new Uint8Array(MULTISIG_PREIMG2ADDR_PREFIX.length + 2 + pkLen * pks.length);\n merged.set(MULTISIG_PREIMG2ADDR_PREFIX, 0);\n merged.set([version], MULTISIG_PREIMG2ADDR_PREFIX.length);\n merged.set([threshold], MULTISIG_PREIMG2ADDR_PREFIX.length + 1);\n for (let i = 0; i < pks.length; i++) {\n if (pks[i].length !== pkLen) {\n throw new Error(INVALID_MSIG_PK_ERROR_MSG);\n }\n merged.set(pks[i], MULTISIG_PREIMG2ADDR_PREFIX.length + 2 + i * pkLen);\n }\n return new Uint8Array(nacl.genericHash(merged));\n}\n/**\n * fromMultisigPreImgAddrs takes multisig parameters and returns a human readable Algorand address.\n * This is equivalent to fromMultisigPreImg, but interfaces with encoded addresses.\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param addrs - array of encoded addresses\n */\nexport function fromMultisigPreImgAddrs({ version, threshold, addrs, }) {\n const pks = addrs.map((addr) => decodeAddress(addr).publicKey);\n return encodeAddress(fromMultisigPreImg({ version, threshold, pks }));\n}\n/**\n * Get the escrow address of an application.\n * @param appID - The ID of the application.\n * @returns The address corresponding to that application's escrow account.\n */\nexport function getApplicationAddress(appID) {\n const toBeSigned = utils.concatArrays(APP_ID_PREFIX, encodeUint64(appID));\n const hash = nacl.genericHash(toBeSigned);\n return encodeAddress(new Uint8Array(hash));\n}\n//# sourceMappingURL=address.js.map","/**\n * Base class for models\n */\n/* eslint-disable no-underscore-dangle,camelcase */\nfunction _is_primitive(val) {\n /* eslint-enable no-underscore-dangle,camelcase */\n return (val === undefined ||\n val == null ||\n (typeof val !== 'object' && typeof val !== 'function'));\n}\nfunction _get_obj_for_encoding(val, binary) {\n /* eslint-enable no-underscore-dangle,camelcase,no-redeclare,no-unused-vars */\n let targetPropValue;\n if (val instanceof Uint8Array) {\n targetPropValue = binary ? val : Buffer.from(val).toString('base64');\n }\n else if (typeof val.get_obj_for_encoding === 'function') {\n targetPropValue = val.get_obj_for_encoding(binary);\n }\n else if (Array.isArray(val)) {\n targetPropValue = [];\n for (const elem of val) {\n targetPropValue.push(_get_obj_for_encoding(elem, binary));\n }\n }\n else if (typeof val === 'object') {\n const obj = {};\n for (const prop of Object.keys(val)) {\n obj[prop] = _get_obj_for_encoding(val[prop], binary);\n }\n targetPropValue = obj;\n }\n else if (_is_primitive(val)) {\n targetPropValue = val;\n }\n else {\n throw new Error(`Unsupported value: ${String(val)}`);\n }\n return targetPropValue;\n}\nexport default class BaseModel {\n /**\n * Get an object ready for encoding to either JSON or msgpack.\n * @param binary - Use true to indicate that the encoding can handle raw binary objects\n * (Uint8Arrays). Use false to indicate that raw binary objects should be converted to base64\n * strings. True should be used for objects that will be encoded with msgpack, and false should\n * be used for objects that will be encoded with JSON.\n */\n get_obj_for_encoding(binary = false) {\n /* eslint-enable no-underscore-dangle,camelcase */\n const obj = {};\n for (const prop of Object.keys(this.attribute_map)) {\n const name = this.attribute_map[prop];\n const value = this[prop];\n if (typeof value !== 'undefined') {\n obj[name] =\n value === null ? null : _get_obj_for_encoding(value, binary);\n }\n }\n return obj;\n }\n}\n//# sourceMappingURL=basemodel.js.map","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}Object.defineProperty(exports,\"__esModule\",{value:!0});var t=require(\"react\"),r=e(t),s=e(require(\"classnames\")),i=require(\"./FormField.js\");require(\"uuid\");var a=require(\"./List.js\");require(\"./keyboardEventConstants-5e9cc0de.js\");var o=require(\"./ListItem.js\"),n=require(\"./_tslib-b1014349.js\");require(\"./numberUtils-17dd20cc.js\");var d=require(\"./Input.js\"),u=require(\"./Spinner.js\"),c=require(\"./Button.js\"),p=require(\"./PasswordInput.js\"),l=require(\"./FileInput.js\"),m=require(\"./Checkbox.js\"),x=require(\"./Radio.js\"),b=require(\"./RadioGroup.js\"),q=require(\"./TypeaheadInput.js\"),T=require(\"./Dropdown-bd5bde03.js\"),j=require(\"./TypeaheadSelect.js\");require(\"./arrayUtils-3b3eed7f.js\");var v=require(\"./FileUploadButton.js\");require(\"react-textarea-autosize\");var f=require(\"./Textarea.js\"),C=require(\"./Toggle.js\"),h=require(\"./Switch.js\"),I=require(\"./DateTimer-b05daf68.js\"),_=require(\"./ProgressBar.js\"),D=require(\"./Toast-d1e1da95.js\");require(\"react-dom\");var y=r.forwardRef((function(e,t){var i=e.id,a=e.title,o=e.description,n=e.customClassNames,d=e.testid,u=e.role,c=n||{},p=c.container,l=c.title,m=c.description;return r.createElement(\"div\",{ref:t,className:p,\"data-testid\":d,id:i,role:u},r.createElement(\"dt\",{className:s(\"description-term__title\",l)},a),r.createElement(\"dd\",{className:s(\"description-term__description\",m)},o))}));function E(e){var t=e.testid,i=e.tab,a=e.onClick,n=e.index,d=e.isActive;return r.createElement(o,{customClassName:s(\"tab-header-item\",{\"tab-header-item--is-active\":d,\"tab-header-item--is-disabled\":i.isDisabled}),clickableListItemProps:{onClick:function(){if(i.isDisabled)return;a(n)}},testid:t},i.icon&&r.createElement(\"span\",{className:\"tab-header-item__icon\"},i.icon),i.content)}exports.FormField=i,exports.List=a,exports.ListItem=o,exports.Input=d,exports.Spinner=u,exports.Button=c,exports.PasswordInput=p,exports.FileInput=l,exports.CheckboxInput=m,exports.RadioInput=x,exports.RadioGroup=b,exports.TypeaheadInput=q,exports.Dropdown=T.Dropdown,exports.TypeaheadSelect=j,exports.FileUploadButton=v,exports.Textarea=f,exports.Toggle=C.Toggle,exports.Switch=h,exports.DateTimer=I.DateTimer,exports.useDateTimer=I.useDateTimer,exports.ProgressBar=_,exports.Toast=D.Toast,exports.ToastContext=D.ToastContext,exports.ToastContextProvider=D.ToastContextProvider,exports.useToastContext=D.useToastContext,exports.useToaster=D.useToaster,exports.DescriptionTerm=y,exports.Tab=function(e){var i=e.testid,o=e.items,d=e.initialActiveTabIndex,u=void 0===d?0:d,c=e.activeTabIndex,p=e.children,l=e.customClassName,m=e.onTabChange,x=n.__read(t.useState(u),2),b=x[0],q=x[1],T=s(\"tab\",l);return r.createElement(\"div\",{className:T},r.createElement(a,{testid:i+\".header\",customClassName:\"tab__header\",items:o},(function(e,t,s){return r.createElement(E,{testid:t,onClick:j,tab:e,isActive:void 0===c?b===s:c===s,index:s})})),r.createElement(\"div\",{className:\"tab__body\",\"data-testid\":i+\".body\"},p[void 0===c?b:c]));function j(e){m&&e!==c&&m(e),void 0===c&&q(e)}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","import IntDecoding from '../../types/intDecoding';\n/**\n * Base abstract class for JSON requests.\n *\n * Data: The type returned from the `do()` method\n *\n * Body: The structure of the response's body\n */\nexport default class JSONRequest {\n /**\n * @param client - HTTPClient object.\n * @param intDecoding - The method to use\n * for decoding integers from this request's response. See the setIntDecoding method for more\n * details.\n */\n constructor(client, intDecoding) {\n this.c = client;\n this.query = {};\n this.intDecoding = intDecoding || IntDecoding.DEFAULT;\n }\n /**\n * Prepare a JSON response before returning it.\n *\n * Use this method to change and restructure response\n * data as needed after receiving it from the `do()` method.\n * @param body - Response body received\n * @category JSONRequest\n */\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n return body;\n }\n /**\n * Execute the request.\n * @param headers - Additional headers to send in the request. Optional.\n * @returns A promise which resolves to the parsed response data.\n * @category JSONRequest\n */\n async do(headers = {}) {\n const jsonOptions = {};\n if (this.intDecoding !== 'default') {\n jsonOptions.intDecoding = this.intDecoding;\n }\n const res = await this.c.get(this.path(), this.query, headers, jsonOptions);\n return this.prepare(res.body);\n }\n /**\n * Execute the request, but do not process the response data in any way.\n * @param headers - Additional headers to send in the request. Optional.\n * @returns A promise which resolves to the raw response data, exactly as returned by the server.\n * @category JSONRequest\n */\n async doRaw(headers = {}) {\n const res = await this.c.get(this.path(), this.query, headers, {}, false);\n return res.body;\n }\n /**\n * Configure how integers in this request's JSON response will be decoded.\n *\n * The options are:\n * * \"default\": Integers will be decoded according to JSON.parse, meaning they will all be\n * Numbers and any values greater than Number.MAX_SAFE_INTEGER will lose precision.\n * * \"safe\": All integers will be decoded as Numbers, but if any values are greater than\n * Number.MAX_SAFE_INTEGER an error will be thrown.\n * * \"mixed\": Integers will be decoded as Numbers if they are less than or equal to\n * Number.MAX_SAFE_INTEGER, otherwise they will be decoded as BigInts.\n * * \"bigint\": All integers will be decoded as BigInts.\n *\n * @param method - The method to use when parsing the\n * response for this request. Must be one of \"default\", \"safe\", \"mixed\", or \"bigint\".\n * @category JSONRequest\n */\n setIntDecoding(method) {\n if (method !== 'default' &&\n method !== 'safe' &&\n method !== 'mixed' &&\n method !== 'bigint')\n throw new Error(`Invalid method for int decoding: ${method}`);\n this.intDecoding = method;\n return this;\n }\n}\n//# sourceMappingURL=jsonrequest.js.map","import * as windowMetadata from \"@walletconnect/window-metadata\";\nimport * as windowGetters from \"@walletconnect/window-getters\";\nimport { detect, } from \"detect-browser\";\nexport function detectEnv(userAgent) {\n return detect(userAgent);\n}\nexport function detectOS() {\n const env = detectEnv();\n return env && env.os ? env.os : undefined;\n}\nexport function isAndroid() {\n const os = detectOS();\n return os ? os.toLowerCase().includes(\"android\") : false;\n}\nexport function isIOS() {\n const os = detectOS();\n return os\n ? os.toLowerCase().includes(\"ios\") ||\n (os.toLowerCase().includes(\"mac\") && navigator.maxTouchPoints > 1)\n : false;\n}\nexport function isMobile() {\n const os = detectOS();\n return os ? isAndroid() || isIOS() : false;\n}\nexport function isNode() {\n const env = detectEnv();\n const result = env && env.name ? env.name.toLowerCase() === \"node\" : false;\n return result;\n}\nexport function isBrowser() {\n const result = !isNode() && !!getNavigator();\n return result;\n}\nexport const getFromWindow = windowGetters.getFromWindow;\nexport const getFromWindowOrThrow = windowGetters.getFromWindowOrThrow;\nexport const getDocumentOrThrow = windowGetters.getDocumentOrThrow;\nexport const getDocument = windowGetters.getDocument;\nexport const getNavigatorOrThrow = windowGetters.getNavigatorOrThrow;\nexport const getNavigator = windowGetters.getNavigator;\nexport const getLocationOrThrow = windowGetters.getLocationOrThrow;\nexport const getLocation = windowGetters.getLocation;\nexport const getCryptoOrThrow = windowGetters.getCryptoOrThrow;\nexport const getCrypto = windowGetters.getCrypto;\nexport const getLocalStorageOrThrow = windowGetters.getLocalStorageOrThrow;\nexport const getLocalStorage = windowGetters.getLocalStorage;\nexport function getClientMeta() {\n return windowMetadata.getWindowMetadata();\n}\n//# sourceMappingURL=browser.js.map","import * as safeJson from \"@walletconnect/safe-json\";\nexport const safeJsonParse = safeJson.safeJsonParse;\nexport const safeJsonStringify = safeJson.safeJsonStringify;\n//# sourceMappingURL=json.js.map","import { safeJsonParse, safeJsonStringify } from \"./json\";\nimport { getLocalStorage } from \"./browser\";\nexport function setLocal(key, data) {\n const raw = safeJsonStringify(data);\n const local = getLocalStorage();\n if (local) {\n local.setItem(key, raw);\n }\n}\nexport function getLocal(key) {\n let data = null;\n let raw = null;\n const local = getLocalStorage();\n if (local) {\n raw = local.getItem(key);\n }\n data = raw ? safeJsonParse(raw) : raw;\n return data;\n}\nexport function removeLocal(key) {\n const local = getLocalStorage();\n if (local) {\n local.removeItem(key);\n }\n}\n//# sourceMappingURL=local.js.map","import { setLocal } from \"./local\";\nexport const mobileLinkChoiceKey = \"WALLETCONNECT_DEEPLINK_CHOICE\";\nexport function formatIOSMobile(uri, entry) {\n const encodedUri = encodeURIComponent(uri);\n return entry.universalLink\n ? `${entry.universalLink}/wc?uri=${encodedUri}`\n : entry.deepLink\n ? `${entry.deepLink}${entry.deepLink.endsWith(\":\") ? \"//\" : \"/\"}wc?uri=${encodedUri}`\n : \"\";\n}\nexport function saveMobileLinkInfo(data) {\n const focusUri = data.href.split(\"?\")[0];\n setLocal(mobileLinkChoiceKey, Object.assign(Object.assign({}, data), { href: focusUri }));\n}\nexport function getMobileRegistryEntry(registry, name) {\n return registry.filter((entry) => entry.name.toLowerCase().includes(name.toLowerCase()))[0];\n}\nexport function getMobileLinkRegistry(registry, whitelist) {\n let links = registry;\n if (whitelist) {\n links = whitelist.map((name) => getMobileRegistryEntry(registry, name)).filter(Boolean);\n }\n return links;\n}\n//# sourceMappingURL=mobile.js.map","export const PARSE_ERROR = \"PARSE_ERROR\";\nexport const INVALID_REQUEST = \"INVALID_REQUEST\";\nexport const METHOD_NOT_FOUND = \"METHOD_NOT_FOUND\";\nexport const INVALID_PARAMS = \"INVALID_PARAMS\";\nexport const INTERNAL_ERROR = \"INTERNAL_ERROR\";\nexport const SERVER_ERROR = \"SERVER_ERROR\";\nexport const RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nexport const SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nexport const STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: \"Parse error\" },\n [INVALID_REQUEST]: { code: -32600, message: \"Invalid Request\" },\n [METHOD_NOT_FOUND]: { code: -32601, message: \"Method not found\" },\n [INVALID_PARAMS]: { code: -32602, message: \"Invalid params\" },\n [INTERNAL_ERROR]: { code: -32603, message: \"Internal error\" },\n [SERVER_ERROR]: { code: -32000, message: \"Server error\" },\n};\nexport const DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map","import BN from \"bn.js\";\nimport * as encoding from \"@walletconnect/encoding\";\nexport function convertArrayBufferToBuffer(arrBuf) {\n return encoding.arrayToBuffer(new Uint8Array(arrBuf));\n}\nexport function convertArrayBufferToUtf8(arrBuf) {\n return encoding.arrayToUtf8(new Uint8Array(arrBuf));\n}\nexport function convertArrayBufferToHex(arrBuf, noPrefix) {\n return encoding.arrayToHex(new Uint8Array(arrBuf), !noPrefix);\n}\nexport function convertArrayBufferToNumber(arrBuf) {\n return encoding.arrayToNumber(new Uint8Array(arrBuf));\n}\nexport function concatArrayBuffers(...args) {\n return encoding.hexToArray(args.map(b => encoding.arrayToHex(new Uint8Array(b))).join(\"\")).buffer;\n}\nexport function convertBufferToArrayBuffer(buf) {\n return encoding.bufferToArray(buf).buffer;\n}\nexport function convertBufferToUtf8(buf) {\n return encoding.bufferToUtf8(buf);\n}\nexport function convertBufferToHex(buf, noPrefix) {\n return encoding.bufferToHex(buf, !noPrefix);\n}\nexport function convertBufferToNumber(buf) {\n return encoding.bufferToNumber(buf);\n}\nexport function concatBuffers(...args) {\n return encoding.concatBuffers(...args);\n}\nexport function convertUtf8ToArrayBuffer(utf8) {\n return encoding.utf8ToArray(utf8).buffer;\n}\nexport function convertUtf8ToBuffer(utf8) {\n return encoding.utf8ToBuffer(utf8);\n}\nexport function convertUtf8ToHex(utf8, noPrefix) {\n return encoding.utf8ToHex(utf8, !noPrefix);\n}\nexport function convertUtf8ToNumber(utf8) {\n return new BN(utf8, 10).toNumber();\n}\nexport function convertHexToBuffer(hex) {\n return encoding.hexToBuffer(hex);\n}\nexport function convertHexToArrayBuffer(hex) {\n return encoding.hexToArray(hex).buffer;\n}\nexport function convertHexToUtf8(hex) {\n return encoding.hexToUtf8(hex);\n}\nexport function convertHexToNumber(hex) {\n return new BN(encoding.removeHexPrefix(hex), \"hex\").toNumber();\n}\nexport function convertNumberToBuffer(num) {\n return encoding.numberToBuffer(num);\n}\nexport function convertNumberToArrayBuffer(num) {\n return encoding.numberToArray(num).buffer;\n}\nexport function convertNumberToUtf8(num) {\n return new BN(num).toString();\n}\nexport function convertNumberToHex(num, noPrefix) {\n const hex = encoding.removeHexPrefix(encoding.sanitizeHex(new BN(num).toString(16)));\n return noPrefix ? hex : encoding.addHexPrefix(hex);\n}\n//# sourceMappingURL=encoding.js.map","export class IEvents {\n}\n//# sourceMappingURL=misc.js.map","export function isJsonRpcPayload(payload) {\n return (typeof payload === \"object\" &&\n \"id\" in payload &&\n \"jsonrpc\" in payload &&\n payload.jsonrpc === \"2.0\");\n}\nexport function isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && \"method\" in payload;\n}\nexport function isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nexport function isJsonRpcResult(payload) {\n return \"result\" in payload;\n}\nexport function isJsonRpcError(payload) {\n return \"error\" in payload;\n}\nexport function isJsonRpcValidationInvalid(validation) {\n return \"error\" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map","import { keccak_256 } from \"js-sha3\";\nimport { removeHexPrefix, addHexPrefix } from \"@walletconnect/encoding\";\nimport { convertUtf8ToHex, convertNumberToHex, convertUtf8ToBuffer } from \"./encoding\";\nimport { sanitizeHex, removeHexLeadingZeros } from \"./misc\";\nimport { isEmptyArray, isHexString, isEmptyString } from \"./validators\";\nexport function toChecksumAddress(address) {\n address = removeHexPrefix(address.toLowerCase());\n const hash = removeHexPrefix(keccak_256(convertUtf8ToBuffer(address)));\n let checksum = \"\";\n for (let i = 0; i < address.length; i++) {\n if (parseInt(hash[i], 16) > 7) {\n checksum += address[i].toUpperCase();\n }\n else {\n checksum += address[i];\n }\n }\n return addHexPrefix(checksum);\n}\nexport const isValidAddress = (address) => {\n if (!address) {\n return false;\n }\n else if (address.toLowerCase().substring(0, 2) !== \"0x\") {\n return false;\n }\n else if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) {\n return false;\n }\n else if (/^(0x)?[0-9a-f]{40}$/.test(address) || /^(0x)?[0-9A-F]{40}$/.test(address)) {\n return true;\n }\n else {\n return address === toChecksumAddress(address);\n }\n};\nexport function parsePersonalSign(params) {\n if (!isEmptyArray(params) && !isHexString(params[0])) {\n params[0] = convertUtf8ToHex(params[0]);\n }\n return params;\n}\nexport function parseTransactionData(txData) {\n if (typeof txData.type !== \"undefined\" && txData.type !== \"0\")\n return txData;\n if (typeof txData.from === \"undefined\" || !isValidAddress(txData.from)) {\n throw new Error(`Transaction object must include a valid 'from' value.`);\n }\n function parseHexValues(value) {\n let result = value;\n if (typeof value === \"number\" || (typeof value === \"string\" && !isEmptyString(value))) {\n if (!isHexString(value)) {\n result = convertNumberToHex(value);\n }\n else if (typeof value === \"string\") {\n result = sanitizeHex(value);\n }\n }\n if (typeof result === \"string\") {\n result = removeHexLeadingZeros(result);\n }\n return result;\n }\n const txDataRPC = {\n from: sanitizeHex(txData.from),\n to: typeof txData.to === \"undefined\" ? undefined : sanitizeHex(txData.to),\n gasPrice: typeof txData.gasPrice === \"undefined\" ? \"\" : parseHexValues(txData.gasPrice),\n gas: typeof txData.gas === \"undefined\"\n ? typeof txData.gasLimit === \"undefined\"\n ? \"\"\n : parseHexValues(txData.gasLimit)\n : parseHexValues(txData.gas),\n value: typeof txData.value === \"undefined\" ? \"\" : parseHexValues(txData.value),\n nonce: typeof txData.nonce === \"undefined\" ? \"\" : parseHexValues(txData.nonce),\n data: typeof txData.data === \"undefined\" ? \"\" : sanitizeHex(txData.data) || \"0x\",\n };\n const prunable = [\"gasPrice\", \"gas\", \"value\", \"nonce\"];\n Object.keys(txDataRPC).forEach((key) => {\n if ((typeof txDataRPC[key] === \"undefined\" ||\n (typeof txDataRPC[key] === \"string\" && !txDataRPC[key].trim().length)) &&\n prunable.includes(key)) {\n delete txDataRPC[key];\n }\n });\n return txDataRPC;\n}\n//# sourceMappingURL=ethereum.js.map","export function promisify(originalFn, thisArg) {\n const promisifiedFunction = async (...callArgs) => {\n return new Promise((resolve, reject) => {\n const callback = (err, data) => {\n if (err === null || typeof err === \"undefined\") {\n reject(err);\n }\n resolve(data);\n };\n originalFn.apply(thisArg, [...callArgs, callback]);\n });\n };\n return promisifiedFunction;\n}\nexport function formatRpcError(error) {\n const message = error.message || \"Failed or Rejected Request\";\n let code = -32000;\n if (error && !error.code) {\n switch (message) {\n case \"Parse error\":\n code = -32700;\n break;\n case \"Invalid request\":\n code = -32600;\n break;\n case \"Method not found\":\n code = -32601;\n break;\n case \"Invalid params\":\n code = -32602;\n break;\n case \"Internal error\":\n code = -32603;\n break;\n default:\n code = -32000;\n break;\n }\n }\n const result = {\n code,\n message,\n };\n if (error.data) {\n result.data = error.data;\n }\n return result;\n}\n//# sourceMappingURL=payload.js.map","const HTTP_REGEX = \"^https?:\";\nconst WS_REGEX = \"^wss?:\";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, \"gi\"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === \"undefined\")\n return false;\n return new RegExp(regex).test(protocol);\n}\nexport function isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nexport function isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nexport function isLocalhostUrl(url) {\n return new RegExp(\"wss?://localhost(:d{2,5})?\").test(url);\n}\n//# sourceMappingURL=url.js.map","import { parseQueryString } from \"./url\";\nexport function isWalletConnectSession(object) {\n return typeof object.bridge !== \"undefined\";\n}\nexport function parseWalletConnectUri(str) {\n const pathStart = str.indexOf(\":\");\n const pathEnd = str.indexOf(\"?\") !== -1 ? str.indexOf(\"?\") : undefined;\n const protocol = str.substring(0, pathStart);\n const path = str.substring(pathStart + 1, pathEnd);\n function parseRequiredParams(path) {\n const separator = \"@\";\n const values = path.split(separator);\n const requiredParams = {\n handshakeTopic: values[0],\n version: parseInt(values[1], 10),\n };\n return requiredParams;\n }\n const requiredParams = parseRequiredParams(path);\n const queryString = typeof pathEnd !== \"undefined\" ? str.substr(pathEnd) : \"\";\n function parseQueryParams(queryString) {\n const result = parseQueryString(queryString);\n const parameters = {\n key: result.key || \"\",\n bridge: result.bridge || \"\",\n };\n return parameters;\n }\n const queryParams = parseQueryParams(queryString);\n const result = Object.assign(Object.assign({ protocol }, requiredParams), queryParams);\n return result;\n}\n//# sourceMappingURL=session.js.map","import nacl from 'tweetnacl';\nimport sha512 from 'js-sha512';\nexport function genericHash(arr) {\n return sha512.sha512_256.array(arr);\n}\nexport function randomBytes(length) {\n return nacl.randomBytes(length);\n}\nexport function keyPairFromSeed(seed) {\n return nacl.sign.keyPair.fromSeed(seed);\n}\nexport function keyPair() {\n const seed = randomBytes(nacl.box.secretKeyLength);\n return keyPairFromSeed(seed);\n}\nexport function isValidSignatureLength(len) {\n return len === nacl.sign.signatureLength;\n}\nexport function keyPairFromSecretKey(sk) {\n return nacl.sign.keyPair.fromSecretKey(sk);\n}\nexport function sign(msg, secretKey) {\n return nacl.sign.detached(msg, secretKey);\n}\nexport function bytesEqual(a, b) {\n return nacl.verify(a, b);\n}\nexport function verify(message, signature, verifyKey) {\n return nacl.sign.detached.verify(message, signature, verifyKey);\n}\n// constants\nexport const PUBLIC_KEY_LENGTH = nacl.sign.publicKeyLength;\nexport const SECRET_KEY_LENGTH = nacl.sign.secretKeyLength;\nexport const HASH_BYTES_LENGTH = 32;\nexport const SEED_BTYES_LENGTH = 32;\n//# sourceMappingURL=naclWrappers.js.map","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export 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}","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/**\n * This file is a wrapper of msgpack.js.\n * The wrapper was written in order to ensure correct encoding of Algorand Transaction and other formats.\n * In particular, it matches go-algorand blockchain client, written in go (https://www.github.com/algorand/go-algorand.\n * Algorand's msgpack encoding follows to following rules -\n * 1. Every integer must be encoded to the smallest type possible (0-255-\\>8bit, 256-65535-\\>16bit, etx)\n * 2. All fields names must be sorted\n * 3. All empty and 0 fields should be omitted\n * 4. Every positive number must be encoded as uint\n * 5. Binary blob should be used for binary data and string for strings\n * */\nimport * as msgpack from 'algo-msgpack-with-bigint';\n// Errors\nexport const ERROR_CONTAINS_EMPTY_STRING = 'The object contains empty or 0 values. First empty or 0 value encountered during encoding: ';\n/**\n * containsEmpty returns true if any of the object's values are empty, false otherwise.\n * Empty arrays considered empty\n * @param obj - The object to check\n * @returns \\{true, empty key\\} if contains empty, \\{false, undefined\\} otherwise\n */\nfunction containsEmpty(obj) {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (!obj[key] || obj[key].length === 0) {\n return { containsEmpty: true, firstEmptyKey: key };\n }\n }\n }\n return { containsEmpty: false, firstEmptyKey: undefined };\n}\n/**\n * encode encodes objects using msgpack\n * @param obj - a dictionary to be encoded. Must not contain empty or 0 values.\n * @returns msgpack representation of the object\n * @throws Error containing ERROR_CONTAINS_EMPTY_STRING if the object contains empty or zero values\n */\nexport function encode(obj) {\n // Check for empty values\n const emptyCheck = containsEmpty(obj);\n if (emptyCheck.containsEmpty) {\n throw new Error(ERROR_CONTAINS_EMPTY_STRING + emptyCheck.firstEmptyKey);\n }\n // enable the canonical option\n const options = { sortKeys: true };\n return msgpack.encode(obj, options);\n}\nexport function decode(buffer) {\n return msgpack.decode(buffer);\n}\n//# sourceMappingURL=encoding.js.map","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import base32 from 'hi-base32';\nimport * as address from './encoding/address';\nimport * as encoding from './encoding/encoding';\nimport * as nacl from './nacl/naclWrappers';\nimport * as utils from './utils/utils';\nimport { translateBoxReferences } from './boxStorage';\nimport { TransactionType, isTransactionType, } from './types/transactions/base';\nconst ALGORAND_TRANSACTION_LENGTH = 52;\nexport const ALGORAND_MIN_TX_FEE = 1000; // version v5\nconst ALGORAND_TRANSACTION_LEASE_LENGTH = 32;\nconst ALGORAND_MAX_ASSET_DECIMALS = 19;\nconst NUM_ADDL_BYTES_AFTER_SIGNING = 75; // NUM_ADDL_BYTES_AFTER_SIGNING is the number of bytes added to a txn after signing it\nconst ALGORAND_TRANSACTION_LEASE_LABEL_LENGTH = 5;\nconst ALGORAND_TRANSACTION_ADDRESS_LENGTH = 32;\nconst ALGORAND_TRANSACTION_REKEY_LABEL_LENGTH = 5;\nconst ASSET_METADATA_HASH_LENGTH = 32;\nconst KEYREG_VOTE_KEY_LENGTH = 32;\nconst KEYREG_SELECTION_KEY_LENGTH = 32;\nconst KEYREG_STATE_PROOF_KEY_LENGTH = 64;\nfunction getKeyregKey(input, inputName, length) {\n if (input == null) {\n return undefined;\n }\n let inputAsBuffer;\n if (typeof input === 'string') {\n inputAsBuffer = Buffer.from(input, 'base64');\n }\n else if (input.constructor === Uint8Array) {\n inputAsBuffer = Buffer.from(input);\n }\n else if (Buffer.isBuffer(input)) {\n inputAsBuffer = input;\n }\n if (inputAsBuffer == null || inputAsBuffer.byteLength !== length) {\n throw Error(`${inputName} must be a ${length} byte Uint8Array or Buffer or base64 string.`);\n }\n return inputAsBuffer;\n}\n/**\n * Transaction enables construction of Algorand transactions\n * */\nexport class Transaction {\n constructor({ ...transaction }) {\n this.name = 'Transaction';\n this.tag = Buffer.from('TX');\n // Populate defaults\n /* eslint-disable no-param-reassign */\n const defaults = {\n type: TransactionType.pay,\n flatFee: false,\n nonParticipation: false,\n };\n // Default type\n if (typeof transaction.type === 'undefined') {\n transaction.type = defaults.type;\n }\n // Default flatFee\n if (typeof transaction.flatFee ===\n 'undefined') {\n transaction.flatFee =\n defaults.flatFee;\n }\n // Default nonParticipation\n if (transaction.type === TransactionType.keyreg &&\n typeof transaction.voteKey !== 'undefined' &&\n typeof transaction.nonParticipation === 'undefined') {\n transaction.nonParticipation = defaults.nonParticipation;\n }\n /* eslint-enable no-param-reassign */\n // Move suggested parameters from its object to inline\n if (transaction.suggestedParams !== undefined) {\n // Create a temporary reference to the transaction object that has params inline and also as a suggested params object\n // - Helpful for moving params from named object to inline\n const reference = transaction;\n reference.genesisHash = reference.suggestedParams.genesisHash;\n reference.fee = reference.suggestedParams.fee;\n if (reference.suggestedParams.flatFee !== undefined)\n reference.flatFee = reference.suggestedParams.flatFee;\n reference.firstRound = reference.suggestedParams.firstRound;\n reference.lastRound = reference.suggestedParams.lastRound;\n reference.genesisID = reference.suggestedParams.genesisID;\n }\n // At this point all suggestedParams have been moved to be inline, so we can reassign the transaction object type\n // to one which is more useful as we prepare properties for storing\n const txn = transaction;\n txn.from = address.decodeAddress(txn.from);\n if (txn.to !== undefined)\n txn.to = address.decodeAddress(txn.to);\n if (txn.closeRemainderTo !== undefined)\n txn.closeRemainderTo = address.decodeAddress(txn.closeRemainderTo);\n if (txn.assetManager !== undefined)\n txn.assetManager = address.decodeAddress(txn.assetManager);\n if (txn.assetReserve !== undefined)\n txn.assetReserve = address.decodeAddress(txn.assetReserve);\n if (txn.assetFreeze !== undefined)\n txn.assetFreeze = address.decodeAddress(txn.assetFreeze);\n if (txn.assetClawback !== undefined)\n txn.assetClawback = address.decodeAddress(txn.assetClawback);\n if (txn.assetRevocationTarget !== undefined)\n txn.assetRevocationTarget = address.decodeAddress(txn.assetRevocationTarget);\n if (txn.freezeAccount !== undefined)\n txn.freezeAccount = address.decodeAddress(txn.freezeAccount);\n if (txn.reKeyTo !== undefined)\n txn.reKeyTo = address.decodeAddress(txn.reKeyTo);\n if (txn.genesisHash === undefined)\n throw Error('genesis hash must be specified and in a base64 string.');\n txn.genesisHash = Buffer.from(txn.genesisHash, 'base64');\n if (txn.amount !== undefined &&\n (!(Number.isSafeInteger(txn.amount) ||\n (typeof txn.amount === 'bigint' &&\n txn.amount <= BigInt('0xffffffffffffffff'))) ||\n txn.amount < 0))\n throw Error('Amount must be a positive number and smaller than 2^64-1. If the number is larger than 2^53-1, use bigint.');\n if (!Number.isSafeInteger(txn.fee) || txn.fee < 0)\n throw Error('fee must be a positive number and smaller than 2^53-1');\n if (!Number.isSafeInteger(txn.firstRound) || txn.firstRound < 0)\n throw Error('firstRound must be a positive number');\n if (!Number.isSafeInteger(txn.lastRound) || txn.lastRound < 0)\n throw Error('lastRound must be a positive number');\n if (txn.extraPages !== undefined &&\n (!Number.isInteger(txn.extraPages) ||\n txn.extraPages < 0 ||\n txn.extraPages > 3))\n throw Error('extraPages must be an Integer between and including 0 to 3');\n if (txn.assetTotal !== undefined &&\n (!(Number.isSafeInteger(txn.assetTotal) ||\n (typeof txn.assetTotal === 'bigint' &&\n txn.assetTotal <= BigInt('0xffffffffffffffff'))) ||\n txn.assetTotal < 0))\n throw Error('Total asset issuance must be a positive number and smaller than 2^64-1. If the number is larger than 2^53-1, use bigint.');\n if (txn.assetDecimals !== undefined &&\n (!Number.isSafeInteger(txn.assetDecimals) ||\n txn.assetDecimals < 0 ||\n txn.assetDecimals > ALGORAND_MAX_ASSET_DECIMALS))\n throw Error(`assetDecimals must be a positive number and smaller than ${ALGORAND_MAX_ASSET_DECIMALS.toString()}`);\n if (txn.assetIndex !== undefined &&\n (!Number.isSafeInteger(txn.assetIndex) || txn.assetIndex < 0))\n throw Error('Asset index must be a positive number and smaller than 2^53-1');\n if (txn.appIndex !== undefined &&\n (!Number.isSafeInteger(txn.appIndex) || txn.appIndex < 0))\n throw Error('Application index must be a positive number and smaller than 2^53-1');\n if (txn.appLocalInts !== undefined &&\n (!Number.isSafeInteger(txn.appLocalInts) || txn.appLocalInts < 0))\n throw Error('Application local ints count must be a positive number and smaller than 2^53-1');\n if (txn.appLocalByteSlices !== undefined &&\n (!Number.isSafeInteger(txn.appLocalByteSlices) ||\n txn.appLocalByteSlices < 0))\n throw Error('Application local byte slices count must be a positive number and smaller than 2^53-1');\n if (txn.appGlobalInts !== undefined &&\n (!Number.isSafeInteger(txn.appGlobalInts) || txn.appGlobalInts < 0))\n throw Error('Application global ints count must be a positive number and smaller than 2^53-1');\n if (txn.appGlobalByteSlices !== undefined &&\n (!Number.isSafeInteger(txn.appGlobalByteSlices) ||\n txn.appGlobalByteSlices < 0))\n throw Error('Application global byte slices count must be a positive number and smaller than 2^53-1');\n if (txn.appApprovalProgram !== undefined) {\n if (txn.appApprovalProgram.constructor !== Uint8Array)\n throw Error('appApprovalProgram must be a Uint8Array.');\n }\n if (txn.appClearProgram !== undefined) {\n if (txn.appClearProgram.constructor !== Uint8Array)\n throw Error('appClearProgram must be a Uint8Array.');\n }\n if (txn.appArgs !== undefined) {\n if (!Array.isArray(txn.appArgs))\n throw Error('appArgs must be an Array of Uint8Array.');\n txn.appArgs = txn.appArgs.slice();\n txn.appArgs.forEach((arg) => {\n if (arg.constructor !== Uint8Array)\n throw Error('each element of AppArgs must be a Uint8Array.');\n });\n }\n else {\n txn.appArgs = [];\n }\n if (txn.appAccounts !== undefined) {\n if (!Array.isArray(txn.appAccounts))\n throw Error('appAccounts must be an Array of addresses.');\n txn.appAccounts = txn.appAccounts.map((addressAsString) => address.decodeAddress(addressAsString));\n }\n if (txn.appForeignApps !== undefined) {\n if (!Array.isArray(txn.appForeignApps))\n throw Error('appForeignApps must be an Array of integers.');\n txn.appForeignApps = txn.appForeignApps.slice();\n txn.appForeignApps.forEach((foreignAppIndex) => {\n if (!Number.isSafeInteger(foreignAppIndex) || foreignAppIndex < 0)\n throw Error('each foreign application index must be a positive number and smaller than 2^53-1');\n });\n }\n if (txn.appForeignAssets !== undefined) {\n if (!Array.isArray(txn.appForeignAssets))\n throw Error('appForeignAssets must be an Array of integers.');\n txn.appForeignAssets = txn.appForeignAssets.slice();\n txn.appForeignAssets.forEach((foreignAssetIndex) => {\n if (!Number.isSafeInteger(foreignAssetIndex) || foreignAssetIndex < 0)\n throw Error('each foreign asset index must be a positive number and smaller than 2^53-1');\n });\n }\n if (txn.boxes !== undefined) {\n if (!Array.isArray(txn.boxes))\n throw Error('boxes must be an Array of BoxReference.');\n txn.boxes = txn.boxes.slice();\n txn.boxes.forEach((box) => {\n if (!Number.isSafeInteger(box.appIndex) ||\n box.name.constructor !== Uint8Array)\n throw Error('box app index must be a number and name must be an Uint8Array.');\n });\n }\n if (txn.assetMetadataHash !== undefined &&\n txn.assetMetadataHash.length !== 0) {\n if (typeof txn.assetMetadataHash === 'string') {\n txn.assetMetadataHash = new Uint8Array(Buffer.from(txn.assetMetadataHash));\n }\n if (txn.assetMetadataHash.constructor !== Uint8Array ||\n txn.assetMetadataHash.byteLength !== ASSET_METADATA_HASH_LENGTH) {\n throw Error(`assetMetadataHash must be a ${ASSET_METADATA_HASH_LENGTH} byte Uint8Array or string.`);\n }\n if (txn.assetMetadataHash.every((value) => value === 0)) {\n // if hash contains all 0s, omit it\n txn.assetMetadataHash = undefined;\n }\n }\n else {\n txn.assetMetadataHash = undefined;\n }\n if (txn.note !== undefined) {\n if (txn.note.constructor !== Uint8Array)\n throw Error('note must be a Uint8Array.');\n }\n else {\n txn.note = new Uint8Array(0);\n }\n if (txn.lease !== undefined) {\n if (txn.lease.constructor !== Uint8Array)\n throw Error('lease must be a Uint8Array.');\n if (txn.lease.length !== ALGORAND_TRANSACTION_LEASE_LENGTH)\n throw Error(`lease must be of length ${ALGORAND_TRANSACTION_LEASE_LENGTH.toString()}.`);\n if (txn.lease.every((value) => value === 0)) {\n // if lease contains all 0s, omit it\n txn.lease = new Uint8Array(0);\n }\n }\n else {\n txn.lease = new Uint8Array(0);\n }\n txn.voteKey = getKeyregKey(txn.voteKey, 'voteKey', KEYREG_VOTE_KEY_LENGTH);\n txn.selectionKey = getKeyregKey(txn.selectionKey, 'selectionKey', KEYREG_SELECTION_KEY_LENGTH);\n txn.stateProofKey = getKeyregKey(txn.stateProofKey, 'stateProofKey', KEYREG_STATE_PROOF_KEY_LENGTH);\n // Checking non-participation key registration\n if (txn.nonParticipation &&\n (txn.voteKey ||\n txn.selectionKey ||\n txn.voteFirst ||\n txn.stateProofKey ||\n txn.voteLast ||\n txn.voteKeyDilution)) {\n throw new Error('nonParticipation is true but participation params are present.');\n }\n // Checking online key registration\n if (!txn.nonParticipation &&\n (txn.voteKey ||\n txn.selectionKey ||\n txn.stateProofKey ||\n txn.voteFirst ||\n txn.voteLast ||\n txn.voteKeyDilution) &&\n !(txn.voteKey &&\n txn.selectionKey &&\n txn.voteFirst &&\n txn.voteLast &&\n txn.voteKeyDilution)\n // stateProofKey not included here for backwards compatibility\n ) {\n throw new Error('online key registration missing at least one of the following fields: ' +\n 'voteKey, selectionKey, voteFirst, voteLast, voteKeyDilution');\n }\n // The last option is an offline key registration where all the fields\n // nonParticipation, voteKey, selectionKey, voteFirst, voteLast, voteKeyDilution\n // are all undefined/false\n // Remove unwanted properties and store transaction on instance\n delete txn.suggestedParams;\n Object.assign(this, utils.removeUndefinedProperties(txn));\n // Modify Fee\n if (!txn.flatFee) {\n this.fee *= this.estimateSize();\n // If suggested fee too small and will be rejected, set to min tx fee\n if (this.fee < ALGORAND_MIN_TX_FEE) {\n this.fee = ALGORAND_MIN_TX_FEE;\n }\n }\n // say we are aware of groups\n this.group = undefined;\n // stpf fields\n if (txn.stateProofType !== undefined &&\n (!Number.isSafeInteger(txn.stateProofType) || txn.stateProofType < 0))\n throw Error('State Proof type must be a positive number and smaller than 2^53-1');\n if (txn.stateProofMessage !== undefined) {\n if (txn.stateProofMessage.constructor !== Uint8Array)\n throw Error('stateProofMessage must be a Uint8Array.');\n }\n else {\n txn.stateProofMessage = new Uint8Array(0);\n }\n if (txn.stateProof !== undefined) {\n if (txn.stateProof.constructor !== Uint8Array)\n throw Error('stateProof must be a Uint8Array.');\n }\n else {\n txn.stateProof = new Uint8Array(0);\n }\n }\n // eslint-disable-next-line camelcase\n get_obj_for_encoding() {\n if (this.type === 'pay') {\n const txn = {\n amt: this.amount,\n fee: this.fee,\n fv: this.firstRound,\n lv: this.lastRound,\n note: Buffer.from(this.note),\n snd: Buffer.from(this.from.publicKey),\n type: 'pay',\n gen: this.genesisID,\n gh: this.genesisHash,\n lx: Buffer.from(this.lease),\n grp: this.group,\n };\n // parse close address\n if (this.closeRemainderTo !== undefined &&\n address.encodeAddress(this.closeRemainderTo.publicKey) !==\n address.ALGORAND_ZERO_ADDRESS_STRING) {\n txn.close = Buffer.from(this.closeRemainderTo.publicKey);\n }\n if (this.reKeyTo !== undefined) {\n txn.rekey = Buffer.from(this.reKeyTo.publicKey);\n }\n // allowed zero values\n if (this.to !== undefined)\n txn.rcv = Buffer.from(this.to.publicKey);\n if (!txn.note.length)\n delete txn.note;\n if (!txn.amt)\n delete txn.amt;\n if (!txn.fee)\n delete txn.fee;\n if (!txn.fv)\n delete txn.fv;\n if (!txn.gen)\n delete txn.gen;\n if (txn.grp === undefined)\n delete txn.grp;\n if (!txn.lx.length)\n delete txn.lx;\n if (!txn.rekey)\n delete txn.rekey;\n return txn;\n }\n if (this.type === 'keyreg') {\n const txn = {\n fee: this.fee,\n fv: this.firstRound,\n lv: this.lastRound,\n note: Buffer.from(this.note),\n snd: Buffer.from(this.from.publicKey),\n type: this.type,\n gen: this.genesisID,\n gh: this.genesisHash,\n lx: Buffer.from(this.lease),\n grp: this.group,\n votekey: this.voteKey,\n selkey: this.selectionKey,\n sprfkey: this.stateProofKey,\n votefst: this.voteFirst,\n votelst: this.voteLast,\n votekd: this.voteKeyDilution,\n };\n // allowed zero values\n if (!txn.note.length)\n delete txn.note;\n if (!txn.lx.length)\n delete txn.lx;\n if (!txn.fee)\n delete txn.fee;\n if (!txn.fv)\n delete txn.fv;\n if (!txn.gen)\n delete txn.gen;\n if (txn.grp === undefined)\n delete txn.grp;\n if (this.reKeyTo !== undefined) {\n txn.rekey = Buffer.from(this.reKeyTo.publicKey);\n }\n if (this.nonParticipation) {\n txn.nonpart = true;\n }\n if (!txn.selkey)\n delete txn.selkey;\n if (!txn.votekey)\n delete txn.votekey;\n if (!txn.sprfkey)\n delete txn.sprfkey;\n if (!txn.votefst)\n delete txn.votefst;\n if (!txn.votelst)\n delete txn.votelst;\n if (!txn.votekd)\n delete txn.votekd;\n return txn;\n }\n if (this.type === 'acfg') {\n // asset creation, or asset reconfigure, or asset destruction\n const txn = {\n fee: this.fee,\n fv: this.firstRound,\n lv: this.lastRound,\n note: Buffer.from(this.note),\n snd: Buffer.from(this.from.publicKey),\n type: this.type,\n gen: this.genesisID,\n gh: this.genesisHash,\n lx: Buffer.from(this.lease),\n grp: this.group,\n caid: this.assetIndex,\n apar: {\n t: this.assetTotal,\n df: this.assetDefaultFrozen,\n dc: this.assetDecimals,\n },\n };\n if (this.assetManager !== undefined)\n txn.apar.m = Buffer.from(this.assetManager.publicKey);\n if (this.assetReserve !== undefined)\n txn.apar.r = Buffer.from(this.assetReserve.publicKey);\n if (this.assetFreeze !== undefined)\n txn.apar.f = Buffer.from(this.assetFreeze.publicKey);\n if (this.assetClawback !== undefined)\n txn.apar.c = Buffer.from(this.assetClawback.publicKey);\n if (this.assetName !== undefined)\n txn.apar.an = this.assetName;\n if (this.assetUnitName !== undefined)\n txn.apar.un = this.assetUnitName;\n if (this.assetURL !== undefined)\n txn.apar.au = this.assetURL;\n if (this.assetMetadataHash !== undefined)\n txn.apar.am = Buffer.from(this.assetMetadataHash);\n // allowed zero values\n if (!txn.note.length)\n delete txn.note;\n if (!txn.lx.length)\n delete txn.lx;\n if (!txn.amt)\n delete txn.amt;\n if (!txn.fee)\n delete txn.fee;\n if (!txn.fv)\n delete txn.fv;\n if (!txn.gen)\n delete txn.gen;\n if (this.reKeyTo !== undefined) {\n txn.rekey = Buffer.from(this.reKeyTo.publicKey);\n }\n if (!txn.caid)\n delete txn.caid;\n if (!txn.apar.t &&\n !txn.apar.un &&\n !txn.apar.an &&\n !txn.apar.df &&\n !txn.apar.m &&\n !txn.apar.r &&\n !txn.apar.f &&\n !txn.apar.c &&\n !txn.apar.au &&\n !txn.apar.am &&\n !txn.apar.dc) {\n delete txn.apar;\n }\n else {\n if (!txn.apar.t)\n delete txn.apar.t;\n if (!txn.apar.dc)\n delete txn.apar.dc;\n if (!txn.apar.un)\n delete txn.apar.un;\n if (!txn.apar.an)\n delete txn.apar.an;\n if (!txn.apar.df)\n delete txn.apar.df;\n if (!txn.apar.m)\n delete txn.apar.m;\n if (!txn.apar.r)\n delete txn.apar.r;\n if (!txn.apar.f)\n delete txn.apar.f;\n if (!txn.apar.c)\n delete txn.apar.c;\n if (!txn.apar.au)\n delete txn.apar.au;\n if (!txn.apar.am)\n delete txn.apar.am;\n }\n if (txn.grp === undefined)\n delete txn.grp;\n return txn;\n }\n if (this.type === 'axfer') {\n // asset transfer, acceptance, revocation, mint, or burn\n const txn = {\n aamt: this.amount,\n fee: this.fee,\n fv: this.firstRound,\n lv: this.lastRound,\n note: Buffer.from(this.note),\n snd: Buffer.from(this.from.publicKey),\n arcv: Buffer.from(this.to.publicKey),\n type: this.type,\n gen: this.genesisID,\n gh: this.genesisHash,\n lx: Buffer.from(this.lease),\n grp: this.group,\n xaid: this.assetIndex,\n };\n if (this.closeRemainderTo !== undefined)\n txn.aclose = Buffer.from(this.closeRemainderTo.publicKey);\n if (this.assetRevocationTarget !== undefined)\n txn.asnd = Buffer.from(this.assetRevocationTarget.publicKey);\n // allowed zero values\n if (!txn.note.length)\n delete txn.note;\n if (!txn.lx.length)\n delete txn.lx;\n if (!txn.aamt)\n delete txn.aamt;\n if (!txn.amt)\n delete txn.amt;\n if (!txn.fee)\n delete txn.fee;\n if (!txn.fv)\n delete txn.fv;\n if (!txn.gen)\n delete txn.gen;\n if (txn.grp === undefined)\n delete txn.grp;\n if (!txn.aclose)\n delete txn.aclose;\n if (!txn.asnd)\n delete txn.asnd;\n if (!txn.rekey)\n delete txn.rekey;\n if (this.reKeyTo !== undefined) {\n txn.rekey = Buffer.from(this.reKeyTo.publicKey);\n }\n return txn;\n }\n if (this.type === 'afrz') {\n // asset freeze or unfreeze\n const txn = {\n fee: this.fee,\n fv: this.firstRound,\n lv: this.lastRound,\n note: Buffer.from(this.note),\n snd: Buffer.from(this.from.publicKey),\n type: this.type,\n gen: this.genesisID,\n gh: this.genesisHash,\n lx: Buffer.from(this.lease),\n grp: this.group,\n faid: this.assetIndex,\n afrz: this.freezeState,\n };\n if (this.freezeAccount !== undefined)\n txn.fadd = Buffer.from(this.freezeAccount.publicKey);\n // allowed zero values\n if (!txn.note.length)\n delete txn.note;\n if (!txn.lx.length)\n delete txn.lx;\n if (!txn.amt)\n delete txn.amt;\n if (!txn.fee)\n delete txn.fee;\n if (!txn.fv)\n delete txn.fv;\n if (!txn.gen)\n delete txn.gen;\n if (!txn.afrz)\n delete txn.afrz;\n if (txn.grp === undefined)\n delete txn.grp;\n if (this.reKeyTo !== undefined) {\n txn.rekey = Buffer.from(this.reKeyTo.publicKey);\n }\n return txn;\n }\n if (this.type === 'appl') {\n // application call of some kind\n const txn = {\n fee: this.fee,\n fv: this.firstRound,\n lv: this.lastRound,\n note: Buffer.from(this.note),\n snd: Buffer.from(this.from.publicKey),\n type: this.type,\n gen: this.genesisID,\n gh: this.genesisHash,\n lx: Buffer.from(this.lease),\n grp: this.group,\n apid: this.appIndex,\n apan: this.appOnComplete,\n apls: {\n nui: this.appLocalInts,\n nbs: this.appLocalByteSlices,\n },\n apgs: {\n nui: this.appGlobalInts,\n nbs: this.appGlobalByteSlices,\n },\n apfa: this.appForeignApps,\n apas: this.appForeignAssets,\n apep: this.extraPages,\n apbx: translateBoxReferences(this.boxes, this.appForeignApps, this.appIndex),\n };\n if (this.reKeyTo !== undefined) {\n txn.rekey = Buffer.from(this.reKeyTo.publicKey);\n }\n if (this.appApprovalProgram !== undefined) {\n txn.apap = Buffer.from(this.appApprovalProgram);\n }\n if (this.appClearProgram !== undefined) {\n txn.apsu = Buffer.from(this.appClearProgram);\n }\n if (this.appArgs !== undefined) {\n txn.apaa = this.appArgs.map((arg) => Buffer.from(arg));\n }\n if (this.appAccounts !== undefined) {\n txn.apat = this.appAccounts.map((decodedAddress) => Buffer.from(decodedAddress.publicKey));\n }\n // allowed zero values\n if (!txn.note.length)\n delete txn.note;\n if (!txn.lx.length)\n delete txn.lx;\n if (!txn.amt)\n delete txn.amt;\n if (!txn.fee)\n delete txn.fee;\n if (!txn.fv)\n delete txn.fv;\n if (!txn.gen)\n delete txn.gen;\n if (!txn.apid)\n delete txn.apid;\n if (!txn.apls.nui)\n delete txn.apls.nui;\n if (!txn.apls.nbs)\n delete txn.apls.nbs;\n if (!txn.apls.nui && !txn.apls.nbs)\n delete txn.apls;\n if (!txn.apgs.nui)\n delete txn.apgs.nui;\n if (!txn.apgs.nbs)\n delete txn.apgs.nbs;\n if (!txn.apaa || !txn.apaa.length)\n delete txn.apaa;\n if (!txn.apgs.nui && !txn.apgs.nbs)\n delete txn.apgs;\n if (!txn.apap)\n delete txn.apap;\n if (!txn.apsu)\n delete txn.apsu;\n if (!txn.apan)\n delete txn.apan;\n if (!txn.apfa || !txn.apfa.length)\n delete txn.apfa;\n if (!txn.apas || !txn.apas.length)\n delete txn.apas;\n for (const box of txn.apbx) {\n if (!box.i)\n delete box.i;\n if (!box.n || !box.n.length)\n delete box.n;\n }\n if (!txn.apbx || !txn.apbx.length)\n delete txn.apbx;\n if (!txn.apat || !txn.apat.length)\n delete txn.apat;\n if (!txn.apep)\n delete txn.apep;\n if (txn.grp === undefined)\n delete txn.grp;\n return txn;\n }\n if (this.type === 'stpf') {\n // state proof txn\n const txn = {\n fee: this.fee,\n fv: this.firstRound,\n lv: this.lastRound,\n note: Buffer.from(this.note),\n snd: Buffer.from(this.from.publicKey),\n type: this.type,\n gen: this.genesisID,\n gh: this.genesisHash,\n lx: Buffer.from(this.lease),\n sptype: this.stateProofType,\n spmsg: Buffer.from(this.stateProofMessage),\n sp: Buffer.from(this.stateProof),\n };\n // allowed zero values\n if (!txn.sptype)\n delete txn.sptype;\n if (!txn.note.length)\n delete txn.note;\n if (!txn.lx.length)\n delete txn.lx;\n if (!txn.amt)\n delete txn.amt;\n if (!txn.fee)\n delete txn.fee;\n if (!txn.fv)\n delete txn.fv;\n if (!txn.gen)\n delete txn.gen;\n if (!txn.apid)\n delete txn.apid;\n if (!txn.apaa || !txn.apaa.length)\n delete txn.apaa;\n if (!txn.apap)\n delete txn.apap;\n if (!txn.apsu)\n delete txn.apsu;\n if (!txn.apan)\n delete txn.apan;\n if (!txn.apfa || !txn.apfa.length)\n delete txn.apfa;\n if (!txn.apas || !txn.apas.length)\n delete txn.apas;\n if (!txn.apat || !txn.apat.length)\n delete txn.apat;\n if (!txn.apep)\n delete txn.apep;\n if (txn.grp === undefined)\n delete txn.grp;\n return txn;\n }\n return undefined;\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(txnForEnc) {\n const txn = Object.create(this.prototype);\n txn.name = 'Transaction';\n txn.tag = Buffer.from('TX');\n txn.genesisID = txnForEnc.gen;\n txn.genesisHash = Buffer.from(txnForEnc.gh);\n if (!isTransactionType(txnForEnc.type)) {\n throw new Error(`Unrecognized transaction type: ${txnForEnc.type}`);\n }\n txn.type = txnForEnc.type;\n txn.fee = txnForEnc.fee;\n txn.firstRound = txnForEnc.fv;\n txn.lastRound = txnForEnc.lv;\n txn.note = new Uint8Array(txnForEnc.note);\n txn.lease = new Uint8Array(txnForEnc.lx);\n txn.from = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.snd)));\n if (txnForEnc.grp !== undefined)\n txn.group = Buffer.from(txnForEnc.grp);\n if (txnForEnc.rekey !== undefined)\n txn.reKeyTo = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.rekey)));\n if (txnForEnc.type === 'pay') {\n txn.amount = txnForEnc.amt;\n txn.to = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.rcv)));\n if (txnForEnc.close !== undefined)\n txn.closeRemainderTo = address.decodeAddress(address.encodeAddress(txnForEnc.close));\n }\n else if (txnForEnc.type === 'keyreg') {\n if (txnForEnc.votekey !== undefined) {\n txn.voteKey = Buffer.from(txnForEnc.votekey);\n }\n if (txnForEnc.selkey !== undefined) {\n txn.selectionKey = Buffer.from(txnForEnc.selkey);\n }\n if (txnForEnc.sprfkey !== undefined) {\n txn.stateProofKey = Buffer.from(txnForEnc.sprfkey);\n }\n if (txnForEnc.votekd !== undefined) {\n txn.voteKeyDilution = txnForEnc.votekd;\n }\n if (txnForEnc.votefst !== undefined) {\n txn.voteFirst = txnForEnc.votefst;\n }\n if (txnForEnc.votelst !== undefined) {\n txn.voteLast = txnForEnc.votelst;\n }\n if (txnForEnc.nonpart !== undefined) {\n txn.nonParticipation = txnForEnc.nonpart;\n }\n }\n else if (txnForEnc.type === 'acfg') {\n // asset creation, or asset reconfigure, or asset destruction\n if (txnForEnc.caid !== undefined) {\n txn.assetIndex = txnForEnc.caid;\n }\n if (txnForEnc.apar !== undefined) {\n txn.assetTotal = txnForEnc.apar.t;\n txn.assetDefaultFrozen = txnForEnc.apar.df;\n if (txnForEnc.apar.dc !== undefined)\n txn.assetDecimals = txnForEnc.apar.dc;\n if (txnForEnc.apar.m !== undefined)\n txn.assetManager = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.apar.m)));\n if (txnForEnc.apar.r !== undefined)\n txn.assetReserve = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.apar.r)));\n if (txnForEnc.apar.f !== undefined)\n txn.assetFreeze = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.apar.f)));\n if (txnForEnc.apar.c !== undefined)\n txn.assetClawback = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.apar.c)));\n if (txnForEnc.apar.un !== undefined)\n txn.assetUnitName = txnForEnc.apar.un;\n if (txnForEnc.apar.an !== undefined)\n txn.assetName = txnForEnc.apar.an;\n if (txnForEnc.apar.au !== undefined)\n txn.assetURL = txnForEnc.apar.au;\n if (txnForEnc.apar.am !== undefined)\n txn.assetMetadataHash = txnForEnc.apar.am;\n }\n }\n else if (txnForEnc.type === 'axfer') {\n // asset transfer, acceptance, revocation, mint, or burn\n if (txnForEnc.xaid !== undefined) {\n txn.assetIndex = txnForEnc.xaid;\n }\n if (txnForEnc.aamt !== undefined)\n txn.amount = txnForEnc.aamt;\n if (txnForEnc.aclose !== undefined) {\n txn.closeRemainderTo = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.aclose)));\n }\n if (txnForEnc.asnd !== undefined) {\n txn.assetRevocationTarget = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.asnd)));\n }\n txn.to = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.arcv)));\n }\n else if (txnForEnc.type === 'afrz') {\n if (txnForEnc.afrz !== undefined) {\n txn.freezeState = txnForEnc.afrz;\n }\n if (txnForEnc.faid !== undefined) {\n txn.assetIndex = txnForEnc.faid;\n }\n txn.freezeAccount = address.decodeAddress(address.encodeAddress(new Uint8Array(txnForEnc.fadd)));\n }\n else if (txnForEnc.type === 'appl') {\n if (txnForEnc.apid !== undefined) {\n txn.appIndex = txnForEnc.apid;\n }\n if (txnForEnc.apan !== undefined) {\n txn.appOnComplete = txnForEnc.apan;\n }\n if (txnForEnc.apls !== undefined) {\n if (txnForEnc.apls.nui !== undefined)\n txn.appLocalInts = txnForEnc.apls.nui;\n if (txnForEnc.apls.nbs !== undefined)\n txn.appLocalByteSlices = txnForEnc.apls.nbs;\n }\n if (txnForEnc.apgs !== undefined) {\n if (txnForEnc.apgs.nui !== undefined)\n txn.appGlobalInts = txnForEnc.apgs.nui;\n if (txnForEnc.apgs.nbs !== undefined)\n txn.appGlobalByteSlices = txnForEnc.apgs.nbs;\n }\n if (txnForEnc.apep !== undefined) {\n txn.extraPages = txnForEnc.apep;\n }\n if (txnForEnc.apap !== undefined) {\n txn.appApprovalProgram = new Uint8Array(txnForEnc.apap);\n }\n if (txnForEnc.apsu !== undefined) {\n txn.appClearProgram = new Uint8Array(txnForEnc.apsu);\n }\n if (txnForEnc.apaa !== undefined) {\n txn.appArgs = txnForEnc.apaa.map((arg) => new Uint8Array(arg));\n }\n if (txnForEnc.apat !== undefined) {\n txn.appAccounts = txnForEnc.apat.map((addressBytes) => address.decodeAddress(address.encodeAddress(new Uint8Array(addressBytes))));\n }\n if (txnForEnc.apfa !== undefined) {\n txn.appForeignApps = txnForEnc.apfa;\n }\n if (txnForEnc.apas !== undefined) {\n txn.appForeignAssets = txnForEnc.apas;\n }\n if (txnForEnc.apbx !== undefined) {\n txn.boxes = txnForEnc.apbx.map((box) => ({\n // We return 0 for the app ID so that it's guaranteed translateBoxReferences will\n // translate the app index back to 0. If we instead returned the called app ID,\n // translateBoxReferences would translate the app index to a nonzero value if the called\n // app is also in the foreign app array.\n appIndex: box.i ? txn.appForeignApps[box.i - 1] : 0,\n name: box.n,\n }));\n }\n }\n else if (txnForEnc.type === 'stpf') {\n if (txnForEnc.sptype !== undefined) {\n txn.stateProofType = txnForEnc.sptype;\n }\n if (txnForEnc.sp !== undefined) {\n txn.stateProof = txnForEnc.sp;\n }\n if (txnForEnc.spmsg !== undefined) {\n txn.stateProofMessage = txnForEnc.spmsg;\n }\n }\n return txn;\n }\n estimateSize() {\n return this.toByte().length + NUM_ADDL_BYTES_AFTER_SIGNING;\n }\n bytesToSign() {\n const encodedMsg = this.toByte();\n return Buffer.from(utils.concatArrays(this.tag, encodedMsg));\n }\n toByte() {\n return encoding.encode(this.get_obj_for_encoding());\n }\n // returns the raw signature\n rawSignTxn(sk) {\n const toBeSigned = this.bytesToSign();\n const sig = nacl.sign(toBeSigned, sk);\n return Buffer.from(sig);\n }\n signTxn(sk) {\n // construct signed message\n const sTxn = {\n sig: this.rawSignTxn(sk),\n txn: this.get_obj_for_encoding(),\n };\n // add AuthAddr if signing with a different key than From indicates\n const keypair = nacl.keyPairFromSecretKey(sk);\n const pubKeyFromSk = keypair.publicKey;\n if (address.encodeAddress(pubKeyFromSk) !==\n address.encodeAddress(this.from.publicKey)) {\n sTxn.sgnr = Buffer.from(pubKeyFromSk);\n }\n return new Uint8Array(encoding.encode(sTxn));\n }\n attachSignature(signerAddr, signature) {\n if (!nacl.isValidSignatureLength(signature.length)) {\n throw new Error('Invalid signature length');\n }\n const sTxn = {\n sig: Buffer.from(signature),\n txn: this.get_obj_for_encoding(),\n };\n // add AuthAddr if signing with a different key than From indicates\n if (signerAddr !== address.encodeAddress(this.from.publicKey)) {\n const signerPublicKey = address.decodeAddress(signerAddr).publicKey;\n sTxn.sgnr = Buffer.from(signerPublicKey);\n }\n return new Uint8Array(encoding.encode(sTxn));\n }\n rawTxID() {\n const enMsg = this.toByte();\n const gh = Buffer.from(utils.concatArrays(this.tag, enMsg));\n return Buffer.from(nacl.genericHash(gh));\n }\n txID() {\n const hash = this.rawTxID();\n return base32.encode(hash).slice(0, ALGORAND_TRANSACTION_LENGTH);\n }\n // add a lease to a transaction not yet having\n // supply feePerByte to increment fee accordingly\n addLease(lease, feePerByte = 0) {\n let mutableLease;\n if (lease !== undefined) {\n if (lease.constructor !== Uint8Array)\n throw Error('lease must be a Uint8Array.');\n if (lease.length !== ALGORAND_TRANSACTION_LEASE_LENGTH)\n throw Error(`lease must be of length ${ALGORAND_TRANSACTION_LEASE_LENGTH.toString()}.`);\n mutableLease = new Uint8Array(lease);\n }\n else {\n mutableLease = new Uint8Array(0);\n }\n this.lease = mutableLease;\n if (feePerByte !== 0) {\n this.fee +=\n (ALGORAND_TRANSACTION_LEASE_LABEL_LENGTH +\n ALGORAND_TRANSACTION_LEASE_LENGTH) *\n feePerByte;\n }\n }\n // add the rekey-to field to a transaction not yet having it\n // supply feePerByte to increment fee accordingly\n addRekey(reKeyTo, feePerByte = 0) {\n if (reKeyTo !== undefined) {\n this.reKeyTo = address.decodeAddress(reKeyTo);\n }\n if (feePerByte !== 0) {\n this.fee +=\n (ALGORAND_TRANSACTION_REKEY_LABEL_LENGTH +\n ALGORAND_TRANSACTION_ADDRESS_LENGTH) *\n feePerByte;\n }\n }\n // build display dict for prettyPrint and toString\n // eslint-disable-next-line no-underscore-dangle\n _getDictForDisplay() {\n const forPrinting = {\n ...this,\n };\n forPrinting.tag = forPrinting.tag.toString();\n forPrinting.from = address.encodeAddress(forPrinting.from.publicKey);\n if (forPrinting.to !== undefined)\n forPrinting.to = address.encodeAddress(forPrinting.to.publicKey);\n // things that need fixing:\n if (forPrinting.freezeAccount !== undefined)\n forPrinting.freezeAccount = address.encodeAddress(forPrinting.freezeAccount.publicKey);\n if (forPrinting.closeRemainderTo !== undefined)\n forPrinting.closeRemainderTo = address.encodeAddress(forPrinting.closeRemainderTo.publicKey);\n if (forPrinting.assetManager !== undefined)\n forPrinting.assetManager = address.encodeAddress(forPrinting.assetManager.publicKey);\n if (forPrinting.assetReserve !== undefined)\n forPrinting.assetReserve = address.encodeAddress(forPrinting.assetReserve.publicKey);\n if (forPrinting.assetFreeze !== undefined)\n forPrinting.assetFreeze = address.encodeAddress(forPrinting.assetFreeze.publicKey);\n if (forPrinting.assetClawback !== undefined)\n forPrinting.assetClawback = address.encodeAddress(forPrinting.assetClawback.publicKey);\n if (forPrinting.assetRevocationTarget !== undefined)\n forPrinting.assetRevocationTarget = address.encodeAddress(forPrinting.assetRevocationTarget.publicKey);\n if (forPrinting.reKeyTo !== undefined)\n forPrinting.reKeyTo = address.encodeAddress(forPrinting.reKeyTo.publicKey);\n forPrinting.genesisHash = forPrinting.genesisHash.toString('base64');\n return forPrinting;\n }\n // pretty print the transaction to console\n prettyPrint() {\n // eslint-disable-next-line no-underscore-dangle,no-console\n console.log(this._getDictForDisplay());\n }\n // get string representation\n toString() {\n // eslint-disable-next-line no-underscore-dangle\n return JSON.stringify(this._getDictForDisplay());\n }\n}\n/**\n * encodeUnsignedTransaction takes a completed txnBuilder.Transaction object, such as from the makeFoo\n * family of transactions, and converts it to a Buffer\n * @param transactionObject - the completed Transaction object\n */\nexport function encodeUnsignedTransaction(transactionObject) {\n const objToEncode = transactionObject.get_obj_for_encoding();\n return encoding.encode(objToEncode);\n}\n/**\n * decodeUnsignedTransaction takes a Buffer (as if from encodeUnsignedTransaction) and converts it to a txnBuilder.Transaction object\n * @param transactionBuffer - the Uint8Array containing a transaction\n */\nexport function decodeUnsignedTransaction(transactionBuffer) {\n const partlyDecodedObject = encoding.decode(transactionBuffer);\n return Transaction.from_obj_for_encoding(partlyDecodedObject);\n}\n/**\n * decodeSignedTransaction takes a Buffer (from transaction.signTxn) and converts it to an object\n * containing the Transaction (txn), the signature (sig), and the auth-addr field if applicable (sgnr)\n * @param transactionBuffer - the Uint8Array containing a transaction\n * @returns containing a Transaction, the signature, and possibly an auth-addr field\n */\nexport function decodeSignedTransaction(transactionBuffer) {\n const stxnDecoded = encoding.decode(transactionBuffer);\n const stxn = {\n ...stxnDecoded,\n txn: Transaction.from_obj_for_encoding(stxnDecoded.txn),\n };\n return stxn;\n}\nexport function instantiateTxnIfNeeded(transactionLike) {\n return transactionLike instanceof Transaction\n ? transactionLike\n : new Transaction(transactionLike);\n}\nexport default Transaction;\n//# sourceMappingURL=transaction.js.map","import JSONbigWithoutConfig from 'json-bigint';\nimport IntDecoding from '../types/intDecoding';\nconst JSONbig = JSONbigWithoutConfig({ useNativeBigInt: true, strict: true });\n/**\n * Parse JSON with additional options.\n * @param str - The JSON string to parse.\n * @param options - Options object to configure how integers in\n * this request's JSON response will be decoded. Use the `intDecoding`\n * property with one of the following options:\n *\n * * \"default\": All integers will be decoded as Numbers, meaning any values greater than\n * Number.MAX_SAFE_INTEGER will lose precision.\n * * \"safe\": All integers will be decoded as Numbers, but if any values are greater than\n * Number.MAX_SAFE_INTEGER an error will be thrown.\n * * \"mixed\": Integers will be decoded as Numbers if they are less than or equal to\n * Number.MAX_SAFE_INTEGER, otherwise they will be decoded as BigInts.\n * * \"bigint\": All integers will be decoded as BigInts.\n *\n * Defaults to \"default\" if not included.\n */\nexport function parseJSON(str, options) {\n const intDecoding = options && options.intDecoding ? options.intDecoding : IntDecoding.DEFAULT;\n return JSONbig.parse(str, (_, value) => {\n if (value != null &&\n typeof value === 'object' &&\n Object.getPrototypeOf(value) == null) {\n // JSONbig.parse objects are created with Object.create(null) and thus have a null prototype\n // let us remedy that\n Object.setPrototypeOf(value, Object.prototype);\n }\n if (typeof value === 'bigint') {\n if (intDecoding === 'safe' && value > Number.MAX_SAFE_INTEGER) {\n throw new Error(`Integer exceeds maximum safe integer: ${value.toString()}. Try parsing with a different intDecoding option.`);\n }\n if (intDecoding === 'bigint' ||\n (intDecoding === 'mixed' && value > Number.MAX_SAFE_INTEGER)) {\n return value;\n }\n // JSONbig.parse converts number to BigInts if they are >= 10**15. This is smaller than\n // Number.MAX_SAFE_INTEGER, so we can convert some BigInts back to normal numbers.\n return Number(value);\n }\n if (typeof value === 'number') {\n if (intDecoding === 'bigint' && Number.isInteger(value)) {\n return BigInt(value);\n }\n }\n return value;\n });\n}\n/**\n * ArrayEqual takes two arrays and return true if equal, false otherwise\n */\nexport function arrayEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n return Array.from(a).every((val, i) => val === b[i]);\n}\n/**\n * ConcatArrays takes n number arrays and returns a joint Uint8Array\n * @param arrs - An arbitrary number of n array-like number list arguments\n * @returns [a,b]\n */\nexport function concatArrays(...arrs) {\n const size = arrs.reduce((sum, arr) => sum + arr.length, 0);\n const c = new Uint8Array(size);\n let offset = 0;\n for (let i = 0; i < arrs.length; i++) {\n c.set(arrs[i], offset);\n offset += arrs[i].length;\n }\n return c;\n}\n/**\n * Remove undefined properties from an object\n * @param obj - An object, preferably one with some undefined properties\n * @returns A copy of the object with undefined properties removed\n */\nexport function removeUndefinedProperties(obj) {\n const mutableCopy = { ...obj };\n Object.keys(mutableCopy).forEach((key) => {\n if (typeof mutableCopy[key] === 'undefined')\n delete mutableCopy[key];\n });\n return mutableCopy;\n}\n/**\n * Check whether the environment is Node.js (as opposed to the browser)\n * @returns True if Node.js environment, false otherwise\n */\nexport function isNode() {\n return (typeof process === 'object' &&\n typeof process.versions === 'object' &&\n typeof process.versions.node !== 'undefined');\n}\n//# sourceMappingURL=utils.js.map","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export const LENGTH_0 = 0;\nexport const LENGTH_1 = 1;\nexport const LENGTH_16 = 16;\nexport const LENGTH_32 = 32;\nexport const LENGTH_64 = 64;\nexport const LENGTH_128 = 128;\nexport const LENGTH_256 = 256;\nexport const LENGTH_512 = 512;\nexport const LENGTH_1024 = 1024;\n//# sourceMappingURL=length.js.map","import { LENGTH_1, LENGTH_32, LENGTH_16, LENGTH_256 } from \"./length\";\nexport const AES_LENGTH = LENGTH_256;\nexport const HMAC_LENGTH = LENGTH_256;\nexport const AES_BROWSER_ALGO = \"AES-CBC\";\nexport const HMAC_BROWSER_ALGO = `SHA-${AES_LENGTH}`;\nexport const HMAC_BROWSER = \"HMAC\";\nexport const SHA256_BROWSER_ALGO = \"SHA-256\";\nexport const SHA512_BROWSER_ALGO = \"SHA-512\";\nexport const AES_NODE_ALGO = `aes-${AES_LENGTH}-cbc`;\nexport const HMAC_NODE_ALGO = `sha${HMAC_LENGTH}`;\nexport const SHA256_NODE_ALGO = \"sha256\";\nexport const SHA512_NODE_ALGO = \"sha512\";\nexport const RIPEMD160_NODE_ALGO = \"ripemd160\";\nexport const PREFIX_LENGTH = LENGTH_1;\nexport const KEY_LENGTH = LENGTH_32;\nexport const IV_LENGTH = LENGTH_16;\nexport const MAC_LENGTH = LENGTH_32;\n//# sourceMappingURL=default.js.map","export const ENCRYPT_OP = \"encrypt\";\nexport const DECRYPT_OP = \"decrypt\";\nexport const SIGN_OP = \"sign\";\nexport const VERIFY_OP = \"verify\";\n//# sourceMappingURL=operations.js.map","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n * Enum for application transaction types.\n *\n * The full list is available at https://developer.algorand.org/docs/reference/transactions/\n */\nexport var TransactionType;\n(function (TransactionType) {\n /**\n * Payment transaction\n */\n TransactionType[\"pay\"] = \"pay\";\n /**\n * Key registration transaction\n */\n TransactionType[\"keyreg\"] = \"keyreg\";\n /**\n * Asset configuration transaction\n */\n TransactionType[\"acfg\"] = \"acfg\";\n /**\n * Asset transfer transaction\n */\n TransactionType[\"axfer\"] = \"axfer\";\n /**\n * Asset freeze transaction\n */\n TransactionType[\"afrz\"] = \"afrz\";\n /**\n * Application transaction\n */\n TransactionType[\"appl\"] = \"appl\";\n /**\n * State proof transaction\n */\n TransactionType[\"stpf\"] = \"stpf\";\n})(TransactionType || (TransactionType = {}));\nexport function isTransactionType(s) {\n return (s === TransactionType.pay ||\n s === TransactionType.keyreg ||\n s === TransactionType.acfg ||\n s === TransactionType.axfer ||\n s === TransactionType.afrz ||\n s === TransactionType.appl ||\n s === TransactionType.stpf);\n}\n/**\n * Enums for application transactions on-transaction-complete behavior\n */\nexport var OnApplicationComplete;\n(function (OnApplicationComplete) {\n /**\n * NoOpOC indicates that an application transaction will simply call its\n * ApprovalProgram\n */\n OnApplicationComplete[OnApplicationComplete[\"NoOpOC\"] = 0] = \"NoOpOC\";\n /**\n * OptInOC indicates that an application transaction will allocate some\n * LocalState for the application in the sender's account\n */\n OnApplicationComplete[OnApplicationComplete[\"OptInOC\"] = 1] = \"OptInOC\";\n /**\n * CloseOutOC indicates that an application transaction will deallocate\n * some LocalState for the application from the user's account\n */\n OnApplicationComplete[OnApplicationComplete[\"CloseOutOC\"] = 2] = \"CloseOutOC\";\n /**\n * ClearStateOC is similar to CloseOutOC, but may never fail. This\n * allows users to reclaim their minimum balance from an application\n * they no longer wish to opt in to.\n */\n OnApplicationComplete[OnApplicationComplete[\"ClearStateOC\"] = 3] = \"ClearStateOC\";\n /**\n * UpdateApplicationOC indicates that an application transaction will\n * update the ApprovalProgram and ClearStateProgram for the application\n */\n OnApplicationComplete[OnApplicationComplete[\"UpdateApplicationOC\"] = 4] = \"UpdateApplicationOC\";\n /**\n * DeleteApplicationOC indicates that an application transaction will\n * delete the AppParams for the application from the creator's balance\n * record\n */\n OnApplicationComplete[OnApplicationComplete[\"DeleteApplicationOC\"] = 5] = \"DeleteApplicationOC\";\n})(OnApplicationComplete || (OnApplicationComplete = {}));\n//# sourceMappingURL=base.js.map","import * as nacl from './nacl/naclWrappers';\nimport * as address from './encoding/address';\nimport * as encoding from './encoding/encoding';\nimport { verifyMultisig } from './multisig';\nimport * as utils from './utils/utils';\nimport * as txnBuilder from './transaction';\nimport { isValidAddress } from './encoding/address';\n/** sanityCheckProgram performs heuristic program validation:\n * check if passed in bytes are Algorand address or is B64 encoded, rather than Teal bytes\n *\n * @param program - Program bytes to check\n */\nexport function sanityCheckProgram(program) {\n if (!program || program.length === 0)\n throw new Error('empty program');\n const lineBreakOrd = '\\n'.charCodeAt(0);\n const blankSpaceOrd = ' '.charCodeAt(0);\n const tildeOrd = '~'.charCodeAt(0);\n const isPrintable = (x) => blankSpaceOrd <= x && x <= tildeOrd;\n const isAsciiPrintable = program.every((x) => x === lineBreakOrd || isPrintable(x));\n if (isAsciiPrintable) {\n const programStr = Buffer.from(program).toString();\n if (isValidAddress(programStr))\n throw new Error('requesting program bytes, get Algorand address');\n if (Buffer.from(programStr, 'base64').toString('base64') === programStr)\n throw new Error('program should not be b64 encoded');\n throw new Error('program bytes are all ASCII printable characters, not looking like Teal byte code');\n }\n}\n/**\n LogicSig implementation\n */\nexport class LogicSig {\n constructor(program, programArgs) {\n this.tag = Buffer.from('Program');\n if (programArgs &&\n (!Array.isArray(programArgs) ||\n !programArgs.every((arg) => arg.constructor === Uint8Array || Buffer.isBuffer(arg)))) {\n throw new TypeError('Invalid arguments');\n }\n let args;\n if (programArgs != null)\n args = programArgs.map((arg) => new Uint8Array(arg));\n sanityCheckProgram(program);\n this.logic = program;\n this.args = args;\n this.sig = undefined;\n this.msig = undefined;\n }\n // eslint-disable-next-line camelcase\n get_obj_for_encoding() {\n const obj = {\n l: this.logic,\n };\n if (this.args) {\n obj.arg = this.args;\n }\n if (this.sig) {\n obj.sig = this.sig;\n }\n else if (this.msig) {\n obj.msig = this.msig;\n }\n return obj;\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(encoded) {\n const lsig = new LogicSig(encoded.l, encoded.arg);\n lsig.sig = encoded.sig;\n lsig.msig = encoded.msig;\n return lsig;\n }\n /**\n * Performs signature verification\n * @param publicKey - Verification key (derived from sender address or escrow address)\n */\n verify(publicKey) {\n if (this.sig && this.msig) {\n return false;\n }\n try {\n sanityCheckProgram(this.logic);\n }\n catch (e) {\n return false;\n }\n const toBeSigned = utils.concatArrays(this.tag, this.logic);\n if (!this.sig && !this.msig) {\n const hash = nacl.genericHash(toBeSigned);\n return utils.arrayEqual(hash, publicKey);\n }\n if (this.sig) {\n return nacl.verify(toBeSigned, this.sig, publicKey);\n }\n return verifyMultisig(toBeSigned, this.msig, publicKey);\n }\n /**\n * Compute hash of the logic sig program (that is the same as escrow account address) as string address\n * @returns String representation of the address\n */\n address() {\n const toBeSigned = utils.concatArrays(this.tag, this.logic);\n const hash = nacl.genericHash(toBeSigned);\n return address.encodeAddress(new Uint8Array(hash));\n }\n /**\n * Creates signature (if no msig provided) or multi signature otherwise\n * @param secretKey - Secret key to sign with\n * @param msig - Multisig account as \\{version, threshold, addrs\\}\n */\n sign(secretKey, msig) {\n if (msig == null) {\n this.sig = this.signProgram(secretKey);\n }\n else {\n const subsigs = msig.addrs.map((addr) => ({\n pk: address.decodeAddress(addr).publicKey,\n }));\n this.msig = {\n v: msig.version,\n thr: msig.threshold,\n subsig: subsigs,\n };\n const [sig, index] = this.singleSignMultisig(secretKey, this.msig);\n this.msig.subsig[index].s = sig;\n }\n }\n /**\n * Appends a signature to multi signature\n * @param secretKey - Secret key to sign with\n */\n appendToMultisig(secretKey) {\n if (this.msig === undefined) {\n throw new Error('no multisig present');\n }\n const [sig, index] = this.singleSignMultisig(secretKey, this.msig);\n this.msig.subsig[index].s = sig;\n }\n signProgram(secretKey) {\n const toBeSigned = utils.concatArrays(this.tag, this.logic);\n const sig = nacl.sign(toBeSigned, secretKey);\n return sig;\n }\n singleSignMultisig(secretKey, msig) {\n let index = -1;\n const myPk = nacl.keyPairFromSecretKey(secretKey).publicKey;\n for (let i = 0; i < msig.subsig.length; i++) {\n const { pk } = msig.subsig[i];\n if (utils.arrayEqual(pk, myPk)) {\n index = i;\n break;\n }\n }\n if (index === -1) {\n throw new Error('invalid secret key');\n }\n const sig = this.signProgram(secretKey);\n return [sig, index];\n }\n toByte() {\n return encoding.encode(this.get_obj_for_encoding());\n }\n static fromByte(encoded) {\n const decodedObj = encoding.decode(encoded);\n return LogicSig.from_obj_for_encoding(decodedObj);\n }\n}\n/**\n * Represents an account that can sign with a LogicSig program.\n */\nexport class LogicSigAccount {\n /**\n * Create a new LogicSigAccount. By default this will create an escrow\n * LogicSig account. Call `sign` or `signMultisig` on the newly created\n * LogicSigAccount to make it a delegated account.\n *\n * @param program - The compiled TEAL program which contains the logic for\n * this LogicSig.\n * @param args - An optional array of arguments for the program.\n */\n constructor(program, args) {\n this.lsig = new LogicSig(program, args);\n this.sigkey = undefined;\n }\n // eslint-disable-next-line camelcase\n get_obj_for_encoding() {\n const obj = {\n lsig: this.lsig.get_obj_for_encoding(),\n };\n if (this.sigkey) {\n obj.sigkey = this.sigkey;\n }\n return obj;\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(encoded) {\n const lsigAccount = new LogicSigAccount(encoded.lsig.l, encoded.lsig.arg);\n lsigAccount.lsig = LogicSig.from_obj_for_encoding(encoded.lsig);\n lsigAccount.sigkey = encoded.sigkey;\n return lsigAccount;\n }\n /**\n * Encode this object into msgpack.\n */\n toByte() {\n return encoding.encode(this.get_obj_for_encoding());\n }\n /**\n * Decode a msgpack object into a LogicSigAccount.\n * @param encoded - The encoded LogicSigAccount.\n */\n static fromByte(encoded) {\n const decodedObj = encoding.decode(encoded);\n return LogicSigAccount.from_obj_for_encoding(decodedObj);\n }\n /**\n * Check if this LogicSigAccount has been delegated to another account with a\n * signature.\n *\n * Note this function only checks for the presence of a delegation signature.\n * To verify the delegation signature, use `verify`.\n */\n isDelegated() {\n return !!(this.lsig.sig || this.lsig.msig);\n }\n /**\n * Verifies this LogicSig's program and signatures.\n * @returns true if and only if the LogicSig program and signatures are valid.\n */\n verify() {\n const addr = this.address();\n return this.lsig.verify(address.decodeAddress(addr).publicKey);\n }\n /**\n * Get the address of this LogicSigAccount.\n *\n * If the LogicSig is delegated to another account, this will return the\n * address of that account.\n *\n * If the LogicSig is not delegated to another account, this will return an\n * escrow address that is the hash of the LogicSig's program code.\n */\n address() {\n if (this.lsig.sig && this.lsig.msig) {\n throw new Error('LogicSig has too many signatures. At most one of sig or msig may be present');\n }\n if (this.lsig.sig) {\n if (!this.sigkey) {\n throw new Error('Signing key for delegated account is missing');\n }\n return address.encodeAddress(this.sigkey);\n }\n if (this.lsig.msig) {\n const msigMetadata = {\n version: this.lsig.msig.v,\n threshold: this.lsig.msig.thr,\n pks: this.lsig.msig.subsig.map((subsig) => subsig.pk),\n };\n return address.encodeAddress(address.fromMultisigPreImg(msigMetadata));\n }\n return this.lsig.address();\n }\n /**\n * Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig\n * has the authority to sign transactions on behalf of another account, called\n * the delegating account. Use this function if the delegating account is a\n * multisig account.\n *\n * @param msig - The multisig delegating account\n * @param secretKey - The secret key of one of the members of the delegating\n * multisig account. Use `appendToMultisig` to add additional signatures\n * from other members.\n */\n signMultisig(msig, secretKey) {\n this.lsig.sign(secretKey, msig);\n }\n /**\n * Adds an additional signature from a member of the delegating multisig\n * account.\n *\n * @param secretKey - The secret key of one of the members of the delegating\n * multisig account.\n */\n appendToMultisig(secretKey) {\n this.lsig.appendToMultisig(secretKey);\n }\n /**\n * Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig\n * has the authority to sign transactions on behalf of another account, called\n * the delegating account. If the delegating account is a multisig account,\n * use `signMultisig` instead.\n *\n * @param secretKey - The secret key of the delegating account.\n */\n sign(secretKey) {\n this.lsig.sign(secretKey);\n this.sigkey = nacl.keyPairFromSecretKey(secretKey).publicKey;\n }\n}\n/**\n * makeLogicSig creates LogicSig object from program and arguments\n *\n * @deprecated Use new LogicSigAccount(...) instead\n *\n * @param program - Program to make LogicSig from\n * @param args - Arguments as array of Uint8Array\n * @returns LogicSig object\n */\nexport function makeLogicSig(program, args) {\n return new LogicSig(program, args);\n}\nfunction signLogicSigTransactionWithAddress(txn, lsig, lsigAddress) {\n if (!lsig.verify(lsigAddress)) {\n throw new Error('Logic signature verification failed. Ensure the program and signature are valid.');\n }\n const signedTxn = {\n lsig: lsig.get_obj_for_encoding(),\n txn: txn.get_obj_for_encoding(),\n };\n if (!nacl.bytesEqual(lsigAddress, txn.from.publicKey)) {\n signedTxn.sgnr = Buffer.from(lsigAddress);\n }\n return {\n txID: txn.txID().toString(),\n blob: encoding.encode(signedTxn),\n };\n}\n/**\n * signLogicSigTransactionObject takes a transaction and a LogicSig object and\n * returns a signed transaction.\n *\n * @param txn - The transaction to sign.\n * @param lsigObject - The LogicSig object that will sign the transaction.\n *\n * @returns Object containing txID and blob representing signed transaction.\n */\nexport function signLogicSigTransactionObject(txn, lsigObject) {\n let lsig;\n let lsigAddress;\n if (lsigObject instanceof LogicSigAccount) {\n lsig = lsigObject.lsig;\n lsigAddress = address.decodeAddress(lsigObject.address()).publicKey;\n }\n else {\n lsig = lsigObject;\n if (lsig.sig) {\n // For a LogicSig with a non-multisig delegating account, we cannot derive\n // the address of that account from only its signature, so assume the\n // delegating account is the sender. If that's not the case, the signing\n // will fail.\n lsigAddress = txn.from.publicKey;\n }\n else if (lsig.msig) {\n const msigMetadata = {\n version: lsig.msig.v,\n threshold: lsig.msig.thr,\n pks: lsig.msig.subsig.map((subsig) => subsig.pk),\n };\n lsigAddress = address.fromMultisigPreImg(msigMetadata);\n }\n else {\n lsigAddress = address.decodeAddress(lsig.address()).publicKey;\n }\n }\n return signLogicSigTransactionWithAddress(txn, lsig, lsigAddress);\n}\n/**\n * signLogicSigTransaction takes a transaction and a LogicSig object and returns\n * a signed transaction.\n *\n * @param txn - The transaction to sign.\n * @param lsigObject - The LogicSig object that will sign the transaction.\n *\n * @returns Object containing txID and blob representing signed transaction.\n * @throws error on failure\n */\nexport function signLogicSigTransaction(txn, lsigObject) {\n const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);\n return signLogicSigTransactionObject(algoTxn, lsigObject);\n}\n/**\n * logicSigFromByte accepts encoded logic sig bytes and attempts to call logicsig.fromByte on it,\n * returning the result\n */\nexport function logicSigFromByte(encoded) {\n return LogicSig.fromByte(encoded);\n}\nconst SIGN_PROGRAM_DATA_PREFIX = Buffer.from('ProgData');\n/**\n * tealSign creates a signature compatible with ed25519verify opcode from program hash\n * @param sk - uint8array with secret key\n * @param data - buffer with data to sign\n * @param programHash - string representation of teal program hash (= contract address for LogicSigs)\n */\nexport function tealSign(sk, data, programHash) {\n const parts = utils.concatArrays(address.decodeAddress(programHash).publicKey, data);\n const toBeSigned = Buffer.from(utils.concatArrays(SIGN_PROGRAM_DATA_PREFIX, parts));\n return nacl.sign(toBeSigned, sk);\n}\n/**\n * tealSignFromProgram creates a signature compatible with ed25519verify opcode from raw program bytes\n * @param sk - uint8array with secret key\n * @param data - buffer with data to sign\n * @param program - buffer with teal program\n */\nexport function tealSignFromProgram(sk, data, program) {\n const lsig = new LogicSig(program);\n const contractAddress = lsig.address();\n return tealSign(sk, data, contractAddress);\n}\n//# sourceMappingURL=logicsig.js.map","\"use strict\";\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function r(r,t){var e=\"function\"==typeof Symbol&&r[Symbol.iterator];if(!e)return r;var n,o,a=e.call(r),l=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)l.push(n.value)}catch(r){o={error:r}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return l}exports.__assign=function(){return exports.__assign=Object.assign||function(r){for(var t,e=1,n=arguments.length;e {\n if (abiTypeIsTransaction(type) || abiTypeIsReference(type)) {\n return {\n type,\n name,\n description: desc,\n };\n }\n return {\n type: ABIType.from(type),\n name,\n description: desc,\n };\n });\n this.returns = {\n type: params.returns.type === 'void'\n ? params.returns.type\n : ABIType.from(params.returns.type),\n description: params.returns.desc,\n };\n }\n getSignature() {\n const args = this.args.map((arg) => arg.type.toString()).join(',');\n const returns = this.returns.type.toString();\n return `${this.name}(${args})${returns}`;\n }\n getSelector() {\n const hash = genericHash(this.getSignature());\n return new Uint8Array(hash.slice(0, 4));\n }\n txnCount() {\n let count = 1;\n for (const arg of this.args) {\n if (typeof arg.type === 'string' && abiTypeIsTransaction(arg.type)) {\n count += 1;\n }\n }\n return count;\n }\n toJSON() {\n return {\n name: this.name,\n desc: this.description,\n args: this.args.map(({ type, name, description }) => ({\n type: type.toString(),\n name,\n desc: description,\n })),\n returns: {\n type: this.returns.type.toString(),\n desc: this.returns.description,\n },\n };\n }\n static fromSignature(signature) {\n const { name, args, returns } = parseMethodSignature(signature);\n return new ABIMethod({\n name,\n args: args.map((arg) => ({ type: arg })),\n returns: { type: returns },\n });\n }\n}\nexport function getMethodByName(methods, name) {\n if (methods === null ||\n !Array.isArray(methods) ||\n !methods.every((item) => item instanceof ABIMethod))\n throw new Error('Methods list provided is null or not the correct type');\n const filteredMethods = methods.filter((m) => m.name === name);\n if (filteredMethods.length > 1)\n throw new Error(`found ${filteredMethods.length} methods with the same name ${filteredMethods\n .map((m) => m.getSignature())\n .join(',')}`);\n if (filteredMethods.length === 0)\n throw new Error(`found 0 methods with the name ${name}`);\n return filteredMethods[0];\n}\n//# sourceMappingURL=method.js.map","import { ABIMethod, getMethodByName } from './method';\nexport class ABIContract {\n constructor(params) {\n if (typeof params.name !== 'string' ||\n !Array.isArray(params.methods) ||\n (params.networks && typeof params.networks !== 'object')) {\n throw new Error('Invalid ABIContract parameters');\n }\n this.name = params.name;\n this.description = params.desc;\n this.networks = params.networks ? { ...params.networks } : {};\n this.methods = params.methods.map((method) => new ABIMethod(method));\n }\n toJSON() {\n return {\n name: this.name,\n desc: this.description,\n networks: this.networks,\n methods: this.methods.map((method) => method.toJSON()),\n };\n }\n getMethodByName(name) {\n return getMethodByName(this.methods, name);\n }\n}\n//# sourceMappingURL=contract.js.map","import { ABIMethod, getMethodByName } from './method';\nexport class ABIInterface {\n constructor(params) {\n if (typeof params.name !== 'string' || !Array.isArray(params.methods)) {\n throw new Error('Invalid ABIInterface parameters');\n }\n this.name = params.name;\n this.description = params.desc;\n this.methods = params.methods.map((method) => new ABIMethod(method));\n }\n toJSON() {\n return {\n name: this.name,\n desc: this.description,\n methods: this.methods.map((method) => method.toJSON()),\n };\n }\n getMethodByName(name) {\n return getMethodByName(this.methods, name);\n }\n}\n//# sourceMappingURL=interface.js.map","import * as nacl from './nacl/naclWrappers';\nimport * as address from './encoding/address';\nimport * as encoding from './encoding/encoding';\nimport * as txnBuilder from './transaction';\nimport * as utils from './utils/utils';\n/**\n Utilities for manipulating multisig transaction blobs.\n */\nexport const MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG = 'Not enough multisig transactions to merge. Need at least two';\nexport const MULTISIG_MERGE_MISMATCH_ERROR_MSG = 'Cannot merge txs. txIDs differ';\nexport const MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG = 'Cannot merge txs. Auth addrs differ';\nexport const MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG = 'Cannot merge txs. Multisig preimages differ';\nexport const MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG = 'Cannot merge txs. subsigs are mismatched.';\nconst MULTISIG_KEY_NOT_EXIST_ERROR_MSG = 'Key does not exist';\nexport const MULTISIG_NO_MUTATE_ERROR_MSG = 'Cannot mutate a multisig field as it would invalidate all existing signatures.';\nexport const MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG = 'Cannot sign a multisig transaction using `signTxn`. Use `partialSignTxn` instead.';\nexport const MULTISIG_SIGNATURE_LENGTH_ERROR_MSG = 'Cannot add multisig signature. Signature is not of the correct length.';\n/**\n * createMultisigTransaction creates a raw, unsigned multisig transaction blob.\n * @param txn - the actual transaction.\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param pks - ordered list of public keys in this multisig\n * @returns encoded multisig blob\n */\nexport function createMultisigTransaction(txn, { version, threshold, addrs }) {\n // construct the appendable multisigned transaction format\n const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);\n const subsigs = pks.map((pk) => ({ pk: Buffer.from(pk) }));\n const msig = {\n v: version,\n thr: threshold,\n subsig: subsigs,\n };\n const txnForEncoding = txn.get_obj_for_encoding();\n const signedTxn = {\n msig,\n txn: txnForEncoding,\n };\n // if the address of this multisig is different from the transaction sender,\n // we need to add the auth-addr field\n const msigAddr = address.fromMultisigPreImg({\n version,\n threshold,\n pks,\n });\n if (address.encodeAddress(txnForEncoding.snd) !==\n address.encodeAddress(msigAddr)) {\n signedTxn.sgnr = Buffer.from(msigAddr);\n }\n return new Uint8Array(encoding.encode(signedTxn));\n}\n/**\n * createMultisigTransactionWithSignature creates a multisig transaction blob with an included signature.\n * @param txn - the actual transaction to sign.\n * @param rawSig - a Buffer raw signature of that transaction\n * @param myPk - a public key that corresponds with rawSig\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param pks - ordered list of public keys in this multisig\n * @returns encoded multisig blob\n */\nfunction createMultisigTransactionWithSignature(txn, { rawSig, myPk }, { version, threshold, pks }) {\n // Create an empty encoded multisig transaction\n const encodedMsig = createMultisigTransaction(txn, {\n version,\n threshold,\n addrs: pks.map((pk) => address.encodeAddress(pk)),\n });\n // note: this is not signed yet, but will be shortly\n const signedTxn = encoding.decode(encodedMsig);\n let keyExist = false;\n // append the multisig signature to the corresponding public key in the multisig blob\n signedTxn.msig.subsig.forEach((subsig, i) => {\n if (nacl.bytesEqual(subsig.pk, myPk)) {\n keyExist = true;\n signedTxn.msig.subsig[i].s = rawSig;\n }\n });\n if (keyExist === false) {\n throw new Error(MULTISIG_KEY_NOT_EXIST_ERROR_MSG);\n }\n // if the address of this multisig is different from the transaction sender,\n // we need to add the auth-addr field\n const msigAddr = address.fromMultisigPreImg({\n version,\n threshold,\n pks,\n });\n if (address.encodeAddress(signedTxn.txn.snd) !== address.encodeAddress(msigAddr)) {\n signedTxn.sgnr = Buffer.from(msigAddr);\n }\n return new Uint8Array(encoding.encode(signedTxn));\n}\n/**\n * MultisigTransaction is a Transaction that also supports creating partially-signed multisig transactions.\n */\nexport class MultisigTransaction extends txnBuilder.Transaction {\n /* eslint-disable class-methods-use-this,@typescript-eslint/no-unused-vars,no-dupe-class-members */\n /**\n * Override inherited method to throw an error, as mutating transactions are prohibited in this context\n */\n addLease() {\n throw new Error(MULTISIG_NO_MUTATE_ERROR_MSG);\n }\n /**\n * Override inherited method to throw an error, as mutating transactions are prohibited in this context\n */\n addRekey() {\n throw new Error(MULTISIG_NO_MUTATE_ERROR_MSG);\n }\n signTxn(sk) {\n throw new Error(MULTISIG_USE_PARTIAL_SIGN_ERROR_MSG);\n }\n /* eslint-enable class-methods-use-this,@typescript-eslint/no-unused-vars,no-dupe-class-members */\n /**\n * partialSignTxn partially signs this transaction and returns a partially-signed multisig transaction,\n * encoded with msgpack as a typed array.\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param pks - multisig public key list, order is important.\n * @param sk - an Algorand secret key to sign with.\n * @returns an encoded, partially signed multisig transaction.\n */\n partialSignTxn({ version, threshold, pks }, sk) {\n // get signature verifier\n const myPk = nacl.keyPairFromSecretKey(sk).publicKey;\n return createMultisigTransactionWithSignature(this, { rawSig: this.rawSignTxn(sk), myPk }, { version, threshold, pks });\n }\n /**\n * partialSignWithMultisigSignature partially signs this transaction with an external raw multisig signature and returns\n * a partially-signed multisig transaction, encoded with msgpack as a typed array.\n * @param metadata - multisig metadata\n * @param signerAddr - address of the signer\n * @param signature - raw multisig signature\n * @returns an encoded, partially signed multisig transaction.\n */\n partialSignWithMultisigSignature(metadata, signerAddr, signature) {\n if (!nacl.isValidSignatureLength(signature.length)) {\n throw new Error(MULTISIG_SIGNATURE_LENGTH_ERROR_MSG);\n }\n return createMultisigTransactionWithSignature(this, {\n rawSig: signature,\n myPk: address.decodeAddress(signerAddr).publicKey,\n }, metadata);\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(txnForEnc) {\n return super.from_obj_for_encoding(txnForEnc);\n }\n}\n/**\n * mergeMultisigTransactions takes a list of multisig transaction blobs, and merges them.\n * @param multisigTxnBlobs - a list of blobs representing encoded multisig txns\n * @returns typed array msg-pack encoded multisig txn\n */\nexport function mergeMultisigTransactions(multisigTxnBlobs) {\n if (multisigTxnBlobs.length < 2) {\n throw new Error(MULTISIG_MERGE_LESSTHANTWO_ERROR_MSG);\n }\n const refSigTx = encoding.decode(multisigTxnBlobs[0]);\n const refTxID = MultisigTransaction.from_obj_for_encoding(refSigTx.txn).txID();\n const refAuthAddr = refSigTx.sgnr\n ? address.encodeAddress(refSigTx.sgnr)\n : undefined;\n const refPreImage = {\n version: refSigTx.msig.v,\n threshold: refSigTx.msig.thr,\n pks: refSigTx.msig.subsig.map((subsig) => subsig.pk),\n };\n const refMsigAddr = address.encodeAddress(address.fromMultisigPreImg(refPreImage));\n const newSubsigs = refSigTx.msig.subsig.map((sig) => ({ ...sig }));\n for (let i = 1; i < multisigTxnBlobs.length; i++) {\n const unisig = encoding.decode(multisigTxnBlobs[i]);\n const unisigAlgoTxn = MultisigTransaction.from_obj_for_encoding(unisig.txn);\n if (unisigAlgoTxn.txID() !== refTxID) {\n throw new Error(MULTISIG_MERGE_MISMATCH_ERROR_MSG);\n }\n const authAddr = unisig.sgnr\n ? address.encodeAddress(unisig.sgnr)\n : undefined;\n if (refAuthAddr !== authAddr) {\n throw new Error(MULTISIG_MERGE_MISMATCH_AUTH_ADDR_MSG);\n }\n // check multisig has same preimage as reference\n if (unisig.msig.subsig.length !== refSigTx.msig.subsig.length) {\n throw new Error(MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG);\n }\n const preimg = {\n version: unisig.msig.v,\n threshold: unisig.msig.thr,\n pks: unisig.msig.subsig.map((subsig) => subsig.pk),\n };\n const msgigAddr = address.encodeAddress(address.fromMultisigPreImg(preimg));\n if (refMsigAddr !== msgigAddr) {\n throw new Error(MULTISIG_MERGE_WRONG_PREIMAGE_ERROR_MSG);\n }\n // now, we can merge\n unisig.msig.subsig.forEach((uniSubsig, index) => {\n if (!uniSubsig.s)\n return;\n const current = newSubsigs[index];\n // we convert the Uint8Arrays uniSubsig.s and current.s to Buffers here because (as\n // of Dec 2020) React overrides the buffer package with an older version that does\n // not support Uint8Arrays in the comparison function. See this thread for more\n // info: https://github.com/algorand/js-algorand-sdk/issues/252\n if (current.s &&\n Buffer.compare(Buffer.from(uniSubsig.s), Buffer.from(current.s)) !== 0) {\n // mismatch\n throw new Error(MULTISIG_MERGE_SIG_MISMATCH_ERROR_MSG);\n }\n current.s = uniSubsig.s;\n });\n }\n const msig = {\n v: refSigTx.msig.v,\n thr: refSigTx.msig.thr,\n subsig: newSubsigs,\n };\n const signedTxn = {\n msig,\n txn: refSigTx.txn,\n };\n if (typeof refAuthAddr !== 'undefined') {\n signedTxn.sgnr = Buffer.from(address.decodeAddress(refAuthAddr).publicKey);\n }\n return new Uint8Array(encoding.encode(signedTxn));\n}\nexport function verifyMultisig(toBeVerified, msig, publicKey) {\n const version = msig.v;\n const threshold = msig.thr;\n const subsigs = msig.subsig;\n const pks = subsigs.map((subsig) => subsig.pk);\n if (msig.subsig.length < threshold) {\n return false;\n }\n let pk;\n try {\n pk = address.fromMultisigPreImg({ version, threshold, pks });\n }\n catch (e) {\n return false;\n }\n if (!utils.arrayEqual(pk, publicKey)) {\n return false;\n }\n let counter = 0;\n for (const subsig of subsigs) {\n if (subsig.s !== undefined) {\n counter += 1;\n }\n }\n if (counter < threshold) {\n return false;\n }\n let verifiedCounter = 0;\n for (const subsig of subsigs) {\n if (subsig.s !== undefined) {\n if (nacl.verify(toBeVerified, subsig.s, subsig.pk)) {\n verifiedCounter += 1;\n }\n }\n }\n if (verifiedCounter < threshold) {\n return false;\n }\n return true;\n}\n/**\n * signMultisigTransaction takes a raw transaction (see signTransaction), a multisig preimage, a secret key, and returns\n * a multisig transaction, which is a blob representing a transaction and multisignature account preimage. The returned\n * multisig txn can accumulate additional signatures through mergeMultisigTransactions or appendSignMultisigTransaction.\n * @param txn - object with either payment or key registration fields\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.\n * @param sk - Algorand secret key. The corresponding pk should be in the pre image.\n * @returns object containing txID, and blob of partially signed multisig transaction (with multisig preimage information)\n * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n */\nexport function signMultisigTransaction(txn, { version, threshold, addrs }, sk) {\n // check that the from field matches the mSigPreImage. If from field is not populated, fill it in.\n const expectedFromRaw = address.fromMultisigPreImgAddrs({\n version,\n threshold,\n addrs,\n });\n if (!Object.prototype.hasOwnProperty.call(txn, 'from')) {\n // eslint-disable-next-line no-param-reassign\n txn.from = expectedFromRaw;\n }\n // build pks for partialSign\n const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);\n // `txn` needs to be handled differently if it's a constructed `Transaction` vs a dict of constructor args\n const txnAlreadyBuilt = txn instanceof txnBuilder.Transaction;\n let algoTxn;\n let blob;\n if (txnAlreadyBuilt) {\n algoTxn = txn;\n blob = MultisigTransaction.prototype.partialSignTxn.call(algoTxn, { version, threshold, pks }, sk);\n }\n else {\n algoTxn = new MultisigTransaction(txn);\n blob = algoTxn.partialSignTxn({ version, threshold, pks }, sk);\n }\n return {\n txID: algoTxn.txID().toString(),\n blob,\n };\n}\n/**\n * appendSignMultisigTransaction takes a multisig transaction blob, and appends our signature to it.\n * While we could derive public key preimagery from the partially-signed multisig transaction,\n * we ask the caller to pass it back in, to ensure they know what they are signing.\n * @param multisigTxnBlob - an encoded multisig txn. Supports non-payment txn types.\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.\n * @param sk - Algorand secret key\n * @returns object containing txID, and blob representing encoded multisig txn\n */\nexport function appendSignMultisigTransaction(multisigTxnBlob, { version, threshold, addrs }, sk) {\n const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);\n // obtain underlying txn, sign it, and merge it\n const multisigTxObj = encoding.decode(multisigTxnBlob);\n const msigTxn = MultisigTransaction.from_obj_for_encoding(multisigTxObj.txn);\n const partialSignedBlob = msigTxn.partialSignTxn({ version, threshold, pks }, sk);\n return {\n txID: msigTxn.txID().toString(),\n blob: mergeMultisigTransactions([multisigTxnBlob, partialSignedBlob]),\n };\n}\n/**\n * appendMultisigTransactionSignature takes a multisig transaction blob, and appends a given raw signature to it.\n * This makes it possible to compile a multisig signature using only raw signatures from external methods.\n * @param multisigTxnBlob - an encoded multisig txn. Supports non-payment txn types.\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param addrs - a list of Algorand addresses representing possible signers for this multisig. Order is important.\n * @param signerAddr - address of the signer\n * @param signature - raw multisig signature\n * @returns object containing txID, and blob representing encoded multisig txn\n */\nexport function appendSignRawMultisigSignature(multisigTxnBlob, { version, threshold, addrs }, signerAddr, signature) {\n const pks = addrs.map((addr) => address.decodeAddress(addr).publicKey);\n // obtain underlying txn, sign it, and merge it\n const multisigTxObj = encoding.decode(multisigTxnBlob);\n const msigTxn = MultisigTransaction.from_obj_for_encoding(multisigTxObj.txn);\n const partialSignedBlob = msigTxn.partialSignWithMultisigSignature({ version, threshold, pks }, signerAddr, signature);\n return {\n txID: msigTxn.txID().toString(),\n blob: mergeMultisigTransactions([multisigTxnBlob, partialSignedBlob]),\n };\n}\n/**\n * multisigAddress takes multisig metadata (preimage) and returns the corresponding human readable Algorand address.\n * @param version - multisig version\n * @param threshold - multisig threshold\n * @param addrs - list of Algorand addresses\n */\nexport function multisigAddress({ version, threshold, addrs, }) {\n return address.fromMultisigPreImgAddrs({ version, threshold, addrs });\n}\n//# sourceMappingURL=multisig.js.map","/**\n * NOTICE: This file was generated. Editing this file manually is not recommended.\n */\n/* eslint-disable no-use-before-define */\nimport BaseModel from '../../basemodel';\n/**\n * Account information at a given round.\n * Definition:\n * data/basics/userBalance.go : AccountData\n */\nexport class Account extends BaseModel {\n /**\n * Creates a new `Account` object.\n * @param address - the account public key\n * @param amount - (algo) total number of MicroAlgos in the account\n * @param amountWithoutPendingRewards - specifies the amount of MicroAlgos in the account, without the pending rewards.\n * @param minBalance - MicroAlgo balance required by the account.\n * The requirement grows based on asset and application usage.\n * @param pendingRewards - amount of MicroAlgos of pending rewards in this account.\n * @param rewards - (ern) total rewards of MicroAlgos the account has received, including pending\n * rewards.\n * @param round - The round for which this information is relevant.\n * @param status - (onl) delegation status of the account's MicroAlgos\n * * Offline - indicates that the associated account is delegated.\n * * Online - indicates that the associated account used as part of the delegation\n * pool.\n * * NotParticipating - indicates that the associated account is neither a\n * delegator nor a delegate.\n * @param totalAppsOptedIn - The count of all applications that have been opted in, equivalent to the count\n * of application local data (AppLocalState objects) stored in this account.\n * @param totalAssetsOptedIn - The count of all assets that have been opted in, equivalent to the count of\n * AssetHolding objects held by this account.\n * @param totalCreatedApps - The count of all apps (AppParams objects) created by this account.\n * @param totalCreatedAssets - The count of all assets (AssetParams objects) created by this account.\n * @param appsLocalState - (appl) applications local data stored in this account.\n * Note the raw object uses `map[int] -> AppLocalState` for this type.\n * @param appsTotalExtraPages - (teap) the sum of all extra application program pages for this account.\n * @param appsTotalSchema - (tsch) stores the sum of all of the local schemas and global schemas in this\n * account.\n * Note: the raw account uses `StateSchema` for this type.\n * @param assets - (asset) assets held by this account.\n * Note the raw object uses `map[int] -> AssetHolding` for this type.\n * @param authAddr - (spend) the address against which signing should be checked. If empty, the\n * address of the current account is used. This field can be updated in any\n * transaction by setting the RekeyTo field.\n * @param createdApps - (appp) parameters of applications created by this account including app global\n * data.\n * Note: the raw account uses `map[int] -> AppParams` for this type.\n * @param createdAssets - (apar) parameters of assets created by this account.\n * Note: the raw account uses `map[int] -> Asset` for this type.\n * @param participation - AccountParticipation describes the parameters used by this account in consensus\n * protocol.\n * @param rewardBase - (ebase) used as part of the rewards computation. Only applicable to accounts\n * which are participating.\n * @param sigType - Indicates what type of signature is used by this account, must be one of:\n * * sig\n * * msig\n * * lsig\n * @param totalBoxBytes - (tbxb) The total number of bytes used by this account's app's box keys and\n * values.\n * @param totalBoxes - (tbx) The number of existing boxes created by this account's app.\n */\n constructor({ address, amount, amountWithoutPendingRewards, minBalance, pendingRewards, rewards, round, status, totalAppsOptedIn, totalAssetsOptedIn, totalCreatedApps, totalCreatedAssets, appsLocalState, appsTotalExtraPages, appsTotalSchema, assets, authAddr, createdApps, createdAssets, participation, rewardBase, sigType, totalBoxBytes, totalBoxes, }) {\n super();\n this.address = address;\n this.amount = amount;\n this.amountWithoutPendingRewards = amountWithoutPendingRewards;\n this.minBalance = minBalance;\n this.pendingRewards = pendingRewards;\n this.rewards = rewards;\n this.round = round;\n this.status = status;\n this.totalAppsOptedIn = totalAppsOptedIn;\n this.totalAssetsOptedIn = totalAssetsOptedIn;\n this.totalCreatedApps = totalCreatedApps;\n this.totalCreatedAssets = totalCreatedAssets;\n this.appsLocalState = appsLocalState;\n this.appsTotalExtraPages = appsTotalExtraPages;\n this.appsTotalSchema = appsTotalSchema;\n this.assets = assets;\n this.authAddr = authAddr;\n this.createdApps = createdApps;\n this.createdAssets = createdAssets;\n this.participation = participation;\n this.rewardBase = rewardBase;\n this.sigType = sigType;\n this.totalBoxBytes = totalBoxBytes;\n this.totalBoxes = totalBoxes;\n this.attribute_map = {\n address: 'address',\n amount: 'amount',\n amountWithoutPendingRewards: 'amount-without-pending-rewards',\n minBalance: 'min-balance',\n pendingRewards: 'pending-rewards',\n rewards: 'rewards',\n round: 'round',\n status: 'status',\n totalAppsOptedIn: 'total-apps-opted-in',\n totalAssetsOptedIn: 'total-assets-opted-in',\n totalCreatedApps: 'total-created-apps',\n totalCreatedAssets: 'total-created-assets',\n appsLocalState: 'apps-local-state',\n appsTotalExtraPages: 'apps-total-extra-pages',\n appsTotalSchema: 'apps-total-schema',\n assets: 'assets',\n authAddr: 'auth-addr',\n createdApps: 'created-apps',\n createdAssets: 'created-assets',\n participation: 'participation',\n rewardBase: 'reward-base',\n sigType: 'sig-type',\n totalBoxBytes: 'total-box-bytes',\n totalBoxes: 'total-boxes',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['address'] === 'undefined')\n throw new Error(`Response is missing required field 'address': ${data}`);\n if (typeof data['amount'] === 'undefined')\n throw new Error(`Response is missing required field 'amount': ${data}`);\n if (typeof data['amount-without-pending-rewards'] === 'undefined')\n throw new Error(`Response is missing required field 'amount-without-pending-rewards': ${data}`);\n if (typeof data['min-balance'] === 'undefined')\n throw new Error(`Response is missing required field 'min-balance': ${data}`);\n if (typeof data['pending-rewards'] === 'undefined')\n throw new Error(`Response is missing required field 'pending-rewards': ${data}`);\n if (typeof data['rewards'] === 'undefined')\n throw new Error(`Response is missing required field 'rewards': ${data}`);\n if (typeof data['round'] === 'undefined')\n throw new Error(`Response is missing required field 'round': ${data}`);\n if (typeof data['status'] === 'undefined')\n throw new Error(`Response is missing required field 'status': ${data}`);\n if (typeof data['total-apps-opted-in'] === 'undefined')\n throw new Error(`Response is missing required field 'total-apps-opted-in': ${data}`);\n if (typeof data['total-assets-opted-in'] === 'undefined')\n throw new Error(`Response is missing required field 'total-assets-opted-in': ${data}`);\n if (typeof data['total-created-apps'] === 'undefined')\n throw new Error(`Response is missing required field 'total-created-apps': ${data}`);\n if (typeof data['total-created-assets'] === 'undefined')\n throw new Error(`Response is missing required field 'total-created-assets': ${data}`);\n return new Account({\n address: data['address'],\n amount: data['amount'],\n amountWithoutPendingRewards: data['amount-without-pending-rewards'],\n minBalance: data['min-balance'],\n pendingRewards: data['pending-rewards'],\n rewards: data['rewards'],\n round: data['round'],\n status: data['status'],\n totalAppsOptedIn: data['total-apps-opted-in'],\n totalAssetsOptedIn: data['total-assets-opted-in'],\n totalCreatedApps: data['total-created-apps'],\n totalCreatedAssets: data['total-created-assets'],\n appsLocalState: typeof data['apps-local-state'] !== 'undefined'\n ? data['apps-local-state'].map(ApplicationLocalState.from_obj_for_encoding)\n : undefined,\n appsTotalExtraPages: data['apps-total-extra-pages'],\n appsTotalSchema: typeof data['apps-total-schema'] !== 'undefined'\n ? ApplicationStateSchema.from_obj_for_encoding(data['apps-total-schema'])\n : undefined,\n assets: typeof data['assets'] !== 'undefined'\n ? data['assets'].map(AssetHolding.from_obj_for_encoding)\n : undefined,\n authAddr: data['auth-addr'],\n createdApps: typeof data['created-apps'] !== 'undefined'\n ? data['created-apps'].map(Application.from_obj_for_encoding)\n : undefined,\n createdAssets: typeof data['created-assets'] !== 'undefined'\n ? data['created-assets'].map(Asset.from_obj_for_encoding)\n : undefined,\n participation: typeof data['participation'] !== 'undefined'\n ? AccountParticipation.from_obj_for_encoding(data['participation'])\n : undefined,\n rewardBase: data['reward-base'],\n sigType: data['sig-type'],\n totalBoxBytes: data['total-box-bytes'],\n totalBoxes: data['total-boxes'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * AccountApplicationResponse describes the account's application local state and\n * global state (AppLocalState and AppParams, if either exists) for a specific\n * application ID. Global state will only be returned if the provided address is\n * the application's creator.\n */\nexport class AccountApplicationResponse extends BaseModel {\n /**\n * Creates a new `AccountApplicationResponse` object.\n * @param round - The round for which this information is relevant.\n * @param appLocalState - (appl) the application local data stored in this account.\n * The raw account uses `AppLocalState` for this type.\n * @param createdApp - (appp) parameters of the application created by this account including app\n * global data.\n * The raw account uses `AppParams` for this type.\n */\n constructor(round, appLocalState, createdApp) {\n super();\n this.round = round;\n this.appLocalState = appLocalState;\n this.createdApp = createdApp;\n this.attribute_map = {\n round: 'round',\n appLocalState: 'app-local-state',\n createdApp: 'created-app',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['round'] === 'undefined')\n throw new Error(`Response is missing required field 'round': ${data}`);\n return new AccountApplicationResponse(data['round'], typeof data['app-local-state'] !== 'undefined'\n ? ApplicationLocalState.from_obj_for_encoding(data['app-local-state'])\n : undefined, typeof data['created-app'] !== 'undefined'\n ? ApplicationParams.from_obj_for_encoding(data['created-app'])\n : undefined);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * AccountAssetResponse describes the account's asset holding and asset parameters\n * (if either exist) for a specific asset ID. Asset parameters will only be\n * returned if the provided address is the asset's creator.\n */\nexport class AccountAssetResponse extends BaseModel {\n /**\n * Creates a new `AccountAssetResponse` object.\n * @param round - The round for which this information is relevant.\n * @param assetHolding - (asset) Details about the asset held by this account.\n * The raw account uses `AssetHolding` for this type.\n * @param createdAsset - (apar) parameters of the asset created by this account.\n * The raw account uses `AssetParams` for this type.\n */\n constructor(round, assetHolding, createdAsset) {\n super();\n this.round = round;\n this.assetHolding = assetHolding;\n this.createdAsset = createdAsset;\n this.attribute_map = {\n round: 'round',\n assetHolding: 'asset-holding',\n createdAsset: 'created-asset',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['round'] === 'undefined')\n throw new Error(`Response is missing required field 'round': ${data}`);\n return new AccountAssetResponse(data['round'], typeof data['asset-holding'] !== 'undefined'\n ? AssetHolding.from_obj_for_encoding(data['asset-holding'])\n : undefined, typeof data['created-asset'] !== 'undefined'\n ? AssetParams.from_obj_for_encoding(data['created-asset'])\n : undefined);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * AccountParticipation describes the parameters used by this account in consensus\n * protocol.\n */\nexport class AccountParticipation extends BaseModel {\n /**\n * Creates a new `AccountParticipation` object.\n * @param selectionParticipationKey - (sel) Selection public key (if any) currently registered for this round.\n * @param voteFirstValid - (voteFst) First round for which this participation is valid.\n * @param voteKeyDilution - (voteKD) Number of subkeys in each batch of participation keys.\n * @param voteLastValid - (voteLst) Last round for which this participation is valid.\n * @param voteParticipationKey - (vote) root participation public key (if any) currently registered for this\n * round.\n * @param stateProofKey - (stprf) Root of the state proof key (if any)\n */\n constructor({ selectionParticipationKey, voteFirstValid, voteKeyDilution, voteLastValid, voteParticipationKey, stateProofKey, }) {\n super();\n this.selectionParticipationKey =\n typeof selectionParticipationKey === 'string'\n ? new Uint8Array(Buffer.from(selectionParticipationKey, 'base64'))\n : selectionParticipationKey;\n this.voteFirstValid = voteFirstValid;\n this.voteKeyDilution = voteKeyDilution;\n this.voteLastValid = voteLastValid;\n this.voteParticipationKey =\n typeof voteParticipationKey === 'string'\n ? new Uint8Array(Buffer.from(voteParticipationKey, 'base64'))\n : voteParticipationKey;\n this.stateProofKey =\n typeof stateProofKey === 'string'\n ? new Uint8Array(Buffer.from(stateProofKey, 'base64'))\n : stateProofKey;\n this.attribute_map = {\n selectionParticipationKey: 'selection-participation-key',\n voteFirstValid: 'vote-first-valid',\n voteKeyDilution: 'vote-key-dilution',\n voteLastValid: 'vote-last-valid',\n voteParticipationKey: 'vote-participation-key',\n stateProofKey: 'state-proof-key',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['selection-participation-key'] === 'undefined')\n throw new Error(`Response is missing required field 'selection-participation-key': ${data}`);\n if (typeof data['vote-first-valid'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-first-valid': ${data}`);\n if (typeof data['vote-key-dilution'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-key-dilution': ${data}`);\n if (typeof data['vote-last-valid'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-last-valid': ${data}`);\n if (typeof data['vote-participation-key'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-participation-key': ${data}`);\n return new AccountParticipation({\n selectionParticipationKey: data['selection-participation-key'],\n voteFirstValid: data['vote-first-valid'],\n voteKeyDilution: data['vote-key-dilution'],\n voteLastValid: data['vote-last-valid'],\n voteParticipationKey: data['vote-participation-key'],\n stateProofKey: data['state-proof-key'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Application state delta.\n */\nexport class AccountStateDelta extends BaseModel {\n /**\n * Creates a new `AccountStateDelta` object.\n * @param address -\n * @param delta - Application state delta.\n */\n constructor(address, delta) {\n super();\n this.address = address;\n this.delta = delta;\n this.attribute_map = {\n address: 'address',\n delta: 'delta',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['address'] === 'undefined')\n throw new Error(`Response is missing required field 'address': ${data}`);\n if (!Array.isArray(data['delta']))\n throw new Error(`Response is missing required array field 'delta': ${data}`);\n return new AccountStateDelta(data['address'], data['delta'].map(EvalDeltaKeyValue.from_obj_for_encoding));\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Application index and its parameters\n */\nexport class Application extends BaseModel {\n /**\n * Creates a new `Application` object.\n * @param id - (appidx) application index.\n * @param params - (appparams) application parameters.\n */\n constructor(id, params) {\n super();\n this.id = id;\n this.params = params;\n this.attribute_map = {\n id: 'id',\n params: 'params',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['id'] === 'undefined')\n throw new Error(`Response is missing required field 'id': ${data}`);\n if (typeof data['params'] === 'undefined')\n throw new Error(`Response is missing required field 'params': ${data}`);\n return new Application(data['id'], ApplicationParams.from_obj_for_encoding(data['params']));\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Stores local state associated with an application.\n */\nexport class ApplicationLocalState extends BaseModel {\n /**\n * Creates a new `ApplicationLocalState` object.\n * @param id - The application which this local state is for.\n * @param schema - (hsch) schema.\n * @param keyValue - (tkv) storage.\n */\n constructor(id, schema, keyValue) {\n super();\n this.id = id;\n this.schema = schema;\n this.keyValue = keyValue;\n this.attribute_map = {\n id: 'id',\n schema: 'schema',\n keyValue: 'key-value',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['id'] === 'undefined')\n throw new Error(`Response is missing required field 'id': ${data}`);\n if (typeof data['schema'] === 'undefined')\n throw new Error(`Response is missing required field 'schema': ${data}`);\n return new ApplicationLocalState(data['id'], ApplicationStateSchema.from_obj_for_encoding(data['schema']), typeof data['key-value'] !== 'undefined'\n ? data['key-value'].map(TealKeyValue.from_obj_for_encoding)\n : undefined);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Stores the global information associated with an application.\n */\nexport class ApplicationParams extends BaseModel {\n /**\n * Creates a new `ApplicationParams` object.\n * @param approvalProgram - (approv) approval program.\n * @param clearStateProgram - (clearp) approval program.\n * @param creator - The address that created this application. This is the address where the\n * parameters and global state for this application can be found.\n * @param extraProgramPages - (epp) the amount of extra program pages available to this app.\n * @param globalState - [\\gs) global schema\n * @param globalStateSchema - [\\gsch) global schema\n * @param localStateSchema - [\\lsch) local schema\n */\n constructor({ approvalProgram, clearStateProgram, creator, extraProgramPages, globalState, globalStateSchema, localStateSchema, }) {\n super();\n this.approvalProgram =\n typeof approvalProgram === 'string'\n ? new Uint8Array(Buffer.from(approvalProgram, 'base64'))\n : approvalProgram;\n this.clearStateProgram =\n typeof clearStateProgram === 'string'\n ? new Uint8Array(Buffer.from(clearStateProgram, 'base64'))\n : clearStateProgram;\n this.creator = creator;\n this.extraProgramPages = extraProgramPages;\n this.globalState = globalState;\n this.globalStateSchema = globalStateSchema;\n this.localStateSchema = localStateSchema;\n this.attribute_map = {\n approvalProgram: 'approval-program',\n clearStateProgram: 'clear-state-program',\n creator: 'creator',\n extraProgramPages: 'extra-program-pages',\n globalState: 'global-state',\n globalStateSchema: 'global-state-schema',\n localStateSchema: 'local-state-schema',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['approval-program'] === 'undefined')\n throw new Error(`Response is missing required field 'approval-program': ${data}`);\n if (typeof data['clear-state-program'] === 'undefined')\n throw new Error(`Response is missing required field 'clear-state-program': ${data}`);\n if (typeof data['creator'] === 'undefined')\n throw new Error(`Response is missing required field 'creator': ${data}`);\n return new ApplicationParams({\n approvalProgram: data['approval-program'],\n clearStateProgram: data['clear-state-program'],\n creator: data['creator'],\n extraProgramPages: data['extra-program-pages'],\n globalState: typeof data['global-state'] !== 'undefined'\n ? data['global-state'].map(TealKeyValue.from_obj_for_encoding)\n : undefined,\n globalStateSchema: typeof data['global-state-schema'] !== 'undefined'\n ? ApplicationStateSchema.from_obj_for_encoding(data['global-state-schema'])\n : undefined,\n localStateSchema: typeof data['local-state-schema'] !== 'undefined'\n ? ApplicationStateSchema.from_obj_for_encoding(data['local-state-schema'])\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Specifies maximums on the number of each type that may be stored.\n */\nexport class ApplicationStateSchema extends BaseModel {\n /**\n * Creates a new `ApplicationStateSchema` object.\n * @param numUint - (nui) num of uints.\n * @param numByteSlice - (nbs) num of byte slices.\n */\n constructor(numUint, numByteSlice) {\n super();\n this.numUint = numUint;\n this.numByteSlice = numByteSlice;\n this.attribute_map = {\n numUint: 'num-uint',\n numByteSlice: 'num-byte-slice',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['num-uint'] === 'undefined')\n throw new Error(`Response is missing required field 'num-uint': ${data}`);\n if (typeof data['num-byte-slice'] === 'undefined')\n throw new Error(`Response is missing required field 'num-byte-slice': ${data}`);\n return new ApplicationStateSchema(data['num-uint'], data['num-byte-slice']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Specifies both the unique identifier and the parameters for an asset\n */\nexport class Asset extends BaseModel {\n /**\n * Creates a new `Asset` object.\n * @param index - unique asset identifier\n * @param params - AssetParams specifies the parameters for an asset.\n * (apar) when part of an AssetConfig transaction.\n * Definition:\n * data/transactions/asset.go : AssetParams\n */\n constructor(index, params) {\n super();\n this.index = index;\n this.params = params;\n this.attribute_map = {\n index: 'index',\n params: 'params',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['index'] === 'undefined')\n throw new Error(`Response is missing required field 'index': ${data}`);\n if (typeof data['params'] === 'undefined')\n throw new Error(`Response is missing required field 'params': ${data}`);\n return new Asset(data['index'], AssetParams.from_obj_for_encoding(data['params']));\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Describes an asset held by an account.\n * Definition:\n * data/basics/userBalance.go : AssetHolding\n */\nexport class AssetHolding extends BaseModel {\n /**\n * Creates a new `AssetHolding` object.\n * @param amount - (a) number of units held.\n * @param assetId - Asset ID of the holding.\n * @param isFrozen - (f) whether or not the holding is frozen.\n */\n constructor(amount, assetId, isFrozen) {\n super();\n this.amount = amount;\n this.assetId = assetId;\n this.isFrozen = isFrozen;\n this.attribute_map = {\n amount: 'amount',\n assetId: 'asset-id',\n isFrozen: 'is-frozen',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['amount'] === 'undefined')\n throw new Error(`Response is missing required field 'amount': ${data}`);\n if (typeof data['asset-id'] === 'undefined')\n throw new Error(`Response is missing required field 'asset-id': ${data}`);\n if (typeof data['is-frozen'] === 'undefined')\n throw new Error(`Response is missing required field 'is-frozen': ${data}`);\n return new AssetHolding(data['amount'], data['asset-id'], data['is-frozen']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * AssetParams specifies the parameters for an asset.\n * (apar) when part of an AssetConfig transaction.\n * Definition:\n * data/transactions/asset.go : AssetParams\n */\nexport class AssetParams extends BaseModel {\n /**\n * Creates a new `AssetParams` object.\n * @param creator - The address that created this asset. This is the address where the parameters\n * for this asset can be found, and also the address where unwanted asset units can\n * be sent in the worst case.\n * @param decimals - (dc) The number of digits to use after the decimal point when displaying this\n * asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in\n * tenths. If 2, the base unit of the asset is in hundredths, and so on. This value\n * must be between 0 and 19 (inclusive).\n * @param total - (t) The total number of units of this asset.\n * @param clawback - (c) Address of account used to clawback holdings of this asset. If empty,\n * clawback is not permitted.\n * @param defaultFrozen - (df) Whether holdings of this asset are frozen by default.\n * @param freeze - (f) Address of account used to freeze holdings of this asset. If empty, freezing\n * is not permitted.\n * @param manager - (m) Address of account used to manage the keys of this asset and to destroy it.\n * @param metadataHash - (am) A commitment to some unspecified asset metadata. The format of this\n * metadata is up to the application.\n * @param name - (an) Name of this asset, as supplied by the creator. Included only when the\n * asset name is composed of printable utf-8 characters.\n * @param nameB64 - Base64 encoded name of this asset, as supplied by the creator.\n * @param reserve - (r) Address of account holding reserve (non-minted) units of this asset.\n * @param unitName - (un) Name of a unit of this asset, as supplied by the creator. Included only\n * when the name of a unit of this asset is composed of printable utf-8 characters.\n * @param unitNameB64 - Base64 encoded name of a unit of this asset, as supplied by the creator.\n * @param url - (au) URL where more information about the asset can be retrieved. Included only\n * when the URL is composed of printable utf-8 characters.\n * @param urlB64 - Base64 encoded URL where more information about the asset can be retrieved.\n */\n constructor({ creator, decimals, total, clawback, defaultFrozen, freeze, manager, metadataHash, name, nameB64, reserve, unitName, unitNameB64, url, urlB64, }) {\n super();\n this.creator = creator;\n this.decimals = decimals;\n this.total = total;\n this.clawback = clawback;\n this.defaultFrozen = defaultFrozen;\n this.freeze = freeze;\n this.manager = manager;\n this.metadataHash =\n typeof metadataHash === 'string'\n ? new Uint8Array(Buffer.from(metadataHash, 'base64'))\n : metadataHash;\n this.name = name;\n this.nameB64 =\n typeof nameB64 === 'string'\n ? new Uint8Array(Buffer.from(nameB64, 'base64'))\n : nameB64;\n this.reserve = reserve;\n this.unitName = unitName;\n this.unitNameB64 =\n typeof unitNameB64 === 'string'\n ? new Uint8Array(Buffer.from(unitNameB64, 'base64'))\n : unitNameB64;\n this.url = url;\n this.urlB64 =\n typeof urlB64 === 'string'\n ? new Uint8Array(Buffer.from(urlB64, 'base64'))\n : urlB64;\n this.attribute_map = {\n creator: 'creator',\n decimals: 'decimals',\n total: 'total',\n clawback: 'clawback',\n defaultFrozen: 'default-frozen',\n freeze: 'freeze',\n manager: 'manager',\n metadataHash: 'metadata-hash',\n name: 'name',\n nameB64: 'name-b64',\n reserve: 'reserve',\n unitName: 'unit-name',\n unitNameB64: 'unit-name-b64',\n url: 'url',\n urlB64: 'url-b64',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['creator'] === 'undefined')\n throw new Error(`Response is missing required field 'creator': ${data}`);\n if (typeof data['decimals'] === 'undefined')\n throw new Error(`Response is missing required field 'decimals': ${data}`);\n if (typeof data['total'] === 'undefined')\n throw new Error(`Response is missing required field 'total': ${data}`);\n return new AssetParams({\n creator: data['creator'],\n decimals: data['decimals'],\n total: data['total'],\n clawback: data['clawback'],\n defaultFrozen: data['default-frozen'],\n freeze: data['freeze'],\n manager: data['manager'],\n metadataHash: data['metadata-hash'],\n name: data['name'],\n nameB64: data['name-b64'],\n reserve: data['reserve'],\n unitName: data['unit-name'],\n unitNameB64: data['unit-name-b64'],\n url: data['url'],\n urlB64: data['url-b64'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Hash of a block header.\n */\nexport class BlockHashResponse extends BaseModel {\n /**\n * Creates a new `BlockHashResponse` object.\n * @param blockhash - Block header hash.\n */\n constructor(blockhash) {\n super();\n this.blockhash = blockhash;\n this.attribute_map = {\n blockhash: 'blockHash',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['blockHash'] === 'undefined')\n throw new Error(`Response is missing required field 'blockHash': ${data}`);\n return new BlockHashResponse(data['blockHash']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Encoded block object.\n */\nexport class BlockResponse extends BaseModel {\n /**\n * Creates a new `BlockResponse` object.\n * @param block - Block header data.\n * @param cert - Optional certificate object. This is only included when the format is set to\n * message pack.\n */\n constructor(block, cert) {\n super();\n this.block = block;\n this.cert = cert;\n this.attribute_map = {\n block: 'block',\n cert: 'cert',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['block'] === 'undefined')\n throw new Error(`Response is missing required field 'block': ${data}`);\n return new BlockResponse(data['block'], data['cert']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Box name and its content.\n */\nexport class Box extends BaseModel {\n /**\n * Creates a new `Box` object.\n * @param name - (name) box name, base64 encoded\n * @param value - (value) box value, base64 encoded.\n */\n constructor(name, value) {\n super();\n this.name =\n typeof name === 'string'\n ? new Uint8Array(Buffer.from(name, 'base64'))\n : name;\n this.value =\n typeof value === 'string'\n ? new Uint8Array(Buffer.from(value, 'base64'))\n : value;\n this.attribute_map = {\n name: 'name',\n value: 'value',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['name'] === 'undefined')\n throw new Error(`Response is missing required field 'name': ${data}`);\n if (typeof data['value'] === 'undefined')\n throw new Error(`Response is missing required field 'value': ${data}`);\n return new Box(data['name'], data['value']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Box descriptor describes a Box.\n */\nexport class BoxDescriptor extends BaseModel {\n /**\n * Creates a new `BoxDescriptor` object.\n * @param name - Base64 encoded box name\n */\n constructor(name) {\n super();\n this.name =\n typeof name === 'string'\n ? new Uint8Array(Buffer.from(name, 'base64'))\n : name;\n this.attribute_map = {\n name: 'name',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['name'] === 'undefined')\n throw new Error(`Response is missing required field 'name': ${data}`);\n return new BoxDescriptor(data['name']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Box names of an application\n */\nexport class BoxesResponse extends BaseModel {\n /**\n * Creates a new `BoxesResponse` object.\n * @param boxes -\n */\n constructor(boxes) {\n super();\n this.boxes = boxes;\n this.attribute_map = {\n boxes: 'boxes',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['boxes']))\n throw new Error(`Response is missing required array field 'boxes': ${data}`);\n return new BoxesResponse(data['boxes'].map(BoxDescriptor.from_obj_for_encoding));\n /* eslint-enable dot-notation */\n }\n}\nexport class BuildVersion extends BaseModel {\n /**\n * Creates a new `BuildVersion` object.\n * @param branch -\n * @param buildNumber -\n * @param channel -\n * @param commitHash -\n * @param major -\n * @param minor -\n */\n constructor({ branch, buildNumber, channel, commitHash, major, minor, }) {\n super();\n this.branch = branch;\n this.buildNumber = buildNumber;\n this.channel = channel;\n this.commitHash = commitHash;\n this.major = major;\n this.minor = minor;\n this.attribute_map = {\n branch: 'branch',\n buildNumber: 'build_number',\n channel: 'channel',\n commitHash: 'commit_hash',\n major: 'major',\n minor: 'minor',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['branch'] === 'undefined')\n throw new Error(`Response is missing required field 'branch': ${data}`);\n if (typeof data['build_number'] === 'undefined')\n throw new Error(`Response is missing required field 'build_number': ${data}`);\n if (typeof data['channel'] === 'undefined')\n throw new Error(`Response is missing required field 'channel': ${data}`);\n if (typeof data['commit_hash'] === 'undefined')\n throw new Error(`Response is missing required field 'commit_hash': ${data}`);\n if (typeof data['major'] === 'undefined')\n throw new Error(`Response is missing required field 'major': ${data}`);\n if (typeof data['minor'] === 'undefined')\n throw new Error(`Response is missing required field 'minor': ${data}`);\n return new BuildVersion({\n branch: data['branch'],\n buildNumber: data['build_number'],\n channel: data['channel'],\n commitHash: data['commit_hash'],\n major: data['major'],\n minor: data['minor'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class CatchpointAbortResponse extends BaseModel {\n /**\n * Creates a new `CatchpointAbortResponse` object.\n * @param catchupMessage - Catchup abort response string\n */\n constructor(catchupMessage) {\n super();\n this.catchupMessage = catchupMessage;\n this.attribute_map = {\n catchupMessage: 'catchup-message',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['catchup-message'] === 'undefined')\n throw new Error(`Response is missing required field 'catchup-message': ${data}`);\n return new CatchpointAbortResponse(data['catchup-message']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class CatchpointStartResponse extends BaseModel {\n /**\n * Creates a new `CatchpointStartResponse` object.\n * @param catchupMessage - Catchup start response string\n */\n constructor(catchupMessage) {\n super();\n this.catchupMessage = catchupMessage;\n this.attribute_map = {\n catchupMessage: 'catchup-message',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['catchup-message'] === 'undefined')\n throw new Error(`Response is missing required field 'catchup-message': ${data}`);\n return new CatchpointStartResponse(data['catchup-message']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Teal compile Result\n */\nexport class CompileResponse extends BaseModel {\n /**\n * Creates a new `CompileResponse` object.\n * @param hash - base32 SHA512_256 of program bytes (Address style)\n * @param result - base64 encoded program bytes\n * @param sourcemap - JSON of the source map\n */\n constructor(hash, result, sourcemap) {\n super();\n this.hash = hash;\n this.result = result;\n this.sourcemap = sourcemap;\n this.attribute_map = {\n hash: 'hash',\n result: 'result',\n sourcemap: 'sourcemap',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['hash'] === 'undefined')\n throw new Error(`Response is missing required field 'hash': ${data}`);\n if (typeof data['result'] === 'undefined')\n throw new Error(`Response is missing required field 'result': ${data}`);\n return new CompileResponse(data['hash'], data['result'], data['sourcemap']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Teal disassembly Result\n */\nexport class DisassembleResponse extends BaseModel {\n /**\n * Creates a new `DisassembleResponse` object.\n * @param result - disassembled Teal code\n */\n constructor(result) {\n super();\n this.result = result;\n this.attribute_map = {\n result: 'result',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['result'] === 'undefined')\n throw new Error(`Response is missing required field 'result': ${data}`);\n return new DisassembleResponse(data['result']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Request data type for dryrun endpoint. Given the Transactions and simulated\n * ledger state upload, run TEAL scripts and return debugging information.\n */\nexport class DryrunRequest extends BaseModel {\n /**\n * Creates a new `DryrunRequest` object.\n * @param accounts -\n * @param apps -\n * @param latestTimestamp - LatestTimestamp is available to some TEAL scripts. Defaults to the latest\n * confirmed timestamp this algod is attached to.\n * @param protocolVersion - ProtocolVersion specifies a specific version string to operate under, otherwise\n * whatever the current protocol of the network this algod is running in.\n * @param round - Round is available to some TEAL scripts. Defaults to the current round on the\n * network this algod is attached to.\n * @param sources -\n * @param txns -\n */\n constructor({ accounts, apps, latestTimestamp, protocolVersion, round, sources, txns, }) {\n super();\n this.accounts = accounts;\n this.apps = apps;\n this.latestTimestamp = latestTimestamp;\n this.protocolVersion = protocolVersion;\n this.round = round;\n this.sources = sources;\n this.txns = txns;\n this.attribute_map = {\n accounts: 'accounts',\n apps: 'apps',\n latestTimestamp: 'latest-timestamp',\n protocolVersion: 'protocol-version',\n round: 'round',\n sources: 'sources',\n txns: 'txns',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['accounts']))\n throw new Error(`Response is missing required array field 'accounts': ${data}`);\n if (!Array.isArray(data['apps']))\n throw new Error(`Response is missing required array field 'apps': ${data}`);\n if (typeof data['latest-timestamp'] === 'undefined')\n throw new Error(`Response is missing required field 'latest-timestamp': ${data}`);\n if (typeof data['protocol-version'] === 'undefined')\n throw new Error(`Response is missing required field 'protocol-version': ${data}`);\n if (typeof data['round'] === 'undefined')\n throw new Error(`Response is missing required field 'round': ${data}`);\n if (!Array.isArray(data['sources']))\n throw new Error(`Response is missing required array field 'sources': ${data}`);\n if (!Array.isArray(data['txns']))\n throw new Error(`Response is missing required array field 'txns': ${data}`);\n return new DryrunRequest({\n accounts: data['accounts'].map(Account.from_obj_for_encoding),\n apps: data['apps'].map(Application.from_obj_for_encoding),\n latestTimestamp: data['latest-timestamp'],\n protocolVersion: data['protocol-version'],\n round: data['round'],\n sources: data['sources'].map(DryrunSource.from_obj_for_encoding),\n txns: data['txns'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * DryrunResponse contains per-txn debug information from a dryrun.\n */\nexport class DryrunResponse extends BaseModel {\n /**\n * Creates a new `DryrunResponse` object.\n * @param error -\n * @param protocolVersion - Protocol version is the protocol version Dryrun was operated under.\n * @param txns -\n */\n constructor(error, protocolVersion, txns) {\n super();\n this.error = error;\n this.protocolVersion = protocolVersion;\n this.txns = txns;\n this.attribute_map = {\n error: 'error',\n protocolVersion: 'protocol-version',\n txns: 'txns',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['error'] === 'undefined')\n throw new Error(`Response is missing required field 'error': ${data}`);\n if (typeof data['protocol-version'] === 'undefined')\n throw new Error(`Response is missing required field 'protocol-version': ${data}`);\n if (!Array.isArray(data['txns']))\n throw new Error(`Response is missing required array field 'txns': ${data}`);\n return new DryrunResponse(data['error'], data['protocol-version'], data['txns'].map(DryrunTxnResult.from_obj_for_encoding));\n /* eslint-enable dot-notation */\n }\n}\n/**\n * DryrunSource is TEAL source text that gets uploaded, compiled, and inserted into\n * transactions or application state.\n */\nexport class DryrunSource extends BaseModel {\n /**\n * Creates a new `DryrunSource` object.\n * @param fieldName - FieldName is what kind of sources this is. If lsig then it goes into the\n * transactions[this.TxnIndex].LogicSig. If approv or clearp it goes into the\n * Approval Program or Clear State Program of application[this.AppIndex].\n * @param source -\n * @param txnIndex -\n * @param appIndex -\n */\n constructor(fieldName, source, txnIndex, appIndex) {\n super();\n this.fieldName = fieldName;\n this.source = source;\n this.txnIndex = txnIndex;\n this.appIndex = appIndex;\n this.attribute_map = {\n fieldName: 'field-name',\n source: 'source',\n txnIndex: 'txn-index',\n appIndex: 'app-index',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['field-name'] === 'undefined')\n throw new Error(`Response is missing required field 'field-name': ${data}`);\n if (typeof data['source'] === 'undefined')\n throw new Error(`Response is missing required field 'source': ${data}`);\n if (typeof data['txn-index'] === 'undefined')\n throw new Error(`Response is missing required field 'txn-index': ${data}`);\n if (typeof data['app-index'] === 'undefined')\n throw new Error(`Response is missing required field 'app-index': ${data}`);\n return new DryrunSource(data['field-name'], data['source'], data['txn-index'], data['app-index']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Stores the TEAL eval step data\n */\nexport class DryrunState extends BaseModel {\n /**\n * Creates a new `DryrunState` object.\n * @param line - Line number\n * @param pc - Program counter\n * @param stack -\n * @param error - Evaluation error if any\n * @param scratch -\n */\n constructor({ line, pc, stack, error, scratch, }) {\n super();\n this.line = line;\n this.pc = pc;\n this.stack = stack;\n this.error = error;\n this.scratch = scratch;\n this.attribute_map = {\n line: 'line',\n pc: 'pc',\n stack: 'stack',\n error: 'error',\n scratch: 'scratch',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['line'] === 'undefined')\n throw new Error(`Response is missing required field 'line': ${data}`);\n if (typeof data['pc'] === 'undefined')\n throw new Error(`Response is missing required field 'pc': ${data}`);\n if (!Array.isArray(data['stack']))\n throw new Error(`Response is missing required array field 'stack': ${data}`);\n return new DryrunState({\n line: data['line'],\n pc: data['pc'],\n stack: data['stack'].map(TealValue.from_obj_for_encoding),\n error: data['error'],\n scratch: typeof data['scratch'] !== 'undefined'\n ? data['scratch'].map(TealValue.from_obj_for_encoding)\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * DryrunTxnResult contains any LogicSig or ApplicationCall program debug\n * information and state updates from a dryrun.\n */\nexport class DryrunTxnResult extends BaseModel {\n /**\n * Creates a new `DryrunTxnResult` object.\n * @param disassembly - Disassembled program line by line.\n * @param appCallMessages -\n * @param appCallTrace -\n * @param budgetAdded - Budget added during execution of app call transaction.\n * @param budgetConsumed - Budget consumed during execution of app call transaction.\n * @param cost - Net cost of app execution. Field is DEPRECATED and is subject for removal.\n * Instead, use `budget-added` and `budget-consumed.\n * @param globalDelta - Application state delta.\n * @param localDeltas -\n * @param logicSigDisassembly - Disassembled lsig program line by line.\n * @param logicSigMessages -\n * @param logicSigTrace -\n * @param logs -\n */\n constructor({ disassembly, appCallMessages, appCallTrace, budgetAdded, budgetConsumed, cost, globalDelta, localDeltas, logicSigDisassembly, logicSigMessages, logicSigTrace, logs, }) {\n super();\n this.disassembly = disassembly;\n this.appCallMessages = appCallMessages;\n this.appCallTrace = appCallTrace;\n this.budgetAdded = budgetAdded;\n this.budgetConsumed = budgetConsumed;\n this.cost = cost;\n this.globalDelta = globalDelta;\n this.localDeltas = localDeltas;\n this.logicSigDisassembly = logicSigDisassembly;\n this.logicSigMessages = logicSigMessages;\n this.logicSigTrace = logicSigTrace;\n this.logs = logs;\n this.attribute_map = {\n disassembly: 'disassembly',\n appCallMessages: 'app-call-messages',\n appCallTrace: 'app-call-trace',\n budgetAdded: 'budget-added',\n budgetConsumed: 'budget-consumed',\n cost: 'cost',\n globalDelta: 'global-delta',\n localDeltas: 'local-deltas',\n logicSigDisassembly: 'logic-sig-disassembly',\n logicSigMessages: 'logic-sig-messages',\n logicSigTrace: 'logic-sig-trace',\n logs: 'logs',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['disassembly']))\n throw new Error(`Response is missing required array field 'disassembly': ${data}`);\n return new DryrunTxnResult({\n disassembly: data['disassembly'],\n appCallMessages: data['app-call-messages'],\n appCallTrace: typeof data['app-call-trace'] !== 'undefined'\n ? data['app-call-trace'].map(DryrunState.from_obj_for_encoding)\n : undefined,\n budgetAdded: data['budget-added'],\n budgetConsumed: data['budget-consumed'],\n cost: data['cost'],\n globalDelta: typeof data['global-delta'] !== 'undefined'\n ? data['global-delta'].map(EvalDeltaKeyValue.from_obj_for_encoding)\n : undefined,\n localDeltas: typeof data['local-deltas'] !== 'undefined'\n ? data['local-deltas'].map(AccountStateDelta.from_obj_for_encoding)\n : undefined,\n logicSigDisassembly: data['logic-sig-disassembly'],\n logicSigMessages: data['logic-sig-messages'],\n logicSigTrace: typeof data['logic-sig-trace'] !== 'undefined'\n ? data['logic-sig-trace'].map(DryrunState.from_obj_for_encoding)\n : undefined,\n logs: data['logs'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * An error response with optional data field.\n */\nexport class ErrorResponse extends BaseModel {\n /**\n * Creates a new `ErrorResponse` object.\n * @param message -\n * @param data -\n */\n constructor(message, data) {\n super();\n this.message = message;\n this.data = data;\n this.attribute_map = {\n message: 'message',\n data: 'data',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['message'] === 'undefined')\n throw new Error(`Response is missing required field 'message': ${data}`);\n return new ErrorResponse(data['message'], data['data']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a TEAL value delta.\n */\nexport class EvalDelta extends BaseModel {\n /**\n * Creates a new `EvalDelta` object.\n * @param action - (at) delta action.\n * @param bytes - (bs) bytes value.\n * @param uint - (ui) uint value.\n */\n constructor(action, bytes, uint) {\n super();\n this.action = action;\n this.bytes = bytes;\n this.uint = uint;\n this.attribute_map = {\n action: 'action',\n bytes: 'bytes',\n uint: 'uint',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['action'] === 'undefined')\n throw new Error(`Response is missing required field 'action': ${data}`);\n return new EvalDelta(data['action'], data['bytes'], data['uint']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Key-value pairs for StateDelta.\n */\nexport class EvalDeltaKeyValue extends BaseModel {\n /**\n * Creates a new `EvalDeltaKeyValue` object.\n * @param key -\n * @param value - Represents a TEAL value delta.\n */\n constructor(key, value) {\n super();\n this.key = key;\n this.value = value;\n this.attribute_map = {\n key: 'key',\n value: 'value',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['key'] === 'undefined')\n throw new Error(`Response is missing required field 'key': ${data}`);\n if (typeof data['value'] === 'undefined')\n throw new Error(`Response is missing required field 'value': ${data}`);\n return new EvalDeltaKeyValue(data['key'], EvalDelta.from_obj_for_encoding(data['value']));\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Proof of membership and position of a light block header.\n */\nexport class LightBlockHeaderProof extends BaseModel {\n /**\n * Creates a new `LightBlockHeaderProof` object.\n * @param index - The index of the light block header in the vector commitment tree\n * @param proof - The encoded proof.\n * @param treedepth - Represents the depth of the tree that is being proven, i.e. the number of edges\n * from a leaf to the root.\n */\n constructor(index, proof, treedepth) {\n super();\n this.index = index;\n this.proof =\n typeof proof === 'string'\n ? new Uint8Array(Buffer.from(proof, 'base64'))\n : proof;\n this.treedepth = treedepth;\n this.attribute_map = {\n index: 'index',\n proof: 'proof',\n treedepth: 'treedepth',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['index'] === 'undefined')\n throw new Error(`Response is missing required field 'index': ${data}`);\n if (typeof data['proof'] === 'undefined')\n throw new Error(`Response is missing required field 'proof': ${data}`);\n if (typeof data['treedepth'] === 'undefined')\n throw new Error(`Response is missing required field 'treedepth': ${data}`);\n return new LightBlockHeaderProof(data['index'], data['proof'], data['treedepth']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class NodeStatusResponse extends BaseModel {\n /**\n * Creates a new `NodeStatusResponse` object.\n * @param catchupTime - CatchupTime in nanoseconds\n * @param lastRound - LastRound indicates the last round seen\n * @param lastVersion - LastVersion indicates the last consensus version supported\n * @param nextVersion - NextVersion of consensus protocol to use\n * @param nextVersionRound - NextVersionRound is the round at which the next consensus version will apply\n * @param nextVersionSupported - NextVersionSupported indicates whether the next consensus version is supported\n * by this node\n * @param stoppedAtUnsupportedRound - StoppedAtUnsupportedRound indicates that the node does not support the new\n * rounds and has stopped making progress\n * @param timeSinceLastRound - TimeSinceLastRound in nanoseconds\n * @param catchpoint - The current catchpoint that is being caught up to\n * @param catchpointAcquiredBlocks - The number of blocks that have already been obtained by the node as part of the\n * catchup\n * @param catchpointProcessedAccounts - The number of accounts from the current catchpoint that have been processed so\n * far as part of the catchup\n * @param catchpointProcessedKvs - The number of key-values (KVs) from the current catchpoint that have been\n * processed so far as part of the catchup\n * @param catchpointTotalAccounts - The total number of accounts included in the current catchpoint\n * @param catchpointTotalBlocks - The total number of blocks that are required to complete the current catchpoint\n * catchup\n * @param catchpointTotalKvs - The total number of key-values (KVs) included in the current catchpoint\n * @param catchpointVerifiedAccounts - The number of accounts from the current catchpoint that have been verified so\n * far as part of the catchup\n * @param catchpointVerifiedKvs - The number of key-values (KVs) from the current catchpoint that have been\n * verified so far as part of the catchup\n * @param lastCatchpoint - The last catchpoint seen by the node\n */\n constructor({ catchupTime, lastRound, lastVersion, nextVersion, nextVersionRound, nextVersionSupported, stoppedAtUnsupportedRound, timeSinceLastRound, catchpoint, catchpointAcquiredBlocks, catchpointProcessedAccounts, catchpointProcessedKvs, catchpointTotalAccounts, catchpointTotalBlocks, catchpointTotalKvs, catchpointVerifiedAccounts, catchpointVerifiedKvs, lastCatchpoint, }) {\n super();\n this.catchupTime = catchupTime;\n this.lastRound = lastRound;\n this.lastVersion = lastVersion;\n this.nextVersion = nextVersion;\n this.nextVersionRound = nextVersionRound;\n this.nextVersionSupported = nextVersionSupported;\n this.stoppedAtUnsupportedRound = stoppedAtUnsupportedRound;\n this.timeSinceLastRound = timeSinceLastRound;\n this.catchpoint = catchpoint;\n this.catchpointAcquiredBlocks = catchpointAcquiredBlocks;\n this.catchpointProcessedAccounts = catchpointProcessedAccounts;\n this.catchpointProcessedKvs = catchpointProcessedKvs;\n this.catchpointTotalAccounts = catchpointTotalAccounts;\n this.catchpointTotalBlocks = catchpointTotalBlocks;\n this.catchpointTotalKvs = catchpointTotalKvs;\n this.catchpointVerifiedAccounts = catchpointVerifiedAccounts;\n this.catchpointVerifiedKvs = catchpointVerifiedKvs;\n this.lastCatchpoint = lastCatchpoint;\n this.attribute_map = {\n catchupTime: 'catchup-time',\n lastRound: 'last-round',\n lastVersion: 'last-version',\n nextVersion: 'next-version',\n nextVersionRound: 'next-version-round',\n nextVersionSupported: 'next-version-supported',\n stoppedAtUnsupportedRound: 'stopped-at-unsupported-round',\n timeSinceLastRound: 'time-since-last-round',\n catchpoint: 'catchpoint',\n catchpointAcquiredBlocks: 'catchpoint-acquired-blocks',\n catchpointProcessedAccounts: 'catchpoint-processed-accounts',\n catchpointProcessedKvs: 'catchpoint-processed-kvs',\n catchpointTotalAccounts: 'catchpoint-total-accounts',\n catchpointTotalBlocks: 'catchpoint-total-blocks',\n catchpointTotalKvs: 'catchpoint-total-kvs',\n catchpointVerifiedAccounts: 'catchpoint-verified-accounts',\n catchpointVerifiedKvs: 'catchpoint-verified-kvs',\n lastCatchpoint: 'last-catchpoint',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['catchup-time'] === 'undefined')\n throw new Error(`Response is missing required field 'catchup-time': ${data}`);\n if (typeof data['last-round'] === 'undefined')\n throw new Error(`Response is missing required field 'last-round': ${data}`);\n if (typeof data['last-version'] === 'undefined')\n throw new Error(`Response is missing required field 'last-version': ${data}`);\n if (typeof data['next-version'] === 'undefined')\n throw new Error(`Response is missing required field 'next-version': ${data}`);\n if (typeof data['next-version-round'] === 'undefined')\n throw new Error(`Response is missing required field 'next-version-round': ${data}`);\n if (typeof data['next-version-supported'] === 'undefined')\n throw new Error(`Response is missing required field 'next-version-supported': ${data}`);\n if (typeof data['stopped-at-unsupported-round'] === 'undefined')\n throw new Error(`Response is missing required field 'stopped-at-unsupported-round': ${data}`);\n if (typeof data['time-since-last-round'] === 'undefined')\n throw new Error(`Response is missing required field 'time-since-last-round': ${data}`);\n return new NodeStatusResponse({\n catchupTime: data['catchup-time'],\n lastRound: data['last-round'],\n lastVersion: data['last-version'],\n nextVersion: data['next-version'],\n nextVersionRound: data['next-version-round'],\n nextVersionSupported: data['next-version-supported'],\n stoppedAtUnsupportedRound: data['stopped-at-unsupported-round'],\n timeSinceLastRound: data['time-since-last-round'],\n catchpoint: data['catchpoint'],\n catchpointAcquiredBlocks: data['catchpoint-acquired-blocks'],\n catchpointProcessedAccounts: data['catchpoint-processed-accounts'],\n catchpointProcessedKvs: data['catchpoint-processed-kvs'],\n catchpointTotalAccounts: data['catchpoint-total-accounts'],\n catchpointTotalBlocks: data['catchpoint-total-blocks'],\n catchpointTotalKvs: data['catchpoint-total-kvs'],\n catchpointVerifiedAccounts: data['catchpoint-verified-accounts'],\n catchpointVerifiedKvs: data['catchpoint-verified-kvs'],\n lastCatchpoint: data['last-catchpoint'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Details about a pending transaction. If the transaction was recently confirmed,\n * includes confirmation details like the round and reward details.\n */\nexport class PendingTransactionResponse extends BaseModel {\n /**\n * Creates a new `PendingTransactionResponse` object.\n * @param poolError - Indicates that the transaction was kicked out of this node's transaction pool\n * (and specifies why that happened). An empty string indicates the transaction\n * wasn't kicked out of this node's txpool due to an error.\n * @param txn - The raw signed transaction.\n * @param applicationIndex - The application index if the transaction was found and it created an\n * application.\n * @param assetClosingAmount - The number of the asset's unit that were transferred to the close-to address.\n * @param assetIndex - The asset index if the transaction was found and it created an asset.\n * @param closeRewards - Rewards in microalgos applied to the close remainder to account.\n * @param closingAmount - Closing amount for the transaction.\n * @param confirmedRound - The round where this transaction was confirmed, if present.\n * @param globalStateDelta - (gd) Global state key/value changes for the application being executed by this\n * transaction.\n * @param innerTxns - Inner transactions produced by application execution.\n * @param localStateDelta - (ld) Local state key/value changes for the application being executed by this\n * transaction.\n * @param logs - (lg) Logs for the application being executed by this transaction.\n * @param receiverRewards - Rewards in microalgos applied to the receiver account.\n * @param senderRewards - Rewards in microalgos applied to the sender account.\n */\n constructor({ poolError, txn, applicationIndex, assetClosingAmount, assetIndex, closeRewards, closingAmount, confirmedRound, globalStateDelta, innerTxns, localStateDelta, logs, receiverRewards, senderRewards, }) {\n super();\n this.poolError = poolError;\n this.txn = txn;\n this.applicationIndex = applicationIndex;\n this.assetClosingAmount = assetClosingAmount;\n this.assetIndex = assetIndex;\n this.closeRewards = closeRewards;\n this.closingAmount = closingAmount;\n this.confirmedRound = confirmedRound;\n this.globalStateDelta = globalStateDelta;\n this.innerTxns = innerTxns;\n this.localStateDelta = localStateDelta;\n this.logs = logs;\n this.receiverRewards = receiverRewards;\n this.senderRewards = senderRewards;\n this.attribute_map = {\n poolError: 'pool-error',\n txn: 'txn',\n applicationIndex: 'application-index',\n assetClosingAmount: 'asset-closing-amount',\n assetIndex: 'asset-index',\n closeRewards: 'close-rewards',\n closingAmount: 'closing-amount',\n confirmedRound: 'confirmed-round',\n globalStateDelta: 'global-state-delta',\n innerTxns: 'inner-txns',\n localStateDelta: 'local-state-delta',\n logs: 'logs',\n receiverRewards: 'receiver-rewards',\n senderRewards: 'sender-rewards',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['pool-error'] === 'undefined')\n throw new Error(`Response is missing required field 'pool-error': ${data}`);\n if (typeof data['txn'] === 'undefined')\n throw new Error(`Response is missing required field 'txn': ${data}`);\n return new PendingTransactionResponse({\n poolError: data['pool-error'],\n txn: data['txn'],\n applicationIndex: data['application-index'],\n assetClosingAmount: data['asset-closing-amount'],\n assetIndex: data['asset-index'],\n closeRewards: data['close-rewards'],\n closingAmount: data['closing-amount'],\n confirmedRound: data['confirmed-round'],\n globalStateDelta: typeof data['global-state-delta'] !== 'undefined'\n ? data['global-state-delta'].map(EvalDeltaKeyValue.from_obj_for_encoding)\n : undefined,\n innerTxns: typeof data['inner-txns'] !== 'undefined'\n ? data['inner-txns'].map(PendingTransactionResponse.from_obj_for_encoding)\n : undefined,\n localStateDelta: typeof data['local-state-delta'] !== 'undefined'\n ? data['local-state-delta'].map(AccountStateDelta.from_obj_for_encoding)\n : undefined,\n logs: data['logs'],\n receiverRewards: data['receiver-rewards'],\n senderRewards: data['sender-rewards'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * A potentially truncated list of transactions currently in the node's transaction\n * pool. You can compute whether or not the list is truncated if the number of\n * elements in the **top-transactions** array is fewer than **total-transactions**.\n */\nexport class PendingTransactionsResponse extends BaseModel {\n /**\n * Creates a new `PendingTransactionsResponse` object.\n * @param topTransactions - An array of signed transaction objects.\n * @param totalTransactions - Total number of transactions in the pool.\n */\n constructor(topTransactions, totalTransactions) {\n super();\n this.topTransactions = topTransactions;\n this.totalTransactions = totalTransactions;\n this.attribute_map = {\n topTransactions: 'top-transactions',\n totalTransactions: 'total-transactions',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['top-transactions']))\n throw new Error(`Response is missing required array field 'top-transactions': ${data}`);\n if (typeof data['total-transactions'] === 'undefined')\n throw new Error(`Response is missing required field 'total-transactions': ${data}`);\n return new PendingTransactionsResponse(data['top-transactions'], data['total-transactions']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Transaction ID of the submission.\n */\nexport class PostTransactionsResponse extends BaseModel {\n /**\n * Creates a new `PostTransactionsResponse` object.\n * @param txid - encoding of the transaction hash.\n */\n constructor(txid) {\n super();\n this.txid = txid;\n this.attribute_map = {\n txid: 'txId',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['txId'] === 'undefined')\n throw new Error(`Response is missing required field 'txId': ${data}`);\n return new PostTransactionsResponse(data['txId']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a state proof and its corresponding message\n */\nexport class StateProof extends BaseModel {\n /**\n * Creates a new `StateProof` object.\n * @param message - Represents the message that the state proofs are attesting to.\n * @param stateproof - The encoded StateProof for the message.\n */\n constructor(message, stateproof) {\n super();\n this.message = message;\n this.stateproof =\n typeof stateproof === 'string'\n ? new Uint8Array(Buffer.from(stateproof, 'base64'))\n : stateproof;\n this.attribute_map = {\n message: 'Message',\n stateproof: 'StateProof',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['Message'] === 'undefined')\n throw new Error(`Response is missing required field 'Message': ${data}`);\n if (typeof data['StateProof'] === 'undefined')\n throw new Error(`Response is missing required field 'StateProof': ${data}`);\n return new StateProof(StateProofMessage.from_obj_for_encoding(data['Message']), data['StateProof']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents the message that the state proofs are attesting to.\n */\nexport class StateProofMessage extends BaseModel {\n /**\n * Creates a new `StateProofMessage` object.\n * @param blockheaderscommitment - The vector commitment root on all light block headers within a state proof\n * interval.\n * @param firstattestedround - The first round the message attests to.\n * @param lastattestedround - The last round the message attests to.\n * @param lnprovenweight - An integer value representing the natural log of the proven weight with 16 bits\n * of precision. This value would be used to verify the next state proof.\n * @param voterscommitment - The vector commitment root of the top N accounts to sign the next StateProof.\n */\n constructor({ blockheaderscommitment, firstattestedround, lastattestedround, lnprovenweight, voterscommitment, }) {\n super();\n this.blockheaderscommitment =\n typeof blockheaderscommitment === 'string'\n ? new Uint8Array(Buffer.from(blockheaderscommitment, 'base64'))\n : blockheaderscommitment;\n this.firstattestedround = firstattestedround;\n this.lastattestedround = lastattestedround;\n this.lnprovenweight = lnprovenweight;\n this.voterscommitment =\n typeof voterscommitment === 'string'\n ? new Uint8Array(Buffer.from(voterscommitment, 'base64'))\n : voterscommitment;\n this.attribute_map = {\n blockheaderscommitment: 'BlockHeadersCommitment',\n firstattestedround: 'FirstAttestedRound',\n lastattestedround: 'LastAttestedRound',\n lnprovenweight: 'LnProvenWeight',\n voterscommitment: 'VotersCommitment',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['BlockHeadersCommitment'] === 'undefined')\n throw new Error(`Response is missing required field 'BlockHeadersCommitment': ${data}`);\n if (typeof data['FirstAttestedRound'] === 'undefined')\n throw new Error(`Response is missing required field 'FirstAttestedRound': ${data}`);\n if (typeof data['LastAttestedRound'] === 'undefined')\n throw new Error(`Response is missing required field 'LastAttestedRound': ${data}`);\n if (typeof data['LnProvenWeight'] === 'undefined')\n throw new Error(`Response is missing required field 'LnProvenWeight': ${data}`);\n if (typeof data['VotersCommitment'] === 'undefined')\n throw new Error(`Response is missing required field 'VotersCommitment': ${data}`);\n return new StateProofMessage({\n blockheaderscommitment: data['BlockHeadersCommitment'],\n firstattestedround: data['FirstAttestedRound'],\n lastattestedround: data['LastAttestedRound'],\n lnprovenweight: data['LnProvenWeight'],\n voterscommitment: data['VotersCommitment'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Supply represents the current supply of MicroAlgos in the system.\n */\nexport class SupplyResponse extends BaseModel {\n /**\n * Creates a new `SupplyResponse` object.\n * @param currentRound - Round\n * @param onlineMoney - OnlineMoney\n * @param totalMoney - TotalMoney\n */\n constructor(currentRound, onlineMoney, totalMoney) {\n super();\n this.currentRound = currentRound;\n this.onlineMoney = onlineMoney;\n this.totalMoney = totalMoney;\n this.attribute_map = {\n currentRound: 'current_round',\n onlineMoney: 'online-money',\n totalMoney: 'total-money',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['current_round'] === 'undefined')\n throw new Error(`Response is missing required field 'current_round': ${data}`);\n if (typeof data['online-money'] === 'undefined')\n throw new Error(`Response is missing required field 'online-money': ${data}`);\n if (typeof data['total-money'] === 'undefined')\n throw new Error(`Response is missing required field 'total-money': ${data}`);\n return new SupplyResponse(data['current_round'], data['online-money'], data['total-money']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a key-value pair in an application store.\n */\nexport class TealKeyValue extends BaseModel {\n /**\n * Creates a new `TealKeyValue` object.\n * @param key -\n * @param value - Represents a TEAL value.\n */\n constructor(key, value) {\n super();\n this.key = key;\n this.value = value;\n this.attribute_map = {\n key: 'key',\n value: 'value',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['key'] === 'undefined')\n throw new Error(`Response is missing required field 'key': ${data}`);\n if (typeof data['value'] === 'undefined')\n throw new Error(`Response is missing required field 'value': ${data}`);\n return new TealKeyValue(data['key'], TealValue.from_obj_for_encoding(data['value']));\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a TEAL value.\n */\nexport class TealValue extends BaseModel {\n /**\n * Creates a new `TealValue` object.\n * @param type - (tt) value type. Value `1` refers to **bytes**, value `2` refers to **uint**\n * @param bytes - (tb) bytes value.\n * @param uint - (ui) uint value.\n */\n constructor(type, bytes, uint) {\n super();\n this.type = type;\n this.bytes = bytes;\n this.uint = uint;\n this.attribute_map = {\n type: 'type',\n bytes: 'bytes',\n uint: 'uint',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['type'] === 'undefined')\n throw new Error(`Response is missing required field 'type': ${data}`);\n if (typeof data['bytes'] === 'undefined')\n throw new Error(`Response is missing required field 'bytes': ${data}`);\n if (typeof data['uint'] === 'undefined')\n throw new Error(`Response is missing required field 'uint': ${data}`);\n return new TealValue(data['type'], data['bytes'], data['uint']);\n /* eslint-enable dot-notation */\n }\n}\n/**\n * TransactionParams contains the parameters that help a client construct a new\n * transaction.\n */\nexport class TransactionParametersResponse extends BaseModel {\n /**\n * Creates a new `TransactionParametersResponse` object.\n * @param consensusVersion - ConsensusVersion indicates the consensus protocol version\n * as of LastRound.\n * @param fee - Fee is the suggested transaction fee\n * Fee is in units of micro-Algos per byte.\n * Fee may fall to zero but transactions must still have a fee of\n * at least MinTxnFee for the current network protocol.\n * @param genesisHash - GenesisHash is the hash of the genesis block.\n * @param genesisId - GenesisID is an ID listed in the genesis block.\n * @param lastRound - LastRound indicates the last round seen\n * @param minFee - The minimum transaction fee (not per byte) required for the\n * txn to validate for the current network protocol.\n */\n constructor({ consensusVersion, fee, genesisHash, genesisId, lastRound, minFee, }) {\n super();\n this.consensusVersion = consensusVersion;\n this.fee = fee;\n this.genesisHash =\n typeof genesisHash === 'string'\n ? new Uint8Array(Buffer.from(genesisHash, 'base64'))\n : genesisHash;\n this.genesisId = genesisId;\n this.lastRound = lastRound;\n this.minFee = minFee;\n this.attribute_map = {\n consensusVersion: 'consensus-version',\n fee: 'fee',\n genesisHash: 'genesis-hash',\n genesisId: 'genesis-id',\n lastRound: 'last-round',\n minFee: 'min-fee',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['consensus-version'] === 'undefined')\n throw new Error(`Response is missing required field 'consensus-version': ${data}`);\n if (typeof data['fee'] === 'undefined')\n throw new Error(`Response is missing required field 'fee': ${data}`);\n if (typeof data['genesis-hash'] === 'undefined')\n throw new Error(`Response is missing required field 'genesis-hash': ${data}`);\n if (typeof data['genesis-id'] === 'undefined')\n throw new Error(`Response is missing required field 'genesis-id': ${data}`);\n if (typeof data['last-round'] === 'undefined')\n throw new Error(`Response is missing required field 'last-round': ${data}`);\n if (typeof data['min-fee'] === 'undefined')\n throw new Error(`Response is missing required field 'min-fee': ${data}`);\n return new TransactionParametersResponse({\n consensusVersion: data['consensus-version'],\n fee: data['fee'],\n genesisHash: data['genesis-hash'],\n genesisId: data['genesis-id'],\n lastRound: data['last-round'],\n minFee: data['min-fee'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Proof of transaction in a block.\n */\nexport class TransactionProofResponse extends BaseModel {\n /**\n * Creates a new `TransactionProofResponse` object.\n * @param idx - Index of the transaction in the block's payset.\n * @param proof - Proof of transaction membership.\n * @param stibhash - Hash of SignedTxnInBlock for verifying proof.\n * @param treedepth - Represents the depth of the tree that is being proven, i.e. the number of edges\n * from a leaf to the root.\n * @param hashtype - The type of hash function used to create the proof, must be one of:\n * * sha512_256\n * * sha256\n */\n constructor({ idx, proof, stibhash, treedepth, hashtype, }) {\n super();\n this.idx = idx;\n this.proof =\n typeof proof === 'string'\n ? new Uint8Array(Buffer.from(proof, 'base64'))\n : proof;\n this.stibhash =\n typeof stibhash === 'string'\n ? new Uint8Array(Buffer.from(stibhash, 'base64'))\n : stibhash;\n this.treedepth = treedepth;\n this.hashtype = hashtype;\n this.attribute_map = {\n idx: 'idx',\n proof: 'proof',\n stibhash: 'stibhash',\n treedepth: 'treedepth',\n hashtype: 'hashtype',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['idx'] === 'undefined')\n throw new Error(`Response is missing required field 'idx': ${data}`);\n if (typeof data['proof'] === 'undefined')\n throw new Error(`Response is missing required field 'proof': ${data}`);\n if (typeof data['stibhash'] === 'undefined')\n throw new Error(`Response is missing required field 'stibhash': ${data}`);\n if (typeof data['treedepth'] === 'undefined')\n throw new Error(`Response is missing required field 'treedepth': ${data}`);\n return new TransactionProofResponse({\n idx: data['idx'],\n proof: data['proof'],\n stibhash: data['stibhash'],\n treedepth: data['treedepth'],\n hashtype: data['hashtype'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * algod version information.\n */\nexport class Version extends BaseModel {\n /**\n * Creates a new `Version` object.\n * @param build -\n * @param genesisHashB64 -\n * @param genesisId -\n * @param versions -\n */\n constructor(build, genesisHashB64, genesisId, versions) {\n super();\n this.build = build;\n this.genesisHashB64 =\n typeof genesisHashB64 === 'string'\n ? new Uint8Array(Buffer.from(genesisHashB64, 'base64'))\n : genesisHashB64;\n this.genesisId = genesisId;\n this.versions = versions;\n this.attribute_map = {\n build: 'build',\n genesisHashB64: 'genesis_hash_b64',\n genesisId: 'genesis_id',\n versions: 'versions',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['build'] === 'undefined')\n throw new Error(`Response is missing required field 'build': ${data}`);\n if (typeof data['genesis_hash_b64'] === 'undefined')\n throw new Error(`Response is missing required field 'genesis_hash_b64': ${data}`);\n if (typeof data['genesis_id'] === 'undefined')\n throw new Error(`Response is missing required field 'genesis_id': ${data}`);\n if (!Array.isArray(data['versions']))\n throw new Error(`Response is missing required array field 'versions': ${data}`);\n return new Version(BuildVersion.from_obj_for_encoding(data['build']), data['genesis_hash_b64'], data['genesis_id'], data['versions']);\n /* eslint-enable dot-notation */\n }\n}\n//# sourceMappingURL=types.js.map","/**\n * bigIntToBytes converts a BigInt to a big-endian Uint8Array for encoding.\n * @param bi - The bigint to convert.\n * @param size - The size of the resulting byte array.\n * @returns A byte array containing the big-endian encoding of the input bigint\n */\nexport function bigIntToBytes(bi, size) {\n let hex = bi.toString(16);\n // Pad the hex with zeros so it matches the size in bytes\n if (hex.length !== size * 2) {\n hex = hex.padStart(size * 2, '0');\n }\n const byteArray = new Uint8Array(hex.length / 2);\n for (let i = 0, j = 0; i < hex.length / 2; i++, j += 2) {\n byteArray[i] = parseInt(hex.slice(j, j + 2), 16);\n }\n return byteArray;\n}\n/**\n * bytesToBigInt produces a bigint from a binary representation.\n *\n * @param bytes - The Uint8Array to convert.\n * @returns The bigint that was encoded in the input data.\n */\nexport function bytesToBigInt(bytes) {\n let res = BigInt(0);\n const buf = Buffer.from(bytes);\n for (let i = 0; i < bytes.length; i++) {\n res = BigInt(Number(buf.readUIntBE(i, 1))) + res * BigInt(256);\n }\n return res;\n}\n//# sourceMappingURL=bigint.js.map","import * as env from \"@walletconnect/environment\";\nimport { ENCRYPT_OP, DECRYPT_OP, SIGN_OP, VERIFY_OP, AES_BROWSER_ALGO, AES_LENGTH, HMAC_BROWSER_ALGO, HMAC_BROWSER, HMAC_LENGTH, SHA256_BROWSER_ALGO, SHA512_BROWSER_ALGO, LENGTH_512, } from \"../constants\";\nexport function getAlgo(type) {\n return type === AES_BROWSER_ALGO\n ? { length: AES_LENGTH, name: AES_BROWSER_ALGO }\n : {\n hash: { name: HMAC_BROWSER_ALGO },\n name: HMAC_BROWSER,\n };\n}\nexport function getOps(type) {\n return type === AES_BROWSER_ALGO\n ? [ENCRYPT_OP, DECRYPT_OP]\n : [SIGN_OP, VERIFY_OP];\n}\nexport async function browserExportKey(cryptoKey, type = AES_BROWSER_ALGO) {\n const subtle = env.getSubtleCrypto();\n return new Uint8Array(await subtle.exportKey(\"raw\", cryptoKey));\n}\nexport async function browserImportKey(buffer, type = AES_BROWSER_ALGO) {\n return env.getSubtleCrypto().importKey(\"raw\", buffer, getAlgo(type), true, getOps(type));\n}\nexport async function browserAesEncrypt(iv, key, data) {\n const subtle = env.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, AES_BROWSER_ALGO);\n const result = await subtle.encrypt({\n iv,\n name: AES_BROWSER_ALGO,\n }, cryptoKey, data);\n return new Uint8Array(result);\n}\nexport async function browserAesDecrypt(iv, key, data) {\n const subtle = env.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, AES_BROWSER_ALGO);\n const result = await subtle.decrypt({\n iv,\n name: AES_BROWSER_ALGO,\n }, cryptoKey, data);\n return new Uint8Array(result);\n}\nexport async function browserHmacSha256Sign(key, data) {\n const subtle = env.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, HMAC_BROWSER);\n const signature = await subtle.sign({\n length: HMAC_LENGTH,\n name: HMAC_BROWSER,\n }, cryptoKey, data);\n return new Uint8Array(signature);\n}\nexport async function browserHmacSha512Sign(key, data) {\n const subtle = env.getSubtleCrypto();\n const cryptoKey = await browserImportKey(key, HMAC_BROWSER);\n const signature = await subtle.sign({\n length: LENGTH_512,\n name: HMAC_BROWSER,\n }, cryptoKey, data);\n return new Uint8Array(signature);\n}\nexport async function browserSha256(data) {\n const subtle = env.getSubtleCrypto();\n const result = await subtle.digest({\n name: SHA256_BROWSER_ALGO,\n }, data);\n return new Uint8Array(result);\n}\nexport async function browserSha512(data) {\n const subtle = env.getSubtleCrypto();\n const result = await subtle.digest({\n name: SHA512_BROWSER_ALGO,\n }, data);\n return new Uint8Array(result);\n}\n//# sourceMappingURL=browser.js.map","(function(nacl) {\n'use strict';\n\n// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n//\n// Implementation derived from TweetNaCl version 20140427.\n// See for details: http://tweetnacl.cr.yp.to/\n\nvar gf = function(init) {\n var i, r = new Float64Array(16);\n if (init) for (i = 0; i < init.length; i++) r[i] = init[i];\n return r;\n};\n\n// Pluggable, initialized in high-level API below.\nvar randombytes = function(/* x, n */) { throw new Error('no PRNG'); };\n\nvar _0 = new Uint8Array(16);\nvar _9 = new Uint8Array(32); _9[0] = 9;\n\nvar gf0 = gf(),\n gf1 = gf([1]),\n _121665 = gf([0xdb41, 1]),\n D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]),\n D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]),\n X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]),\n Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]),\n I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\nfunction ts64(x, i, h, l) {\n x[i] = (h >> 24) & 0xff;\n x[i+1] = (h >> 16) & 0xff;\n x[i+2] = (h >> 8) & 0xff;\n x[i+3] = h & 0xff;\n x[i+4] = (l >> 24) & 0xff;\n x[i+5] = (l >> 16) & 0xff;\n x[i+6] = (l >> 8) & 0xff;\n x[i+7] = l & 0xff;\n}\n\nfunction vn(x, xi, y, yi, n) {\n var i,d = 0;\n for (i = 0; i < n; i++) d |= x[xi+i]^y[yi+i];\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\nfunction crypto_verify_16(x, xi, y, yi) {\n return vn(x,xi,y,yi,16);\n}\n\nfunction crypto_verify_32(x, xi, y, yi) {\n return vn(x,xi,y,yi,32);\n}\n\nfunction core_salsa20(o, p, k, c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24,\n j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24,\n j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24,\n j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24,\n j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24,\n j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24,\n j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24,\n j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24;\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u<<7 | u>>>(32-7);\n u = x4 + x0 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x4 | 0;\n x12 ^= u<<13 | u>>>(32-13);\n u = x12 + x8 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x1 | 0;\n x9 ^= u<<7 | u>>>(32-7);\n u = x9 + x5 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x9 | 0;\n x1 ^= u<<13 | u>>>(32-13);\n u = x1 + x13 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x6 | 0;\n x14 ^= u<<7 | u>>>(32-7);\n u = x14 + x10 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x14 | 0;\n x6 ^= u<<13 | u>>>(32-13);\n u = x6 + x2 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x11 | 0;\n x3 ^= u<<7 | u>>>(32-7);\n u = x3 + x15 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x3 | 0;\n x11 ^= u<<13 | u>>>(32-13);\n u = x11 + x7 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n\n u = x0 + x3 | 0;\n x1 ^= u<<7 | u>>>(32-7);\n u = x1 + x0 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x1 | 0;\n x3 ^= u<<13 | u>>>(32-13);\n u = x3 + x2 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x4 | 0;\n x6 ^= u<<7 | u>>>(32-7);\n u = x6 + x5 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x6 | 0;\n x4 ^= u<<13 | u>>>(32-13);\n u = x4 + x7 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x9 | 0;\n x11 ^= u<<7 | u>>>(32-7);\n u = x11 + x10 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x11 | 0;\n x9 ^= u<<13 | u>>>(32-13);\n u = x9 + x8 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x14 | 0;\n x12 ^= u<<7 | u>>>(32-7);\n u = x12 + x15 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x12 | 0;\n x14 ^= u<<13 | u>>>(32-13);\n u = x14 + x13 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n }\n x0 = x0 + j0 | 0;\n x1 = x1 + j1 | 0;\n x2 = x2 + j2 | 0;\n x3 = x3 + j3 | 0;\n x4 = x4 + j4 | 0;\n x5 = x5 + j5 | 0;\n x6 = x6 + j6 | 0;\n x7 = x7 + j7 | 0;\n x8 = x8 + j8 | 0;\n x9 = x9 + j9 | 0;\n x10 = x10 + j10 | 0;\n x11 = x11 + j11 | 0;\n x12 = x12 + j12 | 0;\n x13 = x13 + j13 | 0;\n x14 = x14 + j14 | 0;\n x15 = x15 + j15 | 0;\n\n o[ 0] = x0 >>> 0 & 0xff;\n o[ 1] = x0 >>> 8 & 0xff;\n o[ 2] = x0 >>> 16 & 0xff;\n o[ 3] = x0 >>> 24 & 0xff;\n\n o[ 4] = x1 >>> 0 & 0xff;\n o[ 5] = x1 >>> 8 & 0xff;\n o[ 6] = x1 >>> 16 & 0xff;\n o[ 7] = x1 >>> 24 & 0xff;\n\n o[ 8] = x2 >>> 0 & 0xff;\n o[ 9] = x2 >>> 8 & 0xff;\n o[10] = x2 >>> 16 & 0xff;\n o[11] = x2 >>> 24 & 0xff;\n\n o[12] = x3 >>> 0 & 0xff;\n o[13] = x3 >>> 8 & 0xff;\n o[14] = x3 >>> 16 & 0xff;\n o[15] = x3 >>> 24 & 0xff;\n\n o[16] = x4 >>> 0 & 0xff;\n o[17] = x4 >>> 8 & 0xff;\n o[18] = x4 >>> 16 & 0xff;\n o[19] = x4 >>> 24 & 0xff;\n\n o[20] = x5 >>> 0 & 0xff;\n o[21] = x5 >>> 8 & 0xff;\n o[22] = x5 >>> 16 & 0xff;\n o[23] = x5 >>> 24 & 0xff;\n\n o[24] = x6 >>> 0 & 0xff;\n o[25] = x6 >>> 8 & 0xff;\n o[26] = x6 >>> 16 & 0xff;\n o[27] = x6 >>> 24 & 0xff;\n\n o[28] = x7 >>> 0 & 0xff;\n o[29] = x7 >>> 8 & 0xff;\n o[30] = x7 >>> 16 & 0xff;\n o[31] = x7 >>> 24 & 0xff;\n\n o[32] = x8 >>> 0 & 0xff;\n o[33] = x8 >>> 8 & 0xff;\n o[34] = x8 >>> 16 & 0xff;\n o[35] = x8 >>> 24 & 0xff;\n\n o[36] = x9 >>> 0 & 0xff;\n o[37] = x9 >>> 8 & 0xff;\n o[38] = x9 >>> 16 & 0xff;\n o[39] = x9 >>> 24 & 0xff;\n\n o[40] = x10 >>> 0 & 0xff;\n o[41] = x10 >>> 8 & 0xff;\n o[42] = x10 >>> 16 & 0xff;\n o[43] = x10 >>> 24 & 0xff;\n\n o[44] = x11 >>> 0 & 0xff;\n o[45] = x11 >>> 8 & 0xff;\n o[46] = x11 >>> 16 & 0xff;\n o[47] = x11 >>> 24 & 0xff;\n\n o[48] = x12 >>> 0 & 0xff;\n o[49] = x12 >>> 8 & 0xff;\n o[50] = x12 >>> 16 & 0xff;\n o[51] = x12 >>> 24 & 0xff;\n\n o[52] = x13 >>> 0 & 0xff;\n o[53] = x13 >>> 8 & 0xff;\n o[54] = x13 >>> 16 & 0xff;\n o[55] = x13 >>> 24 & 0xff;\n\n o[56] = x14 >>> 0 & 0xff;\n o[57] = x14 >>> 8 & 0xff;\n o[58] = x14 >>> 16 & 0xff;\n o[59] = x14 >>> 24 & 0xff;\n\n o[60] = x15 >>> 0 & 0xff;\n o[61] = x15 >>> 8 & 0xff;\n o[62] = x15 >>> 16 & 0xff;\n o[63] = x15 >>> 24 & 0xff;\n}\n\nfunction core_hsalsa20(o,p,k,c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24,\n j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24,\n j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24,\n j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24,\n j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24,\n j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24,\n j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24,\n j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24;\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u<<7 | u>>>(32-7);\n u = x4 + x0 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x4 | 0;\n x12 ^= u<<13 | u>>>(32-13);\n u = x12 + x8 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x1 | 0;\n x9 ^= u<<7 | u>>>(32-7);\n u = x9 + x5 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x9 | 0;\n x1 ^= u<<13 | u>>>(32-13);\n u = x1 + x13 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x6 | 0;\n x14 ^= u<<7 | u>>>(32-7);\n u = x14 + x10 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x14 | 0;\n x6 ^= u<<13 | u>>>(32-13);\n u = x6 + x2 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x11 | 0;\n x3 ^= u<<7 | u>>>(32-7);\n u = x3 + x15 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x3 | 0;\n x11 ^= u<<13 | u>>>(32-13);\n u = x11 + x7 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n\n u = x0 + x3 | 0;\n x1 ^= u<<7 | u>>>(32-7);\n u = x1 + x0 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x1 | 0;\n x3 ^= u<<13 | u>>>(32-13);\n u = x3 + x2 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x4 | 0;\n x6 ^= u<<7 | u>>>(32-7);\n u = x6 + x5 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x6 | 0;\n x4 ^= u<<13 | u>>>(32-13);\n u = x4 + x7 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x9 | 0;\n x11 ^= u<<7 | u>>>(32-7);\n u = x11 + x10 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x11 | 0;\n x9 ^= u<<13 | u>>>(32-13);\n u = x9 + x8 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x14 | 0;\n x12 ^= u<<7 | u>>>(32-7);\n u = x12 + x15 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x12 | 0;\n x14 ^= u<<13 | u>>>(32-13);\n u = x14 + x13 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n }\n\n o[ 0] = x0 >>> 0 & 0xff;\n o[ 1] = x0 >>> 8 & 0xff;\n o[ 2] = x0 >>> 16 & 0xff;\n o[ 3] = x0 >>> 24 & 0xff;\n\n o[ 4] = x5 >>> 0 & 0xff;\n o[ 5] = x5 >>> 8 & 0xff;\n o[ 6] = x5 >>> 16 & 0xff;\n o[ 7] = x5 >>> 24 & 0xff;\n\n o[ 8] = x10 >>> 0 & 0xff;\n o[ 9] = x10 >>> 8 & 0xff;\n o[10] = x10 >>> 16 & 0xff;\n o[11] = x10 >>> 24 & 0xff;\n\n o[12] = x15 >>> 0 & 0xff;\n o[13] = x15 >>> 8 & 0xff;\n o[14] = x15 >>> 16 & 0xff;\n o[15] = x15 >>> 24 & 0xff;\n\n o[16] = x6 >>> 0 & 0xff;\n o[17] = x6 >>> 8 & 0xff;\n o[18] = x6 >>> 16 & 0xff;\n o[19] = x6 >>> 24 & 0xff;\n\n o[20] = x7 >>> 0 & 0xff;\n o[21] = x7 >>> 8 & 0xff;\n o[22] = x7 >>> 16 & 0xff;\n o[23] = x7 >>> 24 & 0xff;\n\n o[24] = x8 >>> 0 & 0xff;\n o[25] = x8 >>> 8 & 0xff;\n o[26] = x8 >>> 16 & 0xff;\n o[27] = x8 >>> 24 & 0xff;\n\n o[28] = x9 >>> 0 & 0xff;\n o[29] = x9 >>> 8 & 0xff;\n o[30] = x9 >>> 16 & 0xff;\n o[31] = x9 >>> 24 & 0xff;\n}\n\nfunction crypto_core_salsa20(out,inp,k,c) {\n core_salsa20(out,inp,k,c);\n}\n\nfunction crypto_core_hsalsa20(out,inp,k,c) {\n core_hsalsa20(out,inp,k,c);\n}\n\nvar sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]);\n // \"expand 32-byte k\"\n\nfunction crypto_stream_salsa20_xor(c,cpos,m,mpos,b,n,k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n for (i = 0; i < 16; i++) z[i] = 0;\n for (i = 0; i < 8; i++) z[i] = n[i];\n while (b >= 64) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < 64; i++) c[cpos+i] = m[mpos+i] ^ x[i];\n u = 1;\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n mpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < b; i++) c[cpos+i] = m[mpos+i] ^ x[i];\n }\n return 0;\n}\n\nfunction crypto_stream_salsa20(c,cpos,b,n,k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n for (i = 0; i < 16; i++) z[i] = 0;\n for (i = 0; i < 8; i++) z[i] = n[i];\n while (b >= 64) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < 64; i++) c[cpos+i] = x[i];\n u = 1;\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < b; i++) c[cpos+i] = x[i];\n }\n return 0;\n}\n\nfunction crypto_stream(c,cpos,d,n,k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s,n,k,sigma);\n var sn = new Uint8Array(8);\n for (var i = 0; i < 8; i++) sn[i] = n[i+16];\n return crypto_stream_salsa20(c,cpos,d,sn,s);\n}\n\nfunction crypto_stream_xor(c,cpos,m,mpos,d,n,k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s,n,k,sigma);\n var sn = new Uint8Array(8);\n for (var i = 0; i < 8; i++) sn[i] = n[i+16];\n return crypto_stream_salsa20_xor(c,cpos,m,mpos,d,sn,s);\n}\n\n/*\n* Port of Andrew Moon's Poly1305-donna-16. Public domain.\n* https://github.com/floodyberry/poly1305-donna\n*/\n\nvar poly1305 = function(key) {\n this.buffer = new Uint8Array(16);\n this.r = new Uint16Array(10);\n this.h = new Uint16Array(10);\n this.pad = new Uint16Array(8);\n this.leftover = 0;\n this.fin = 0;\n\n var t0, t1, t2, t3, t4, t5, t6, t7;\n\n t0 = key[ 0] & 0xff | (key[ 1] & 0xff) << 8; this.r[0] = ( t0 ) & 0x1fff;\n t1 = key[ 2] & 0xff | (key[ 3] & 0xff) << 8; this.r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = key[ 4] & 0xff | (key[ 5] & 0xff) << 8; this.r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n t3 = key[ 6] & 0xff | (key[ 7] & 0xff) << 8; this.r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = key[ 8] & 0xff | (key[ 9] & 0xff) << 8; this.r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this.r[5] = ((t4 >>> 1)) & 0x1ffe;\n t5 = key[10] & 0xff | (key[11] & 0xff) << 8; this.r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = key[12] & 0xff | (key[13] & 0xff) << 8; this.r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n t7 = key[14] & 0xff | (key[15] & 0xff) << 8; this.r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this.r[9] = ((t7 >>> 5)) & 0x007f;\n\n this.pad[0] = key[16] & 0xff | (key[17] & 0xff) << 8;\n this.pad[1] = key[18] & 0xff | (key[19] & 0xff) << 8;\n this.pad[2] = key[20] & 0xff | (key[21] & 0xff) << 8;\n this.pad[3] = key[22] & 0xff | (key[23] & 0xff) << 8;\n this.pad[4] = key[24] & 0xff | (key[25] & 0xff) << 8;\n this.pad[5] = key[26] & 0xff | (key[27] & 0xff) << 8;\n this.pad[6] = key[28] & 0xff | (key[29] & 0xff) << 8;\n this.pad[7] = key[30] & 0xff | (key[31] & 0xff) << 8;\n};\n\npoly1305.prototype.blocks = function(m, mpos, bytes) {\n var hibit = this.fin ? 0 : (1 << 11);\n var t0, t1, t2, t3, t4, t5, t6, t7, c;\n var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;\n\n var h0 = this.h[0],\n h1 = this.h[1],\n h2 = this.h[2],\n h3 = this.h[3],\n h4 = this.h[4],\n h5 = this.h[5],\n h6 = this.h[6],\n h7 = this.h[7],\n h8 = this.h[8],\n h9 = this.h[9];\n\n var r0 = this.r[0],\n r1 = this.r[1],\n r2 = this.r[2],\n r3 = this.r[3],\n r4 = this.r[4],\n r5 = this.r[5],\n r6 = this.r[6],\n r7 = this.r[7],\n r8 = this.r[8],\n r9 = this.r[9];\n\n while (bytes >= 16) {\n t0 = m[mpos+ 0] & 0xff | (m[mpos+ 1] & 0xff) << 8; h0 += ( t0 ) & 0x1fff;\n t1 = m[mpos+ 2] & 0xff | (m[mpos+ 3] & 0xff) << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = m[mpos+ 4] & 0xff | (m[mpos+ 5] & 0xff) << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n t3 = m[mpos+ 6] & 0xff | (m[mpos+ 7] & 0xff) << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = m[mpos+ 8] & 0xff | (m[mpos+ 9] & 0xff) << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n t5 = m[mpos+10] & 0xff | (m[mpos+11] & 0xff) << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = m[mpos+12] & 0xff | (m[mpos+13] & 0xff) << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n t7 = m[mpos+14] & 0xff | (m[mpos+15] & 0xff) << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n\n c = 0;\n\n d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13); d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13); d0 &= 0x1fff;\n\n d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13); d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13); d1 &= 0x1fff;\n\n d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13); d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13); d2 &= 0x1fff;\n\n d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13); d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13); d3 &= 0x1fff;\n\n d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13); d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13); d4 &= 0x1fff;\n\n d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13); d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13); d5 &= 0x1fff;\n\n d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13); d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13); d6 &= 0x1fff;\n\n d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13); d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13); d7 &= 0x1fff;\n\n d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13); d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13); d8 &= 0x1fff;\n\n d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13); d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13); d9 &= 0x1fff;\n\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n\n mpos += 16;\n bytes -= 16;\n }\n this.h[0] = h0;\n this.h[1] = h1;\n this.h[2] = h2;\n this.h[3] = h3;\n this.h[4] = h4;\n this.h[5] = h5;\n this.h[6] = h6;\n this.h[7] = h7;\n this.h[8] = h8;\n this.h[9] = h9;\n};\n\npoly1305.prototype.finish = function(mac, macpos) {\n var g = new Uint16Array(10);\n var c, mask, f, i;\n\n if (this.leftover) {\n i = this.leftover;\n this.buffer[i++] = 1;\n for (; i < 16; i++) this.buffer[i] = 0;\n this.fin = 1;\n this.blocks(this.buffer, 0, 16);\n }\n\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this.h[i] += c;\n c = this.h[i] >>> 13;\n this.h[i] &= 0x1fff;\n }\n this.h[0] += (c * 5);\n c = this.h[0] >>> 13;\n this.h[0] &= 0x1fff;\n this.h[1] += c;\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n this.h[2] += c;\n\n g[0] = this.h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this.h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) g[i] &= mask;\n mask = ~mask;\n for (i = 0; i < 10; i++) this.h[i] = (this.h[i] & mask) | g[i];\n\n this.h[0] = ((this.h[0] ) | (this.h[1] << 13) ) & 0xffff;\n this.h[1] = ((this.h[1] >>> 3) | (this.h[2] << 10) ) & 0xffff;\n this.h[2] = ((this.h[2] >>> 6) | (this.h[3] << 7) ) & 0xffff;\n this.h[3] = ((this.h[3] >>> 9) | (this.h[4] << 4) ) & 0xffff;\n this.h[4] = ((this.h[4] >>> 12) | (this.h[5] << 1) | (this.h[6] << 14)) & 0xffff;\n this.h[5] = ((this.h[6] >>> 2) | (this.h[7] << 11) ) & 0xffff;\n this.h[6] = ((this.h[7] >>> 5) | (this.h[8] << 8) ) & 0xffff;\n this.h[7] = ((this.h[8] >>> 8) | (this.h[9] << 5) ) & 0xffff;\n\n f = this.h[0] + this.pad[0];\n this.h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this.h[i] + this.pad[i]) | 0) + (f >>> 16)) | 0;\n this.h[i] = f & 0xffff;\n }\n\n mac[macpos+ 0] = (this.h[0] >>> 0) & 0xff;\n mac[macpos+ 1] = (this.h[0] >>> 8) & 0xff;\n mac[macpos+ 2] = (this.h[1] >>> 0) & 0xff;\n mac[macpos+ 3] = (this.h[1] >>> 8) & 0xff;\n mac[macpos+ 4] = (this.h[2] >>> 0) & 0xff;\n mac[macpos+ 5] = (this.h[2] >>> 8) & 0xff;\n mac[macpos+ 6] = (this.h[3] >>> 0) & 0xff;\n mac[macpos+ 7] = (this.h[3] >>> 8) & 0xff;\n mac[macpos+ 8] = (this.h[4] >>> 0) & 0xff;\n mac[macpos+ 9] = (this.h[4] >>> 8) & 0xff;\n mac[macpos+10] = (this.h[5] >>> 0) & 0xff;\n mac[macpos+11] = (this.h[5] >>> 8) & 0xff;\n mac[macpos+12] = (this.h[6] >>> 0) & 0xff;\n mac[macpos+13] = (this.h[6] >>> 8) & 0xff;\n mac[macpos+14] = (this.h[7] >>> 0) & 0xff;\n mac[macpos+15] = (this.h[7] >>> 8) & 0xff;\n};\n\npoly1305.prototype.update = function(m, mpos, bytes) {\n var i, want;\n\n if (this.leftover) {\n want = (16 - this.leftover);\n if (want > bytes)\n want = bytes;\n for (i = 0; i < want; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n bytes -= want;\n mpos += want;\n this.leftover += want;\n if (this.leftover < 16)\n return;\n this.blocks(this.buffer, 0, 16);\n this.leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this.blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (i = 0; i < bytes; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n this.leftover += bytes;\n }\n};\n\nfunction crypto_onetimeauth(out, outpos, m, mpos, n, k) {\n var s = new poly1305(k);\n s.update(m, mpos, n);\n s.finish(out, outpos);\n return 0;\n}\n\nfunction crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x,0,m,mpos,n,k);\n return crypto_verify_16(h,hpos,x,0);\n}\n\nfunction crypto_secretbox(c,m,d,n,k) {\n var i;\n if (d < 32) return -1;\n crypto_stream_xor(c,0,m,0,d,n,k);\n crypto_onetimeauth(c, 16, c, 32, d - 32, c);\n for (i = 0; i < 16; i++) c[i] = 0;\n return 0;\n}\n\nfunction crypto_secretbox_open(m,c,d,n,k) {\n var i;\n var x = new Uint8Array(32);\n if (d < 32) return -1;\n crypto_stream(x,0,32,n,k);\n if (crypto_onetimeauth_verify(c, 16,c, 32,d - 32,x) !== 0) return -1;\n crypto_stream_xor(m,0,c,0,d,n,k);\n for (i = 0; i < 32; i++) m[i] = 0;\n return 0;\n}\n\nfunction set25519(r, a) {\n var i;\n for (i = 0; i < 16; i++) r[i] = a[i]|0;\n}\n\nfunction car25519(o) {\n var i, v, c = 1;\n for (i = 0; i < 16; i++) {\n v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c-1 + 37 * (c-1);\n}\n\nfunction sel25519(p, q, b) {\n var t, c = ~(b-1);\n for (var i = 0; i < 16; i++) {\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for (i = 0; i < 16; i++) t[i] = n[i];\n car25519(t);\n car25519(t);\n car25519(t);\n for (j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1);\n m[i-1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1);\n b = (m[15]>>16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1-b);\n }\n for (i = 0; i < 16; i++) {\n o[2*i] = t[i] & 0xff;\n o[2*i+1] = t[i]>>8;\n }\n}\n\nfunction neq25519(a, b) {\n var c = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n}\n\nfunction par25519(a) {\n var d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\n\nfunction unpack25519(o, n) {\n var i;\n for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8);\n o[15] &= 0x7fff;\n}\n\nfunction A(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] + b[i];\n}\n\nfunction Z(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] - b[i];\n}\n\nfunction M(o, a, b) {\n var v, c,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n o[ 0] = t0;\n o[ 1] = t1;\n o[ 2] = t2;\n o[ 3] = t3;\n o[ 4] = t4;\n o[ 5] = t5;\n o[ 6] = t6;\n o[ 7] = t7;\n o[ 8] = t8;\n o[ 9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction S(o, a) {\n M(o, a, a);\n}\n\nfunction inv25519(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 253; a >= 0; a--) {\n S(c, c);\n if(a !== 2 && a !== 4) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction pow2523(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 250; a >= 0; a--) {\n S(c, c);\n if(a !== 1) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction crypto_scalarmult(q, n, p) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i;\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf();\n for (i = 0; i < 31; i++) z[i] = n[i];\n z[31]=(n[31]&127)|64;\n z[0]&=248;\n unpack25519(x,p);\n for (i = 0; i < 16; i++) {\n b[i]=x[i];\n d[i]=a[i]=c[i]=0;\n }\n a[0]=d[0]=1;\n for (i=254; i>=0; --i) {\n r=(z[i>>>3]>>>(i&7))&1;\n sel25519(a,b,r);\n sel25519(c,d,r);\n A(e,a,c);\n Z(a,a,c);\n A(c,b,d);\n Z(b,b,d);\n S(d,e);\n S(f,a);\n M(a,c,a);\n M(c,b,e);\n A(e,a,c);\n Z(a,a,c);\n S(b,a);\n Z(c,d,f);\n M(a,c,_121665);\n A(a,a,d);\n M(c,c,a);\n M(a,d,f);\n M(d,b,x);\n S(b,e);\n sel25519(a,b,r);\n sel25519(c,d,r);\n }\n for (i = 0; i < 16; i++) {\n x[i+16]=a[i];\n x[i+32]=c[i];\n x[i+48]=b[i];\n x[i+64]=d[i];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32,x32);\n M(x16,x16,x32);\n pack25519(q,x16);\n return 0;\n}\n\nfunction crypto_scalarmult_base(q, n) {\n return crypto_scalarmult(q, n, _9);\n}\n\nfunction crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n}\n\nfunction crypto_box_beforenm(k, y, x) {\n var s = new Uint8Array(32);\n crypto_scalarmult(s, x, y);\n return crypto_core_hsalsa20(k, _0, s, sigma);\n}\n\nvar crypto_box_afternm = crypto_secretbox;\nvar crypto_box_open_afternm = crypto_secretbox_open;\n\nfunction crypto_box(c, m, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c, m, d, n, k);\n}\n\nfunction crypto_box_open(m, c, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c, d, n, k);\n}\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction crypto_hashblocks_hl(hh, hl, m, n) {\n var wh = new Int32Array(16), wl = new Int32Array(16),\n bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7,\n bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7,\n th, tl, i, j, h, l, a, b, c, d;\n\n var ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n var pos = 0;\n while (n >= 128) {\n for (i = 0; i < 16; i++) {\n j = 8 * i + pos;\n wh[i] = (m[j+0] << 24) | (m[j+1] << 16) | (m[j+2] << 8) | m[j+3];\n wl[i] = (m[j+4] << 24) | (m[j+5] << 16) | (m[j+6] << 8) | m[j+7];\n }\n for (i = 0; i < 80; i++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32-14))) ^ ((ah4 >>> 18) | (al4 << (32-18))) ^ ((al4 >>> (41-32)) | (ah4 << (32-(41-32))));\n l = ((al4 >>> 14) | (ah4 << (32-14))) ^ ((al4 >>> 18) | (ah4 << (32-18))) ^ ((ah4 >>> (41-32)) | (al4 << (32-(41-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i*2];\n l = K[i*2+1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i%16];\n l = wl[i%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32-28))) ^ ((al0 >>> (34-32)) | (ah0 << (32-(34-32)))) ^ ((al0 >>> (39-32)) | (ah0 << (32-(39-32))));\n l = ((al0 >>> 28) | (ah0 << (32-28))) ^ ((ah0 >>> (34-32)) | (al0 << (32-(34-32)))) ^ ((ah0 >>> (39-32)) | (al0 << (32-(39-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i%16 === 15) {\n for (j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j+9)%16];\n l = wl[(j+9)%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j+1)%16];\n tl = wl[(j+1)%16];\n h = ((th >>> 1) | (tl << (32-1))) ^ ((th >>> 8) | (tl << (32-8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32-1))) ^ ((tl >>> 8) | (th << (32-8))) ^ ((tl >>> 7) | (th << (32-7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j+14)%16];\n tl = wl[(j+14)%16];\n h = ((th >>> 19) | (tl << (32-19))) ^ ((tl >>> (61-32)) | (th << (32-(61-32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32-19))) ^ ((th >>> (61-32)) | (tl << (32-(61-32)))) ^ ((tl >>> 6) | (th << (32-6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n n -= 128;\n }\n\n return n;\n}\n\nfunction crypto_hash(out, m, n) {\n var hh = new Int32Array(8),\n hl = new Int32Array(8),\n x = new Uint8Array(256),\n i, b = n;\n\n hh[0] = 0x6a09e667;\n hh[1] = 0xbb67ae85;\n hh[2] = 0x3c6ef372;\n hh[3] = 0xa54ff53a;\n hh[4] = 0x510e527f;\n hh[5] = 0x9b05688c;\n hh[6] = 0x1f83d9ab;\n hh[7] = 0x5be0cd19;\n\n hl[0] = 0xf3bcc908;\n hl[1] = 0x84caa73b;\n hl[2] = 0xfe94f82b;\n hl[3] = 0x5f1d36f1;\n hl[4] = 0xade682d1;\n hl[5] = 0x2b3e6c1f;\n hl[6] = 0xfb41bd6b;\n hl[7] = 0x137e2179;\n\n crypto_hashblocks_hl(hh, hl, m, n);\n n %= 128;\n\n for (i = 0; i < n; i++) x[i] = m[b-n+i];\n x[n] = 128;\n\n n = 256-128*(n<112?1:0);\n x[n-9] = 0;\n ts64(x, n-8, (b / 0x20000000) | 0, b << 3);\n crypto_hashblocks_hl(hh, hl, x, n);\n\n for (i = 0; i < 8; i++) ts64(out, 8*i, hh[i], hl[i]);\n\n return 0;\n}\n\nfunction add(p, q) {\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf();\n\n Z(a, p[1], p[0]);\n Z(t, q[1], q[0]);\n M(a, a, t);\n A(b, p[0], p[1]);\n A(t, q[0], q[1]);\n M(b, b, t);\n M(c, p[3], q[3]);\n M(c, c, D2);\n M(d, p[2], q[2]);\n A(d, d, d);\n Z(e, b, a);\n Z(f, d, c);\n A(g, d, c);\n A(h, b, a);\n\n M(p[0], e, f);\n M(p[1], h, g);\n M(p[2], g, f);\n M(p[3], e, h);\n}\n\nfunction cswap(p, q, b) {\n var i;\n for (i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\n\nfunction pack(r, p) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n M(tx, p[0], zi);\n M(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p, q, s) {\n var b, i;\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (i = 255; i >= 0; --i) {\n b = (s[(i/8)|0] >> (i&7)) & 1;\n cswap(p, q, b);\n add(q, p);\n add(p, p);\n cswap(p, q, b);\n }\n}\n\nfunction scalarbase(p, s) {\n var q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p, q, s);\n}\n\nfunction crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()];\n var i;\n\n if (!seeded) randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n scalarbase(p, d);\n pack(pk, p);\n\n for (i = 0; i < 32; i++) sk[i+32] = pk[i];\n return 0;\n}\n\nvar L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]);\n\nfunction modL(r, x) {\n var carry, i, j, k;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) x[j] -= carry * L[j];\n for (i = 0; i < 32; i++) {\n x[i+1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\n\nfunction reduce(r) {\n var x = new Float64Array(64), i;\n for (i = 0; i < 64; i++) x[i] = r[i];\n for (i = 0; i < 64; i++) r[i] = 0;\n modL(r, x);\n}\n\n// Note: difference from C - smlen returned, not passed as argument.\nfunction crypto_sign(sm, m, n, sk) {\n var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64);\n var i, j, x = new Float64Array(64);\n var p = [gf(), gf(), gf(), gf()];\n\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n var smlen = n + 64;\n for (i = 0; i < n; i++) sm[64 + i] = m[i];\n for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i];\n\n crypto_hash(r, sm.subarray(32), n+32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n\n for (i = 32; i < 64; i++) sm[i] = sk[i];\n crypto_hash(h, sm, n + 64);\n reduce(h);\n\n for (i = 0; i < 64; i++) x[i] = 0;\n for (i = 0; i < 32; i++) x[i] = r[i];\n for (i = 0; i < 32; i++) {\n for (j = 0; j < 32; j++) {\n x[i+j] += h[i] * d[j];\n }\n }\n\n modL(sm.subarray(32), x);\n return smlen;\n}\n\nfunction unpackneg(r, p) {\n var t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf();\n\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t, den6, num);\n M(t, t, den);\n\n pow2523(t, t);\n M(t, t, num);\n M(t, t, den);\n M(t, t, den);\n M(r[0], t, den);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) M(r[0], r[0], I);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) return -1;\n\n if (par25519(r[0]) === (p[31]>>7)) Z(r[0], gf0, r[0]);\n\n M(r[3], r[0], r[1]);\n return 0;\n}\n\nfunction crypto_sign_open(m, sm, n, pk) {\n var i;\n var t = new Uint8Array(32), h = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()],\n q = [gf(), gf(), gf(), gf()];\n\n if (n < 64) return -1;\n\n if (unpackneg(q, pk)) return -1;\n\n for (i = 0; i < n; i++) m[i] = sm[i];\n for (i = 0; i < 32; i++) m[i+32] = pk[i];\n crypto_hash(h, m, n);\n reduce(h);\n scalarmult(p, q, h);\n\n scalarbase(q, sm.subarray(32));\n add(p, q);\n pack(t, p);\n\n n -= 64;\n if (crypto_verify_32(sm, 0, t, 0)) {\n for (i = 0; i < n; i++) m[i] = 0;\n return -1;\n }\n\n for (i = 0; i < n; i++) m[i] = sm[i + 64];\n return n;\n}\n\nvar crypto_secretbox_KEYBYTES = 32,\n crypto_secretbox_NONCEBYTES = 24,\n crypto_secretbox_ZEROBYTES = 32,\n crypto_secretbox_BOXZEROBYTES = 16,\n crypto_scalarmult_BYTES = 32,\n crypto_scalarmult_SCALARBYTES = 32,\n crypto_box_PUBLICKEYBYTES = 32,\n crypto_box_SECRETKEYBYTES = 32,\n crypto_box_BEFORENMBYTES = 32,\n crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES,\n crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES,\n crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES,\n crypto_sign_BYTES = 64,\n crypto_sign_PUBLICKEYBYTES = 32,\n crypto_sign_SECRETKEYBYTES = 64,\n crypto_sign_SEEDBYTES = 32,\n crypto_hash_BYTES = 64;\n\nnacl.lowlevel = {\n crypto_core_hsalsa20: crypto_core_hsalsa20,\n crypto_stream_xor: crypto_stream_xor,\n crypto_stream: crypto_stream,\n crypto_stream_salsa20_xor: crypto_stream_salsa20_xor,\n crypto_stream_salsa20: crypto_stream_salsa20,\n crypto_onetimeauth: crypto_onetimeauth,\n crypto_onetimeauth_verify: crypto_onetimeauth_verify,\n crypto_verify_16: crypto_verify_16,\n crypto_verify_32: crypto_verify_32,\n crypto_secretbox: crypto_secretbox,\n crypto_secretbox_open: crypto_secretbox_open,\n crypto_scalarmult: crypto_scalarmult,\n crypto_scalarmult_base: crypto_scalarmult_base,\n crypto_box_beforenm: crypto_box_beforenm,\n crypto_box_afternm: crypto_box_afternm,\n crypto_box: crypto_box,\n crypto_box_open: crypto_box_open,\n crypto_box_keypair: crypto_box_keypair,\n crypto_hash: crypto_hash,\n crypto_sign: crypto_sign,\n crypto_sign_keypair: crypto_sign_keypair,\n crypto_sign_open: crypto_sign_open,\n\n crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES: crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES: crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES: crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES: crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES,\n crypto_hash_BYTES: crypto_hash_BYTES,\n\n gf: gf,\n D: D,\n L: L,\n pack25519: pack25519,\n unpack25519: unpack25519,\n M: M,\n A: A,\n S: S,\n Z: Z,\n pow2523: pow2523,\n add: add,\n set25519: set25519,\n modL: modL,\n scalarmult: scalarmult,\n scalarbase: scalarbase,\n};\n\n/* High-level API */\n\nfunction checkLengths(k, n) {\n if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size');\n if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size');\n}\n\nfunction checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size');\n if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n}\n\nfunction checkArrayTypes() {\n for (var i = 0; i < arguments.length; i++) {\n if (!(arguments[i] instanceof Uint8Array))\n throw new TypeError('unexpected type, use Uint8Array');\n }\n}\n\nfunction cleanup(arr) {\n for (var i = 0; i < arr.length; i++) arr[i] = 0;\n}\n\nnacl.randomBytes = function(n) {\n var b = new Uint8Array(n);\n randombytes(b, n);\n return b;\n};\n\nnacl.secretbox = function(msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c = new Uint8Array(m.length);\n for (var i = 0; i < msg.length; i++) m[i+crypto_secretbox_ZEROBYTES] = msg[i];\n crypto_secretbox(c, m, m.length, nonce, key);\n return c.subarray(crypto_secretbox_BOXZEROBYTES);\n};\n\nnacl.secretbox.open = function(box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c.length);\n for (var i = 0; i < box.length; i++) c[i+crypto_secretbox_BOXZEROBYTES] = box[i];\n if (c.length < 32) return null;\n if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n};\n\nnacl.secretbox.keyLength = crypto_secretbox_KEYBYTES;\nnacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\nnacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n\nnacl.scalarMult = function(n, p) {\n checkArrayTypes(n, p);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n, p);\n return q;\n};\n\nnacl.scalarMult.base = function(n) {\n checkArrayTypes(n);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n);\n return q;\n};\n\nnacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\nnacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n\nnacl.box = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox(msg, nonce, k);\n};\n\nnacl.box.before = function(publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n};\n\nnacl.box.after = nacl.secretbox;\n\nnacl.box.open = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox.open(msg, nonce, k);\n};\n\nnacl.box.open.after = nacl.secretbox.open;\n\nnacl.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\nnacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\nnacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\nnacl.box.nonceLength = crypto_box_NONCEBYTES;\nnacl.box.overheadLength = nacl.secretbox.overheadLength;\n\nnacl.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var signedMsg = new Uint8Array(crypto_sign_BYTES+msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n};\n\nnacl.sign.open = function(signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error('bad public key size');\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0) return null;\n var m = new Uint8Array(mlen);\n for (var i = 0; i < m.length; i++) m[i] = tmp[i];\n return m;\n};\n\nnacl.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i];\n return sig;\n};\n\nnacl.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES)\n throw new Error('bad signature size');\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error('bad public key size');\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i;\n for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i];\n for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i];\n return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0);\n};\n\nnacl.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for (var i = 0; i < pk.length; i++) pk[i] = secretKey[32+i];\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES)\n throw new Error('bad seed size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for (var i = 0; i < 32; i++) sk[i] = seed[i];\n crypto_sign_keypair(pk, sk, true);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\nnacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\nnacl.sign.seedLength = crypto_sign_SEEDBYTES;\nnacl.sign.signatureLength = crypto_sign_BYTES;\n\nnacl.hash = function(msg) {\n checkArrayTypes(msg);\n var h = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h, msg, msg.length);\n return h;\n};\n\nnacl.hash.hashLength = crypto_hash_BYTES;\n\nnacl.verify = function(x, y) {\n checkArrayTypes(x, y);\n // Zero length arguments are considered not equal.\n if (x.length === 0 || y.length === 0) return false;\n if (x.length !== y.length) return false;\n return (vn(x, 0, y, 0, x.length) === 0) ? true : false;\n};\n\nnacl.setPRNG = function(fn) {\n randombytes = fn;\n};\n\n(function() {\n // Initialize PRNG if environment provides CSPRNG.\n // If not, methods calling randombytes will throw.\n var crypto = typeof self !== 'undefined' ? (self.crypto || self.msCrypto) : null;\n if (crypto && crypto.getRandomValues) {\n // Browsers.\n var QUOTA = 65536;\n nacl.setPRNG(function(x, n) {\n var i, v = new Uint8Array(n);\n for (i = 0; i < n; i += QUOTA) {\n crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n }\n for (i = 0; i < n; i++) x[i] = v[i];\n cleanup(v);\n });\n } else if (typeof require !== 'undefined') {\n // Node.js.\n crypto = require('crypto');\n if (crypto && crypto.randomBytes) {\n nacl.setPRNG(function(x, n) {\n var i, v = crypto.randomBytes(n);\n for (i = 0; i < n; i++) x[i] = v[i];\n cleanup(v);\n });\n }\n }\n})();\n\n})(typeof module !== 'undefined' && module.exports ? module.exports : (self.nacl = self.nacl || {}));\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","\"use strict\";exports.KEYBOARD_EVENT_KEY={ENTER:\"Enter\",SPACE:\" \",ESCAPE:\"Escape\",TAB:\"Tab\",BACKSPACE:\"Backspace\",ARROW_UP:\"ArrowUp\",ARROW_DOWN:\"ArrowDown\",ARROW_LEFT:\"ArrowLeft\",ARROW_RIGHT:\"ArrowRight\",CMD:\"\",SHIFT:\"Shift\"};\n","import * as txnBuilder from './transaction';\nimport * as nacl from './nacl/naclWrappers';\nimport * as encoding from './encoding/encoding';\nimport * as address from './encoding/address';\nimport * as utils from './utils/utils';\nconst ALGORAND_MAX_TX_GROUP_SIZE = 16;\n/**\n * Aux class for group id calculation of a group of transactions\n */\nexport class TxGroup {\n constructor(hashes) {\n this.name = 'Transaction group';\n this.tag = Buffer.from('TG');\n if (hashes.length > ALGORAND_MAX_TX_GROUP_SIZE) {\n const errorMsg = `${hashes.length.toString()} transactions grouped together but max group size is ${ALGORAND_MAX_TX_GROUP_SIZE.toString()}`;\n throw Error(errorMsg);\n }\n this.txGroupHashes = hashes;\n }\n // eslint-disable-next-line camelcase\n get_obj_for_encoding() {\n const txgroup = {\n txlist: this.txGroupHashes,\n };\n return txgroup;\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(txgroupForEnc) {\n const txn = Object.create(this.prototype);\n txn.name = 'Transaction group';\n txn.tag = Buffer.from('TG');\n txn.txGroupHashes = [];\n for (const hash of txgroupForEnc.txlist) {\n txn.txGroupHashes.push(Buffer.from(hash));\n }\n return txn;\n }\n toByte() {\n return encoding.encode(this.get_obj_for_encoding());\n }\n}\n/**\n * computeGroupID returns group ID for a group of transactions\n * @param txns - array of transactions (every element is a dict or Transaction)\n * @returns Buffer\n */\nexport function computeGroupID(txns) {\n const hashes = [];\n for (const txn of txns) {\n const tx = txnBuilder.instantiateTxnIfNeeded(txn);\n hashes.push(tx.rawTxID());\n }\n const txgroup = new TxGroup(hashes);\n const bytes = txgroup.toByte();\n const toBeHashed = Buffer.from(utils.concatArrays(txgroup.tag, bytes));\n const gid = nacl.genericHash(toBeHashed);\n return Buffer.from(gid);\n}\n/**\n * assignGroupID assigns group id to a given list of unsigned transactions\n * @param txns - array of transactions (every element is a dict or Transaction)\n * @param from - optional sender address specifying which transaction return\n * @returns possible list of matching transactions\n */\nexport function assignGroupID(txns, from) {\n const gid = computeGroupID(txns);\n const result = [];\n for (const txn of txns) {\n const tx = txnBuilder.instantiateTxnIfNeeded(txn);\n if (!from || address.encodeAddress(tx.from.publicKey) === from) {\n tx.group = gid;\n result.push(tx);\n }\n }\n return result;\n}\nexport default TxGroup;\n//# sourceMappingURL=group.js.map","/**\n * Configure how integers in JSON response will be decoded.\n */\nvar IntDecoding;\n(function (IntDecoding) {\n /**\n * All integers will be decoded as Numbers, meaning any values greater than\n * Number.MAX_SAFE_INTEGER will lose precision.\n */\n IntDecoding[\"DEFAULT\"] = \"default\";\n /**\n * All integers will be decoded as Numbers, but if any values are greater than\n * Number.MAX_SAFE_INTEGER an error will be thrown.\n */\n IntDecoding[\"SAFE\"] = \"safe\";\n /**\n * Integers will be decoded as Numbers if they are less than or equal to\n * Number.MAX_SAFE_INTEGER, otherwise they will be decoded as BigInts.\n */\n IntDecoding[\"MIXED\"] = \"mixed\";\n /**\n * All integers will be decoded as BigInts.\n */\n IntDecoding[\"BIGINT\"] = \"bigint\";\n})(IntDecoding || (IntDecoding = {}));\nexport default IntDecoding;\n//# sourceMappingURL=intDecoding.js.map","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=e(require(\"react\")),a=e(require(\"classnames\")),i=require(\"./keyboardEventConstants-5e9cc0de.js\");module.exports=function(e){var r=e.id,s=e.testid,l=e.children,c=e.customClassName,n=e.clickableListItemProps,d=e.role,o=e.ariaSelected,u=e.listItemRef,m=a(\"list-item\",c),f=t.createElement(\"li\",{ref:u,id:r,\"data-testid\":s,className:m,role:d,\"aria-selected\":o},l);return n&&(f=t.createElement(\"li\",{ref:u,id:r,\"data-testid\":s,className:m},t.createElement(\"div\",{role:\"button\",tabIndex:n.tabIndex||0,className:\"list-item__click-wrapper\",onClick:E,onKeyPress:function(e){e.key===i.KEYBOARD_EVENT_KEY.ENTER&&E(e)}},l))),f;function E(e){n.onClick(e)}};\n","\"use strict\";var e=require(\"./_tslib-b1014349.js\"),r=\"undefined\"!=typeof navigator?navigator.language:\"en-GB\";function t(t){var n,o=t.locale,i=e.__rest(t,[\"locale\"]),a=e.__assign({style:\"decimal\"},i);try{n=new Intl.NumberFormat(o||[r,\"en-GB\"],a)}catch(e){n={format:function(e){return e.toLocaleString(o)}}}return function(e){var r=\"\";return Object.is(e,NaN)||(r=n.format(e)),r}}function n(e){void 0===e&&(e=r);var t=new Intl.NumberFormat(e).formatToParts(-12345.6);return{THOUSANDTHS_SEPARATOR:t.find((function(e){return\"group\"===e.type})).value,DECIMAL_NUMBER_SEPARATOR:t.find((function(e){return\"decimal\"===e.type})).value,MINUS_SIGN:t.find((function(e){return\"minusSign\"===e.type})).value}}function o(e){return void 0===e&&(e=r),new Intl.NumberFormat(e,{useGrouping:!1}).format(9876543210).split(\"\").reverse()}function i(e){void 0===e&&(e=r);var t=o(e)[0],i=n(e).MINUS_SIGN;return{LOCALE_NEGATIVE_ZERO:\"\"+i+t,LOCALE_NEGATIVE_DOUBLE_ZERO:\"\"+i+t+t,DEFAULT_NEGATIVE_ZERO:\"-0\",DEFAULT_NEGATIVE_DOUBLE_ZERO:\"-00\"}}exports.formatNumber=t,exports.getNegativeZero=i,exports.getNumberSeparators=n,exports.getThousandthSeparatorCount=function(e){var r;return(null===(r=t({locale:\"en\"})(parseFloat(e)).match(/,/g))||void 0===r?void 0:r.length)||0},exports.isNonNegativeNumber=function(e){return\"number\"==typeof e&&Number.isFinite(e)&&e>=0},exports.mapDigitsToLocalVersion=function(e,t){var n=e.locale,i=void 0===n?r:n;return t.split(\"\").map(function(e){var t=e.locale,n=o(void 0===t?r:t),i=new Map(n.map((function(e,r){return[r,e]})));return function(e){return i.get(parseInt(e))}}({locale:i})).join(\"\")},exports.parseNumber=function(t,i){var a,u=t.locale,l=void 0===u?r:u,E=t.maximumFractionDigits,c=void 0===E?0:E,p=n(l),s=p.THOUSANDTHS_SEPARATOR,_=p.DECIMAL_NUMBER_SEPARATOR,f=o(l),g=new RegExp(\"[\"+f.join(\"\")+\"]\",\"g\"),v=(a=new Map(f.map((function(e,r){return[e,r]}))),function(e){var r=a.get(e);return\"number\"==typeof r?String(r):\"\"}),m=i.replace(\" \",\"\").replace(new RegExp(\"[\"+s+\"]\",\"g\"),\"\").replace(new RegExp(\"[\"+_+\"]\"),\".\").replace(g,v);if(\"number\"==typeof c){var N=e.__read(m.split(\".\"),2),A=N[0],O=N[1];if(0===c)m=A;else if(O&&O.length===c+1)return m.slice(0,m.length-1)}else m=String(m);return m},exports.removeLeadingZeros=function(e,t){var o;void 0===e&&(e=r);var a=i(e),u=a.LOCALE_NEGATIVE_ZERO,l=a.LOCALE_NEGATIVE_DOUBLE_ZERO,E=a.DEFAULT_NEGATIVE_ZERO,c=a.DEFAULT_NEGATIVE_DOUBLE_ZERO,p=n(e).MINUS_SIGN,s=t.split(\".\")[1],_=t.split(\".\")[0];return _!==l&&_!==c||(_=E),_&&_.length!==String(parseInt(_)).length&&_!==p&&_!==u&&_!==E&&(_=String(parseInt(_))),(null===(o=t.match(/\\.$/))||void 0===o?void 0:o.length)||s?_+\".\"+s:_};\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=e(require(\"react\")),l=e(require(\"classnames\"));module.exports=function(e){var n=e.color,r=void 0===n?\"#150F2A\":n,a=e.customClassName,i=l(\"spinner\",a);return t.createElement(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",className:i,xmlns:\"http://www.w3.org/2000/svg\"},t.createElement(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10C0 15.5228 4.47715 20 10 20ZM10 17.4737C14.1276 17.4737 17.4737 14.1276 17.4737 10C17.4737 5.8724 14.1276 2.52632 10 2.52632C5.8724 2.52632 2.52632 5.8724 2.52632 10C2.52632 14.1276 5.8724 17.4737 10 17.4737Z\",fill:\"url(#paint0_linear)\"}),t.createElement(\"defs\",null,t.createElement(\"linearGradient\",{id:\"paint0_linear\",x1:\"20\",y1:\"10.0351\",x2:\"4.52632\",y2:\"10.0351\",gradientUnits:\"userSpaceOnUse\"},t.createElement(\"stop\",{stopColor:r}),t.createElement(\"stop\",{offset:\"1\",stopColor:\"white\",stopOpacity:\"0\"}))))};\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const english = [\n 'abandon',\n 'ability',\n 'able',\n 'about',\n 'above',\n 'absent',\n 'absorb',\n 'abstract',\n 'absurd',\n 'abuse',\n 'access',\n 'accident',\n 'account',\n 'accuse',\n 'achieve',\n 'acid',\n 'acoustic',\n 'acquire',\n 'across',\n 'act',\n 'action',\n 'actor',\n 'actress',\n 'actual',\n 'adapt',\n 'add',\n 'addict',\n 'address',\n 'adjust',\n 'admit',\n 'adult',\n 'advance',\n 'advice',\n 'aerobic',\n 'affair',\n 'afford',\n 'afraid',\n 'again',\n 'age',\n 'agent',\n 'agree',\n 'ahead',\n 'aim',\n 'air',\n 'airport',\n 'aisle',\n 'alarm',\n 'album',\n 'alcohol',\n 'alert',\n 'alien',\n 'all',\n 'alley',\n 'allow',\n 'almost',\n 'alone',\n 'alpha',\n 'already',\n 'also',\n 'alter',\n 'always',\n 'amateur',\n 'amazing',\n 'among',\n 'amount',\n 'amused',\n 'analyst',\n 'anchor',\n 'ancient',\n 'anger',\n 'angle',\n 'angry',\n 'animal',\n 'ankle',\n 'announce',\n 'annual',\n 'another',\n 'answer',\n 'antenna',\n 'antique',\n 'anxiety',\n 'any',\n 'apart',\n 'apology',\n 'appear',\n 'apple',\n 'approve',\n 'april',\n 'arch',\n 'arctic',\n 'area',\n 'arena',\n 'argue',\n 'arm',\n 'armed',\n 'armor',\n 'army',\n 'around',\n 'arrange',\n 'arrest',\n 'arrive',\n 'arrow',\n 'art',\n 'artefact',\n 'artist',\n 'artwork',\n 'ask',\n 'aspect',\n 'assault',\n 'asset',\n 'assist',\n 'assume',\n 'asthma',\n 'athlete',\n 'atom',\n 'attack',\n 'attend',\n 'attitude',\n 'attract',\n 'auction',\n 'audit',\n 'august',\n 'aunt',\n 'author',\n 'auto',\n 'autumn',\n 'average',\n 'avocado',\n 'avoid',\n 'awake',\n 'aware',\n 'away',\n 'awesome',\n 'awful',\n 'awkward',\n 'axis',\n 'baby',\n 'bachelor',\n 'bacon',\n 'badge',\n 'bag',\n 'balance',\n 'balcony',\n 'ball',\n 'bamboo',\n 'banana',\n 'banner',\n 'bar',\n 'barely',\n 'bargain',\n 'barrel',\n 'base',\n 'basic',\n 'basket',\n 'battle',\n 'beach',\n 'bean',\n 'beauty',\n 'because',\n 'become',\n 'beef',\n 'before',\n 'begin',\n 'behave',\n 'behind',\n 'believe',\n 'below',\n 'belt',\n 'bench',\n 'benefit',\n 'best',\n 'betray',\n 'better',\n 'between',\n 'beyond',\n 'bicycle',\n 'bid',\n 'bike',\n 'bind',\n 'biology',\n 'bird',\n 'birth',\n 'bitter',\n 'black',\n 'blade',\n 'blame',\n 'blanket',\n 'blast',\n 'bleak',\n 'bless',\n 'blind',\n 'blood',\n 'blossom',\n 'blouse',\n 'blue',\n 'blur',\n 'blush',\n 'board',\n 'boat',\n 'body',\n 'boil',\n 'bomb',\n 'bone',\n 'bonus',\n 'book',\n 'boost',\n 'border',\n 'boring',\n 'borrow',\n 'boss',\n 'bottom',\n 'bounce',\n 'box',\n 'boy',\n 'bracket',\n 'brain',\n 'brand',\n 'brass',\n 'brave',\n 'bread',\n 'breeze',\n 'brick',\n 'bridge',\n 'brief',\n 'bright',\n 'bring',\n 'brisk',\n 'broccoli',\n 'broken',\n 'bronze',\n 'broom',\n 'brother',\n 'brown',\n 'brush',\n 'bubble',\n 'buddy',\n 'budget',\n 'buffalo',\n 'build',\n 'bulb',\n 'bulk',\n 'bullet',\n 'bundle',\n 'bunker',\n 'burden',\n 'burger',\n 'burst',\n 'bus',\n 'business',\n 'busy',\n 'butter',\n 'buyer',\n 'buzz',\n 'cabbage',\n 'cabin',\n 'cable',\n 'cactus',\n 'cage',\n 'cake',\n 'call',\n 'calm',\n 'camera',\n 'camp',\n 'can',\n 'canal',\n 'cancel',\n 'candy',\n 'cannon',\n 'canoe',\n 'canvas',\n 'canyon',\n 'capable',\n 'capital',\n 'captain',\n 'car',\n 'carbon',\n 'card',\n 'cargo',\n 'carpet',\n 'carry',\n 'cart',\n 'case',\n 'cash',\n 'casino',\n 'castle',\n 'casual',\n 'cat',\n 'catalog',\n 'catch',\n 'category',\n 'cattle',\n 'caught',\n 'cause',\n 'caution',\n 'cave',\n 'ceiling',\n 'celery',\n 'cement',\n 'census',\n 'century',\n 'cereal',\n 'certain',\n 'chair',\n 'chalk',\n 'champion',\n 'change',\n 'chaos',\n 'chapter',\n 'charge',\n 'chase',\n 'chat',\n 'cheap',\n 'check',\n 'cheese',\n 'chef',\n 'cherry',\n 'chest',\n 'chicken',\n 'chief',\n 'child',\n 'chimney',\n 'choice',\n 'choose',\n 'chronic',\n 'chuckle',\n 'chunk',\n 'churn',\n 'cigar',\n 'cinnamon',\n 'circle',\n 'citizen',\n 'city',\n 'civil',\n 'claim',\n 'clap',\n 'clarify',\n 'claw',\n 'clay',\n 'clean',\n 'clerk',\n 'clever',\n 'click',\n 'client',\n 'cliff',\n 'climb',\n 'clinic',\n 'clip',\n 'clock',\n 'clog',\n 'close',\n 'cloth',\n 'cloud',\n 'clown',\n 'club',\n 'clump',\n 'cluster',\n 'clutch',\n 'coach',\n 'coast',\n 'coconut',\n 'code',\n 'coffee',\n 'coil',\n 'coin',\n 'collect',\n 'color',\n 'column',\n 'combine',\n 'come',\n 'comfort',\n 'comic',\n 'common',\n 'company',\n 'concert',\n 'conduct',\n 'confirm',\n 'congress',\n 'connect',\n 'consider',\n 'control',\n 'convince',\n 'cook',\n 'cool',\n 'copper',\n 'copy',\n 'coral',\n 'core',\n 'corn',\n 'correct',\n 'cost',\n 'cotton',\n 'couch',\n 'country',\n 'couple',\n 'course',\n 'cousin',\n 'cover',\n 'coyote',\n 'crack',\n 'cradle',\n 'craft',\n 'cram',\n 'crane',\n 'crash',\n 'crater',\n 'crawl',\n 'crazy',\n 'cream',\n 'credit',\n 'creek',\n 'crew',\n 'cricket',\n 'crime',\n 'crisp',\n 'critic',\n 'crop',\n 'cross',\n 'crouch',\n 'crowd',\n 'crucial',\n 'cruel',\n 'cruise',\n 'crumble',\n 'crunch',\n 'crush',\n 'cry',\n 'crystal',\n 'cube',\n 'culture',\n 'cup',\n 'cupboard',\n 'curious',\n 'current',\n 'curtain',\n 'curve',\n 'cushion',\n 'custom',\n 'cute',\n 'cycle',\n 'dad',\n 'damage',\n 'damp',\n 'dance',\n 'danger',\n 'daring',\n 'dash',\n 'daughter',\n 'dawn',\n 'day',\n 'deal',\n 'debate',\n 'debris',\n 'decade',\n 'december',\n 'decide',\n 'decline',\n 'decorate',\n 'decrease',\n 'deer',\n 'defense',\n 'define',\n 'defy',\n 'degree',\n 'delay',\n 'deliver',\n 'demand',\n 'demise',\n 'denial',\n 'dentist',\n 'deny',\n 'depart',\n 'depend',\n 'deposit',\n 'depth',\n 'deputy',\n 'derive',\n 'describe',\n 'desert',\n 'design',\n 'desk',\n 'despair',\n 'destroy',\n 'detail',\n 'detect',\n 'develop',\n 'device',\n 'devote',\n 'diagram',\n 'dial',\n 'diamond',\n 'diary',\n 'dice',\n 'diesel',\n 'diet',\n 'differ',\n 'digital',\n 'dignity',\n 'dilemma',\n 'dinner',\n 'dinosaur',\n 'direct',\n 'dirt',\n 'disagree',\n 'discover',\n 'disease',\n 'dish',\n 'dismiss',\n 'disorder',\n 'display',\n 'distance',\n 'divert',\n 'divide',\n 'divorce',\n 'dizzy',\n 'doctor',\n 'document',\n 'dog',\n 'doll',\n 'dolphin',\n 'domain',\n 'donate',\n 'donkey',\n 'donor',\n 'door',\n 'dose',\n 'double',\n 'dove',\n 'draft',\n 'dragon',\n 'drama',\n 'drastic',\n 'draw',\n 'dream',\n 'dress',\n 'drift',\n 'drill',\n 'drink',\n 'drip',\n 'drive',\n 'drop',\n 'drum',\n 'dry',\n 'duck',\n 'dumb',\n 'dune',\n 'during',\n 'dust',\n 'dutch',\n 'duty',\n 'dwarf',\n 'dynamic',\n 'eager',\n 'eagle',\n 'early',\n 'earn',\n 'earth',\n 'easily',\n 'east',\n 'easy',\n 'echo',\n 'ecology',\n 'economy',\n 'edge',\n 'edit',\n 'educate',\n 'effort',\n 'egg',\n 'eight',\n 'either',\n 'elbow',\n 'elder',\n 'electric',\n 'elegant',\n 'element',\n 'elephant',\n 'elevator',\n 'elite',\n 'else',\n 'embark',\n 'embody',\n 'embrace',\n 'emerge',\n 'emotion',\n 'employ',\n 'empower',\n 'empty',\n 'enable',\n 'enact',\n 'end',\n 'endless',\n 'endorse',\n 'enemy',\n 'energy',\n 'enforce',\n 'engage',\n 'engine',\n 'enhance',\n 'enjoy',\n 'enlist',\n 'enough',\n 'enrich',\n 'enroll',\n 'ensure',\n 'enter',\n 'entire',\n 'entry',\n 'envelope',\n 'episode',\n 'equal',\n 'equip',\n 'era',\n 'erase',\n 'erode',\n 'erosion',\n 'error',\n 'erupt',\n 'escape',\n 'essay',\n 'essence',\n 'estate',\n 'eternal',\n 'ethics',\n 'evidence',\n 'evil',\n 'evoke',\n 'evolve',\n 'exact',\n 'example',\n 'excess',\n 'exchange',\n 'excite',\n 'exclude',\n 'excuse',\n 'execute',\n 'exercise',\n 'exhaust',\n 'exhibit',\n 'exile',\n 'exist',\n 'exit',\n 'exotic',\n 'expand',\n 'expect',\n 'expire',\n 'explain',\n 'expose',\n 'express',\n 'extend',\n 'extra',\n 'eye',\n 'eyebrow',\n 'fabric',\n 'face',\n 'faculty',\n 'fade',\n 'faint',\n 'faith',\n 'fall',\n 'false',\n 'fame',\n 'family',\n 'famous',\n 'fan',\n 'fancy',\n 'fantasy',\n 'farm',\n 'fashion',\n 'fat',\n 'fatal',\n 'father',\n 'fatigue',\n 'fault',\n 'favorite',\n 'feature',\n 'february',\n 'federal',\n 'fee',\n 'feed',\n 'feel',\n 'female',\n 'fence',\n 'festival',\n 'fetch',\n 'fever',\n 'few',\n 'fiber',\n 'fiction',\n 'field',\n 'figure',\n 'file',\n 'film',\n 'filter',\n 'final',\n 'find',\n 'fine',\n 'finger',\n 'finish',\n 'fire',\n 'firm',\n 'first',\n 'fiscal',\n 'fish',\n 'fit',\n 'fitness',\n 'fix',\n 'flag',\n 'flame',\n 'flash',\n 'flat',\n 'flavor',\n 'flee',\n 'flight',\n 'flip',\n 'float',\n 'flock',\n 'floor',\n 'flower',\n 'fluid',\n 'flush',\n 'fly',\n 'foam',\n 'focus',\n 'fog',\n 'foil',\n 'fold',\n 'follow',\n 'food',\n 'foot',\n 'force',\n 'forest',\n 'forget',\n 'fork',\n 'fortune',\n 'forum',\n 'forward',\n 'fossil',\n 'foster',\n 'found',\n 'fox',\n 'fragile',\n 'frame',\n 'frequent',\n 'fresh',\n 'friend',\n 'fringe',\n 'frog',\n 'front',\n 'frost',\n 'frown',\n 'frozen',\n 'fruit',\n 'fuel',\n 'fun',\n 'funny',\n 'furnace',\n 'fury',\n 'future',\n 'gadget',\n 'gain',\n 'galaxy',\n 'gallery',\n 'game',\n 'gap',\n 'garage',\n 'garbage',\n 'garden',\n 'garlic',\n 'garment',\n 'gas',\n 'gasp',\n 'gate',\n 'gather',\n 'gauge',\n 'gaze',\n 'general',\n 'genius',\n 'genre',\n 'gentle',\n 'genuine',\n 'gesture',\n 'ghost',\n 'giant',\n 'gift',\n 'giggle',\n 'ginger',\n 'giraffe',\n 'girl',\n 'give',\n 'glad',\n 'glance',\n 'glare',\n 'glass',\n 'glide',\n 'glimpse',\n 'globe',\n 'gloom',\n 'glory',\n 'glove',\n 'glow',\n 'glue',\n 'goat',\n 'goddess',\n 'gold',\n 'good',\n 'goose',\n 'gorilla',\n 'gospel',\n 'gossip',\n 'govern',\n 'gown',\n 'grab',\n 'grace',\n 'grain',\n 'grant',\n 'grape',\n 'grass',\n 'gravity',\n 'great',\n 'green',\n 'grid',\n 'grief',\n 'grit',\n 'grocery',\n 'group',\n 'grow',\n 'grunt',\n 'guard',\n 'guess',\n 'guide',\n 'guilt',\n 'guitar',\n 'gun',\n 'gym',\n 'habit',\n 'hair',\n 'half',\n 'hammer',\n 'hamster',\n 'hand',\n 'happy',\n 'harbor',\n 'hard',\n 'harsh',\n 'harvest',\n 'hat',\n 'have',\n 'hawk',\n 'hazard',\n 'head',\n 'health',\n 'heart',\n 'heavy',\n 'hedgehog',\n 'height',\n 'hello',\n 'helmet',\n 'help',\n 'hen',\n 'hero',\n 'hidden',\n 'high',\n 'hill',\n 'hint',\n 'hip',\n 'hire',\n 'history',\n 'hobby',\n 'hockey',\n 'hold',\n 'hole',\n 'holiday',\n 'hollow',\n 'home',\n 'honey',\n 'hood',\n 'hope',\n 'horn',\n 'horror',\n 'horse',\n 'hospital',\n 'host',\n 'hotel',\n 'hour',\n 'hover',\n 'hub',\n 'huge',\n 'human',\n 'humble',\n 'humor',\n 'hundred',\n 'hungry',\n 'hunt',\n 'hurdle',\n 'hurry',\n 'hurt',\n 'husband',\n 'hybrid',\n 'ice',\n 'icon',\n 'idea',\n 'identify',\n 'idle',\n 'ignore',\n 'ill',\n 'illegal',\n 'illness',\n 'image',\n 'imitate',\n 'immense',\n 'immune',\n 'impact',\n 'impose',\n 'improve',\n 'impulse',\n 'inch',\n 'include',\n 'income',\n 'increase',\n 'index',\n 'indicate',\n 'indoor',\n 'industry',\n 'infant',\n 'inflict',\n 'inform',\n 'inhale',\n 'inherit',\n 'initial',\n 'inject',\n 'injury',\n 'inmate',\n 'inner',\n 'innocent',\n 'input',\n 'inquiry',\n 'insane',\n 'insect',\n 'inside',\n 'inspire',\n 'install',\n 'intact',\n 'interest',\n 'into',\n 'invest',\n 'invite',\n 'involve',\n 'iron',\n 'island',\n 'isolate',\n 'issue',\n 'item',\n 'ivory',\n 'jacket',\n 'jaguar',\n 'jar',\n 'jazz',\n 'jealous',\n 'jeans',\n 'jelly',\n 'jewel',\n 'job',\n 'join',\n 'joke',\n 'journey',\n 'joy',\n 'judge',\n 'juice',\n 'jump',\n 'jungle',\n 'junior',\n 'junk',\n 'just',\n 'kangaroo',\n 'keen',\n 'keep',\n 'ketchup',\n 'key',\n 'kick',\n 'kid',\n 'kidney',\n 'kind',\n 'kingdom',\n 'kiss',\n 'kit',\n 'kitchen',\n 'kite',\n 'kitten',\n 'kiwi',\n 'knee',\n 'knife',\n 'knock',\n 'know',\n 'lab',\n 'label',\n 'labor',\n 'ladder',\n 'lady',\n 'lake',\n 'lamp',\n 'language',\n 'laptop',\n 'large',\n 'later',\n 'latin',\n 'laugh',\n 'laundry',\n 'lava',\n 'law',\n 'lawn',\n 'lawsuit',\n 'layer',\n 'lazy',\n 'leader',\n 'leaf',\n 'learn',\n 'leave',\n 'lecture',\n 'left',\n 'leg',\n 'legal',\n 'legend',\n 'leisure',\n 'lemon',\n 'lend',\n 'length',\n 'lens',\n 'leopard',\n 'lesson',\n 'letter',\n 'level',\n 'liar',\n 'liberty',\n 'library',\n 'license',\n 'life',\n 'lift',\n 'light',\n 'like',\n 'limb',\n 'limit',\n 'link',\n 'lion',\n 'liquid',\n 'list',\n 'little',\n 'live',\n 'lizard',\n 'load',\n 'loan',\n 'lobster',\n 'local',\n 'lock',\n 'logic',\n 'lonely',\n 'long',\n 'loop',\n 'lottery',\n 'loud',\n 'lounge',\n 'love',\n 'loyal',\n 'lucky',\n 'luggage',\n 'lumber',\n 'lunar',\n 'lunch',\n 'luxury',\n 'lyrics',\n 'machine',\n 'mad',\n 'magic',\n 'magnet',\n 'maid',\n 'mail',\n 'main',\n 'major',\n 'make',\n 'mammal',\n 'man',\n 'manage',\n 'mandate',\n 'mango',\n 'mansion',\n 'manual',\n 'maple',\n 'marble',\n 'march',\n 'margin',\n 'marine',\n 'market',\n 'marriage',\n 'mask',\n 'mass',\n 'master',\n 'match',\n 'material',\n 'math',\n 'matrix',\n 'matter',\n 'maximum',\n 'maze',\n 'meadow',\n 'mean',\n 'measure',\n 'meat',\n 'mechanic',\n 'medal',\n 'media',\n 'melody',\n 'melt',\n 'member',\n 'memory',\n 'mention',\n 'menu',\n 'mercy',\n 'merge',\n 'merit',\n 'merry',\n 'mesh',\n 'message',\n 'metal',\n 'method',\n 'middle',\n 'midnight',\n 'milk',\n 'million',\n 'mimic',\n 'mind',\n 'minimum',\n 'minor',\n 'minute',\n 'miracle',\n 'mirror',\n 'misery',\n 'miss',\n 'mistake',\n 'mix',\n 'mixed',\n 'mixture',\n 'mobile',\n 'model',\n 'modify',\n 'mom',\n 'moment',\n 'monitor',\n 'monkey',\n 'monster',\n 'month',\n 'moon',\n 'moral',\n 'more',\n 'morning',\n 'mosquito',\n 'mother',\n 'motion',\n 'motor',\n 'mountain',\n 'mouse',\n 'move',\n 'movie',\n 'much',\n 'muffin',\n 'mule',\n 'multiply',\n 'muscle',\n 'museum',\n 'mushroom',\n 'music',\n 'must',\n 'mutual',\n 'myself',\n 'mystery',\n 'myth',\n 'naive',\n 'name',\n 'napkin',\n 'narrow',\n 'nasty',\n 'nation',\n 'nature',\n 'near',\n 'neck',\n 'need',\n 'negative',\n 'neglect',\n 'neither',\n 'nephew',\n 'nerve',\n 'nest',\n 'net',\n 'network',\n 'neutral',\n 'never',\n 'news',\n 'next',\n 'nice',\n 'night',\n 'noble',\n 'noise',\n 'nominee',\n 'noodle',\n 'normal',\n 'north',\n 'nose',\n 'notable',\n 'note',\n 'nothing',\n 'notice',\n 'novel',\n 'now',\n 'nuclear',\n 'number',\n 'nurse',\n 'nut',\n 'oak',\n 'obey',\n 'object',\n 'oblige',\n 'obscure',\n 'observe',\n 'obtain',\n 'obvious',\n 'occur',\n 'ocean',\n 'october',\n 'odor',\n 'off',\n 'offer',\n 'office',\n 'often',\n 'oil',\n 'okay',\n 'old',\n 'olive',\n 'olympic',\n 'omit',\n 'once',\n 'one',\n 'onion',\n 'online',\n 'only',\n 'open',\n 'opera',\n 'opinion',\n 'oppose',\n 'option',\n 'orange',\n 'orbit',\n 'orchard',\n 'order',\n 'ordinary',\n 'organ',\n 'orient',\n 'original',\n 'orphan',\n 'ostrich',\n 'other',\n 'outdoor',\n 'outer',\n 'output',\n 'outside',\n 'oval',\n 'oven',\n 'over',\n 'own',\n 'owner',\n 'oxygen',\n 'oyster',\n 'ozone',\n 'pact',\n 'paddle',\n 'page',\n 'pair',\n 'palace',\n 'palm',\n 'panda',\n 'panel',\n 'panic',\n 'panther',\n 'paper',\n 'parade',\n 'parent',\n 'park',\n 'parrot',\n 'party',\n 'pass',\n 'patch',\n 'path',\n 'patient',\n 'patrol',\n 'pattern',\n 'pause',\n 'pave',\n 'payment',\n 'peace',\n 'peanut',\n 'pear',\n 'peasant',\n 'pelican',\n 'pen',\n 'penalty',\n 'pencil',\n 'people',\n 'pepper',\n 'perfect',\n 'permit',\n 'person',\n 'pet',\n 'phone',\n 'photo',\n 'phrase',\n 'physical',\n 'piano',\n 'picnic',\n 'picture',\n 'piece',\n 'pig',\n 'pigeon',\n 'pill',\n 'pilot',\n 'pink',\n 'pioneer',\n 'pipe',\n 'pistol',\n 'pitch',\n 'pizza',\n 'place',\n 'planet',\n 'plastic',\n 'plate',\n 'play',\n 'please',\n 'pledge',\n 'pluck',\n 'plug',\n 'plunge',\n 'poem',\n 'poet',\n 'point',\n 'polar',\n 'pole',\n 'police',\n 'pond',\n 'pony',\n 'pool',\n 'popular',\n 'portion',\n 'position',\n 'possible',\n 'post',\n 'potato',\n 'pottery',\n 'poverty',\n 'powder',\n 'power',\n 'practice',\n 'praise',\n 'predict',\n 'prefer',\n 'prepare',\n 'present',\n 'pretty',\n 'prevent',\n 'price',\n 'pride',\n 'primary',\n 'print',\n 'priority',\n 'prison',\n 'private',\n 'prize',\n 'problem',\n 'process',\n 'produce',\n 'profit',\n 'program',\n 'project',\n 'promote',\n 'proof',\n 'property',\n 'prosper',\n 'protect',\n 'proud',\n 'provide',\n 'public',\n 'pudding',\n 'pull',\n 'pulp',\n 'pulse',\n 'pumpkin',\n 'punch',\n 'pupil',\n 'puppy',\n 'purchase',\n 'purity',\n 'purpose',\n 'purse',\n 'push',\n 'put',\n 'puzzle',\n 'pyramid',\n 'quality',\n 'quantum',\n 'quarter',\n 'question',\n 'quick',\n 'quit',\n 'quiz',\n 'quote',\n 'rabbit',\n 'raccoon',\n 'race',\n 'rack',\n 'radar',\n 'radio',\n 'rail',\n 'rain',\n 'raise',\n 'rally',\n 'ramp',\n 'ranch',\n 'random',\n 'range',\n 'rapid',\n 'rare',\n 'rate',\n 'rather',\n 'raven',\n 'raw',\n 'razor',\n 'ready',\n 'real',\n 'reason',\n 'rebel',\n 'rebuild',\n 'recall',\n 'receive',\n 'recipe',\n 'record',\n 'recycle',\n 'reduce',\n 'reflect',\n 'reform',\n 'refuse',\n 'region',\n 'regret',\n 'regular',\n 'reject',\n 'relax',\n 'release',\n 'relief',\n 'rely',\n 'remain',\n 'remember',\n 'remind',\n 'remove',\n 'render',\n 'renew',\n 'rent',\n 'reopen',\n 'repair',\n 'repeat',\n 'replace',\n 'report',\n 'require',\n 'rescue',\n 'resemble',\n 'resist',\n 'resource',\n 'response',\n 'result',\n 'retire',\n 'retreat',\n 'return',\n 'reunion',\n 'reveal',\n 'review',\n 'reward',\n 'rhythm',\n 'rib',\n 'ribbon',\n 'rice',\n 'rich',\n 'ride',\n 'ridge',\n 'rifle',\n 'right',\n 'rigid',\n 'ring',\n 'riot',\n 'ripple',\n 'risk',\n 'ritual',\n 'rival',\n 'river',\n 'road',\n 'roast',\n 'robot',\n 'robust',\n 'rocket',\n 'romance',\n 'roof',\n 'rookie',\n 'room',\n 'rose',\n 'rotate',\n 'rough',\n 'round',\n 'route',\n 'royal',\n 'rubber',\n 'rude',\n 'rug',\n 'rule',\n 'run',\n 'runway',\n 'rural',\n 'sad',\n 'saddle',\n 'sadness',\n 'safe',\n 'sail',\n 'salad',\n 'salmon',\n 'salon',\n 'salt',\n 'salute',\n 'same',\n 'sample',\n 'sand',\n 'satisfy',\n 'satoshi',\n 'sauce',\n 'sausage',\n 'save',\n 'say',\n 'scale',\n 'scan',\n 'scare',\n 'scatter',\n 'scene',\n 'scheme',\n 'school',\n 'science',\n 'scissors',\n 'scorpion',\n 'scout',\n 'scrap',\n 'screen',\n 'script',\n 'scrub',\n 'sea',\n 'search',\n 'season',\n 'seat',\n 'second',\n 'secret',\n 'section',\n 'security',\n 'seed',\n 'seek',\n 'segment',\n 'select',\n 'sell',\n 'seminar',\n 'senior',\n 'sense',\n 'sentence',\n 'series',\n 'service',\n 'session',\n 'settle',\n 'setup',\n 'seven',\n 'shadow',\n 'shaft',\n 'shallow',\n 'share',\n 'shed',\n 'shell',\n 'sheriff',\n 'shield',\n 'shift',\n 'shine',\n 'ship',\n 'shiver',\n 'shock',\n 'shoe',\n 'shoot',\n 'shop',\n 'short',\n 'shoulder',\n 'shove',\n 'shrimp',\n 'shrug',\n 'shuffle',\n 'shy',\n 'sibling',\n 'sick',\n 'side',\n 'siege',\n 'sight',\n 'sign',\n 'silent',\n 'silk',\n 'silly',\n 'silver',\n 'similar',\n 'simple',\n 'since',\n 'sing',\n 'siren',\n 'sister',\n 'situate',\n 'six',\n 'size',\n 'skate',\n 'sketch',\n 'ski',\n 'skill',\n 'skin',\n 'skirt',\n 'skull',\n 'slab',\n 'slam',\n 'sleep',\n 'slender',\n 'slice',\n 'slide',\n 'slight',\n 'slim',\n 'slogan',\n 'slot',\n 'slow',\n 'slush',\n 'small',\n 'smart',\n 'smile',\n 'smoke',\n 'smooth',\n 'snack',\n 'snake',\n 'snap',\n 'sniff',\n 'snow',\n 'soap',\n 'soccer',\n 'social',\n 'sock',\n 'soda',\n 'soft',\n 'solar',\n 'soldier',\n 'solid',\n 'solution',\n 'solve',\n 'someone',\n 'song',\n 'soon',\n 'sorry',\n 'sort',\n 'soul',\n 'sound',\n 'soup',\n 'source',\n 'south',\n 'space',\n 'spare',\n 'spatial',\n 'spawn',\n 'speak',\n 'special',\n 'speed',\n 'spell',\n 'spend',\n 'sphere',\n 'spice',\n 'spider',\n 'spike',\n 'spin',\n 'spirit',\n 'split',\n 'spoil',\n 'sponsor',\n 'spoon',\n 'sport',\n 'spot',\n 'spray',\n 'spread',\n 'spring',\n 'spy',\n 'square',\n 'squeeze',\n 'squirrel',\n 'stable',\n 'stadium',\n 'staff',\n 'stage',\n 'stairs',\n 'stamp',\n 'stand',\n 'start',\n 'state',\n 'stay',\n 'steak',\n 'steel',\n 'stem',\n 'step',\n 'stereo',\n 'stick',\n 'still',\n 'sting',\n 'stock',\n 'stomach',\n 'stone',\n 'stool',\n 'story',\n 'stove',\n 'strategy',\n 'street',\n 'strike',\n 'strong',\n 'struggle',\n 'student',\n 'stuff',\n 'stumble',\n 'style',\n 'subject',\n 'submit',\n 'subway',\n 'success',\n 'such',\n 'sudden',\n 'suffer',\n 'sugar',\n 'suggest',\n 'suit',\n 'summer',\n 'sun',\n 'sunny',\n 'sunset',\n 'super',\n 'supply',\n 'supreme',\n 'sure',\n 'surface',\n 'surge',\n 'surprise',\n 'surround',\n 'survey',\n 'suspect',\n 'sustain',\n 'swallow',\n 'swamp',\n 'swap',\n 'swarm',\n 'swear',\n 'sweet',\n 'swift',\n 'swim',\n 'swing',\n 'switch',\n 'sword',\n 'symbol',\n 'symptom',\n 'syrup',\n 'system',\n 'table',\n 'tackle',\n 'tag',\n 'tail',\n 'talent',\n 'talk',\n 'tank',\n 'tape',\n 'target',\n 'task',\n 'taste',\n 'tattoo',\n 'taxi',\n 'teach',\n 'team',\n 'tell',\n 'ten',\n 'tenant',\n 'tennis',\n 'tent',\n 'term',\n 'test',\n 'text',\n 'thank',\n 'that',\n 'theme',\n 'then',\n 'theory',\n 'there',\n 'they',\n 'thing',\n 'this',\n 'thought',\n 'three',\n 'thrive',\n 'throw',\n 'thumb',\n 'thunder',\n 'ticket',\n 'tide',\n 'tiger',\n 'tilt',\n 'timber',\n 'time',\n 'tiny',\n 'tip',\n 'tired',\n 'tissue',\n 'title',\n 'toast',\n 'tobacco',\n 'today',\n 'toddler',\n 'toe',\n 'together',\n 'toilet',\n 'token',\n 'tomato',\n 'tomorrow',\n 'tone',\n 'tongue',\n 'tonight',\n 'tool',\n 'tooth',\n 'top',\n 'topic',\n 'topple',\n 'torch',\n 'tornado',\n 'tortoise',\n 'toss',\n 'total',\n 'tourist',\n 'toward',\n 'tower',\n 'town',\n 'toy',\n 'track',\n 'trade',\n 'traffic',\n 'tragic',\n 'train',\n 'transfer',\n 'trap',\n 'trash',\n 'travel',\n 'tray',\n 'treat',\n 'tree',\n 'trend',\n 'trial',\n 'tribe',\n 'trick',\n 'trigger',\n 'trim',\n 'trip',\n 'trophy',\n 'trouble',\n 'truck',\n 'true',\n 'truly',\n 'trumpet',\n 'trust',\n 'truth',\n 'try',\n 'tube',\n 'tuition',\n 'tumble',\n 'tuna',\n 'tunnel',\n 'turkey',\n 'turn',\n 'turtle',\n 'twelve',\n 'twenty',\n 'twice',\n 'twin',\n 'twist',\n 'two',\n 'type',\n 'typical',\n 'ugly',\n 'umbrella',\n 'unable',\n 'unaware',\n 'uncle',\n 'uncover',\n 'under',\n 'undo',\n 'unfair',\n 'unfold',\n 'unhappy',\n 'uniform',\n 'unique',\n 'unit',\n 'universe',\n 'unknown',\n 'unlock',\n 'until',\n 'unusual',\n 'unveil',\n 'update',\n 'upgrade',\n 'uphold',\n 'upon',\n 'upper',\n 'upset',\n 'urban',\n 'urge',\n 'usage',\n 'use',\n 'used',\n 'useful',\n 'useless',\n 'usual',\n 'utility',\n 'vacant',\n 'vacuum',\n 'vague',\n 'valid',\n 'valley',\n 'valve',\n 'van',\n 'vanish',\n 'vapor',\n 'various',\n 'vast',\n 'vault',\n 'vehicle',\n 'velvet',\n 'vendor',\n 'venture',\n 'venue',\n 'verb',\n 'verify',\n 'version',\n 'very',\n 'vessel',\n 'veteran',\n 'viable',\n 'vibrant',\n 'vicious',\n 'victory',\n 'video',\n 'view',\n 'village',\n 'vintage',\n 'violin',\n 'virtual',\n 'virus',\n 'visa',\n 'visit',\n 'visual',\n 'vital',\n 'vivid',\n 'vocal',\n 'voice',\n 'void',\n 'volcano',\n 'volume',\n 'vote',\n 'voyage',\n 'wage',\n 'wagon',\n 'wait',\n 'walk',\n 'wall',\n 'walnut',\n 'want',\n 'warfare',\n 'warm',\n 'warrior',\n 'wash',\n 'wasp',\n 'waste',\n 'water',\n 'wave',\n 'way',\n 'wealth',\n 'weapon',\n 'wear',\n 'weasel',\n 'weather',\n 'web',\n 'wedding',\n 'weekend',\n 'weird',\n 'welcome',\n 'west',\n 'wet',\n 'whale',\n 'what',\n 'wheat',\n 'wheel',\n 'when',\n 'where',\n 'whip',\n 'whisper',\n 'wide',\n 'width',\n 'wife',\n 'wild',\n 'will',\n 'win',\n 'window',\n 'wine',\n 'wing',\n 'wink',\n 'winner',\n 'winter',\n 'wire',\n 'wisdom',\n 'wise',\n 'wish',\n 'witness',\n 'wolf',\n 'woman',\n 'wonder',\n 'wood',\n 'wool',\n 'word',\n 'work',\n 'world',\n 'worry',\n 'worth',\n 'wrap',\n 'wreck',\n 'wrestle',\n 'wrist',\n 'write',\n 'wrong',\n 'yard',\n 'year',\n 'yellow',\n 'you',\n 'young',\n 'youth',\n 'zebra',\n 'zero',\n 'zone',\n 'zoo',\n];\nexport default english;\n//# sourceMappingURL=english.js.map","/* eslint-disable no-bitwise */\nimport english from './wordlists/english';\nimport * as nacl from '../nacl/naclWrappers';\nimport * as address from '../encoding/address';\nexport const FAIL_TO_DECODE_MNEMONIC_ERROR_MSG = 'failed to decode mnemonic';\nexport const NOT_IN_WORDS_LIST_ERROR_MSG = 'the mnemonic contains a word that is not in the wordlist';\n// https://stackoverflow.com/a/51452614\nfunction toUint11Array(buffer8) {\n const buffer11 = [];\n let acc = 0;\n let accBits = 0;\n function add(octet) {\n acc |= octet << accBits;\n accBits += 8;\n if (accBits >= 11) {\n buffer11.push(acc & 0x7ff);\n acc >>= 11;\n accBits -= 11;\n }\n }\n function flush() {\n if (accBits) {\n buffer11.push(acc);\n }\n }\n buffer8.forEach(add);\n flush();\n return buffer11;\n}\nfunction applyWords(nums) {\n return nums.map((n) => english[n]);\n}\nfunction computeChecksum(seed) {\n const hashBuffer = nacl.genericHash(seed);\n const uint11Hash = toUint11Array(hashBuffer);\n const words = applyWords(uint11Hash);\n return words[0];\n}\n/**\n * mnemonicFromSeed converts a 32-byte key into a 25 word mnemonic. The generated mnemonic includes a checksum.\n * Each word in the mnemonic represents 11 bits of data, and the last 11 bits are reserved for the checksum.\n * @param seed - 32 bytes long seed\n * @returns 25 words mnemonic\n */\nexport function mnemonicFromSeed(seed) {\n // Sanity length check\n if (seed.length !== nacl.SEED_BTYES_LENGTH) {\n throw new RangeError(`Seed length must be ${nacl.SEED_BTYES_LENGTH}`);\n }\n const uint11Array = toUint11Array(seed);\n const words = applyWords(uint11Array);\n const checksumWord = computeChecksum(seed);\n return `${words.join(' ')} ${checksumWord}`;\n}\n// from Uint11Array\n// https://stackoverflow.com/a/51452614\nfunction toUint8Array(buffer11) {\n const buffer8 = [];\n let acc = 0;\n let accBits = 0;\n function add(ui11) {\n acc |= ui11 << accBits;\n accBits += 11;\n while (accBits >= 8) {\n buffer8.push(acc & 0xff);\n acc >>= 8;\n accBits -= 8;\n }\n }\n function flush() {\n if (accBits) {\n buffer8.push(acc);\n }\n }\n buffer11.forEach(add);\n flush();\n return new Uint8Array(buffer8);\n}\n/**\n * seedFromMnemonic converts a mnemonic generated using this library into the source key used to create it.\n * It returns an error if the passed mnemonic has an incorrect checksum, if the number of words is unexpected, or if one\n * of the passed words is not found in the words list.\n * @param mnemonic - 25 words mnemonic\n * @returns 32 bytes long seed\n */\nexport function seedFromMnemonic(mnemonic) {\n const words = mnemonic.split(' ');\n const key = words.slice(0, 24);\n // Check that all words are in list\n for (const w of key) {\n if (english.indexOf(w) === -1)\n throw new Error(NOT_IN_WORDS_LIST_ERROR_MSG);\n }\n const checksum = words[words.length - 1];\n const uint11Array = key.map((word) => english.indexOf(word));\n // Convert the key to uint8Array\n let uint8Array = toUint8Array(uint11Array);\n // We need to chop the last byte -\n // the short explanation - Since 256 is not divisible by 11, we have an extra 0x0 byte.\n // The longer explanation - When splitting the 256 bits to chunks of 11, we get 23 words and a left over of 3 bits.\n // This left gets padded with another 8 bits to the create the 24th word.\n // While converting back to byte array, our new 264 bits array is divisible by 8 but the last byte is just the padding.\n // check that we have 33 bytes long array as expected\n if (uint8Array.length !== 33)\n throw new Error(FAIL_TO_DECODE_MNEMONIC_ERROR_MSG);\n // check that the last byte is actually 0x0\n if (uint8Array[uint8Array.length - 1] !== 0x0)\n throw new Error(FAIL_TO_DECODE_MNEMONIC_ERROR_MSG);\n // chop it !\n uint8Array = uint8Array.slice(0, uint8Array.length - 1);\n // compute checksum\n const cs = computeChecksum(uint8Array);\n // success!\n if (cs === checksum)\n return uint8Array;\n throw new Error(FAIL_TO_DECODE_MNEMONIC_ERROR_MSG);\n}\n/**\n * mnemonicToSecretKey takes a mnemonic string and returns the corresponding Algorand address and its secret key.\n * @param mn - 25 words Algorand mnemonic\n * @throws error if fails to decode the mnemonic\n */\nexport function mnemonicToSecretKey(mn) {\n const seed = seedFromMnemonic(mn);\n const keys = nacl.keyPairFromSeed(seed);\n const encodedPk = address.encodeAddress(keys.publicKey);\n return { addr: encodedPk, sk: keys.secretKey };\n}\n/**\n * secretKeyToMnemonic takes an Algorand secret key and returns the corresponding mnemonic.\n * @param sk - Algorand secret key\n * @returns Secret key's associated mnemonic\n */\nexport function secretKeyToMnemonic(sk) {\n // get the seed from the sk\n const seed = sk.slice(0, nacl.SEED_BTYES_LENGTH);\n return mnemonicFromSeed(seed);\n}\n/**\n * mnemonicToMasterDerivationKey takes a mnemonic string and returns the corresponding master derivation key.\n * @param mn - 25 words Algorand mnemonic\n * @returns Uint8Array\n * @throws error if fails to decode the mnemonic\n */\nexport function mnemonicToMasterDerivationKey(mn) {\n return seedFromMnemonic(mn);\n}\n/**\n * masterDerivationKeyToMnemonic takes a master derivation key and returns the corresponding mnemonic.\n * @param mdk - Uint8Array\n * @returns string mnemonic\n */\nexport function masterDerivationKeyToMnemonic(mdk) {\n return mnemonicFromSeed(mdk);\n}\n//# sourceMappingURL=mnemonic.js.map","import * as txnBuilder from './transaction';\nimport { OnApplicationComplete } from './types/transactions/base';\nimport { \n// Utilities\nTransactionType, } from './types/transactions';\n/**\n * makePaymentTxnWithSuggestedParams takes payment arguments and returns a Transaction object\n * @param from - string representation of Algorand address of sender\n * @param to - string representation of Algorand address of recipient\n * @param amount - integer amount to send, in microAlgos\n * @param closeRemainderTo - optionally close out remaining account balance to this account, represented as string rep of Algorand address\n * @param note - uint8array of arbitrary data for sender to store\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param rekeyTo - rekeyTo address, optional\n */\nexport function makePaymentTxnWithSuggestedParams(from, to, amount, closeRemainderTo, note, suggestedParams, rekeyTo) {\n const o = {\n from,\n to,\n amount,\n closeRemainderTo,\n note,\n suggestedParams,\n type: TransactionType.pay,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n/**\n * makePaymentTxn takes payment arguments and returns a Transaction object\n * @param from - string representation of Algorand address of sender\n * @param to - string representation of Algorand address of recipient\n * @param fee - integer fee per byte, in microAlgos. for a flat fee, overwrite the fee property on the returned object\n * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n * @param amount - integer amount to send, in microAlgos\n * @param closeRemainderTo - optionally close out remaining account balance to this account, represented as string rep of Algorand address\n * @param firstRound - integer first protocol round on which this txn is valid\n * @param lastRound - integer last protocol round on which this txn is valid\n * @param note - uint8array of arbitrary data for sender to store\n * @param genesisHash - string specifies hash genesis block of network in use\n * @param genesisID - string specifies genesis ID of network in use\n * @param rekeyTo - rekeyTo address, optional\n * @Deprecated in version 2.0 this will change to use the \"WithSuggestedParams\" signature.\n */\nexport function makePaymentTxn(from, to, fee, amount, closeRemainderTo, firstRound, lastRound, note, genesisHash, genesisID, rekeyTo) {\n const suggestedParams = {\n genesisHash,\n genesisID,\n firstRound,\n lastRound,\n fee,\n };\n return makePaymentTxnWithSuggestedParams(from, to, amount, closeRemainderTo, note, suggestedParams, rekeyTo);\n}\n// helper for above makePaymentTxnWithSuggestedParams, instead accepting an arguments object\nexport function makePaymentTxnWithSuggestedParamsFromObject(o) {\n return makePaymentTxnWithSuggestedParams(o.from, o.to, o.amount, o.closeRemainderTo, o.note, o.suggestedParams, o.rekeyTo);\n}\nexport function makeKeyRegistrationTxnWithSuggestedParams(from, note, voteKey, selectionKey, voteFirst, voteLast, voteKeyDilution, suggestedParams, rekeyTo, nonParticipation = false, stateProofKey = undefined) {\n const o = {\n from,\n note,\n voteKey,\n selectionKey,\n voteFirst,\n voteLast,\n voteKeyDilution,\n suggestedParams,\n type: TransactionType.keyreg,\n reKeyTo: rekeyTo,\n nonParticipation,\n stateProofKey,\n };\n return new txnBuilder.Transaction(o);\n}\nexport function makeKeyRegistrationTxn(from, fee, firstRound, lastRound, note, genesisHash, genesisID, voteKey, selectionKey, voteFirst, voteLast, voteKeyDilution, rekeyTo, nonParticipation = false, stateProofKey = undefined) {\n const suggestedParams = {\n genesisHash,\n genesisID,\n firstRound,\n lastRound,\n fee,\n };\n return makeKeyRegistrationTxnWithSuggestedParams(from, note, voteKey, selectionKey, voteFirst, voteLast, voteKeyDilution, suggestedParams, rekeyTo, nonParticipation, stateProofKey);\n}\nexport function makeKeyRegistrationTxnWithSuggestedParamsFromObject(o) {\n return makeKeyRegistrationTxnWithSuggestedParams(o.from, o.note, o.voteKey, o.selectionKey, o.voteFirst, o.voteLast, o.voteKeyDilution, o.suggestedParams, o.rekeyTo, o.nonParticipation, o.stateProofKey);\n}\n/** makeAssetCreateTxnWithSuggestedParams takes asset creation arguments and returns a Transaction object\n * for creating that asset\n *\n * @param from - string representation of Algorand address of sender\n * @param note - uint8array of arbitrary data for sender to store\n * @param total - integer total supply of the asset\n * @param decimals - integer number of decimals for asset unit calculation\n * @param defaultFrozen - boolean whether asset accounts should default to being frozen\n * @param manager - string representation of Algorand address in charge of reserve, freeze, clawback, destruction, etc\n * @param reserve - string representation of Algorand address representing asset reserve\n * @param freeze - string representation of Algorand address with power to freeze/unfreeze asset holdings\n * @param clawback - string representation of Algorand address with power to revoke asset holdings\n * @param unitName - string units name for this asset\n * @param assetName - string name for this asset\n * @param assetURL - string URL relating to this asset\n * @param assetMetadataHash - Uint8Array or UTF-8 string representation of a hash commitment with respect to the asset. Must be exactly 32 bytes long.\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param rekeyTo - rekeyTo address, optional\n */\nexport function makeAssetCreateTxnWithSuggestedParams(from, note, total, decimals, defaultFrozen, manager, reserve, freeze, clawback, unitName, assetName, assetURL, assetMetadataHash, suggestedParams, rekeyTo) {\n const o = {\n from,\n note,\n suggestedParams,\n assetTotal: total,\n assetDecimals: decimals,\n assetDefaultFrozen: defaultFrozen,\n assetUnitName: unitName,\n assetName,\n assetURL,\n assetMetadataHash,\n assetManager: manager,\n assetReserve: reserve,\n assetFreeze: freeze,\n assetClawback: clawback,\n type: TransactionType.acfg,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n/** makeAssetCreateTxn takes asset creation arguments and returns a Transaction object\n * for creating that asset\n *\n * @param from - string representation of Algorand address of sender\n * @param fee - integer fee per byte, in microAlgos. for a flat fee, overwrite the fee property on the returned object\n * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n * @param firstRound - integer first protocol round on which this txn is valid\n * @param lastRound - integer last protocol round on which this txn is valid\n * @param note - uint8array of arbitrary data for sender to store\n * @param genesisHash - string specifies hash genesis block of network in use\n * @param genesisID - string specifies genesis ID of network in use\n * @param total - integer total supply of the asset\n * @param decimals - integer number of decimals for asset unit calculation\n * @param defaultFrozen - boolean whether asset accounts should default to being frozen\n * @param manager - string representation of Algorand address in charge of reserve, freeze, clawback, destruction, etc\n * @param reserve - string representation of Algorand address representing asset reserve\n * @param freeze - string representation of Algorand address with power to freeze/unfreeze asset holdings\n * @param clawback - string representation of Algorand address with power to revoke asset holdings\n * @param unitName - string units name for this asset\n * @param assetName - string name for this asset\n * @param assetURL - string URL relating to this asset\n * @param assetMetadataHash - Uint8Array or UTF-8 string representation of a hash commitment with respect to the asset. Must be exactly 32 bytes long.\n * @param rekeyTo - rekeyTo address, optional\n * @Deprecated in version 2.0 this will change to use the \"WithSuggestedParams\" signature.\n */\nexport function makeAssetCreateTxn(from, fee, firstRound, lastRound, note, genesisHash, genesisID, total, decimals, defaultFrozen, manager, reserve, freeze, clawback, unitName, assetName, assetURL, assetMetadataHash, rekeyTo) {\n const suggestedParams = {\n genesisHash,\n genesisID,\n firstRound,\n lastRound,\n fee,\n };\n return makeAssetCreateTxnWithSuggestedParams(from, note, total, decimals, defaultFrozen, manager, reserve, freeze, clawback, unitName, assetName, assetURL, assetMetadataHash, suggestedParams, rekeyTo);\n}\n// helper for above makeAssetCreateTxnWithSuggestedParams, instead accepting an arguments object\nexport function makeAssetCreateTxnWithSuggestedParamsFromObject(o) {\n return makeAssetCreateTxnWithSuggestedParams(o.from, o.note, o.total, o.decimals, o.defaultFrozen, o.manager, o.reserve, o.freeze, o.clawback, o.unitName, o.assetName, o.assetURL, o.assetMetadataHash, o.suggestedParams, o.rekeyTo);\n}\n/** makeAssetConfigTxnWithSuggestedParams can be issued by the asset manager to change the manager, reserve, freeze, or clawback\n * you must respecify existing addresses to keep them the same; leaving a field blank is the same as turning\n * that feature off for this asset\n *\n * @param from - string representation of Algorand address of sender\n * @param note - uint8array of arbitrary data for sender to store\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param manager - string representation of new asset manager Algorand address\n * @param reserve - string representation of new reserve Algorand address\n * @param freeze - string representation of new freeze manager Algorand address\n * @param clawback - string representation of new revocation manager Algorand address\n * @param strictEmptyAddressChecking - boolean - throw an error if any of manager, reserve, freeze, or clawback are undefined. optional, defaults to true.\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param rekeyTo - rekeyTo address, optional\n */\nexport function makeAssetConfigTxnWithSuggestedParams(from, note, assetIndex, manager, reserve, freeze, clawback, suggestedParams, strictEmptyAddressChecking = true, rekeyTo) {\n if (strictEmptyAddressChecking &&\n (manager === undefined ||\n reserve === undefined ||\n freeze === undefined ||\n clawback === undefined)) {\n throw Error('strict empty address checking was turned on, but at least one empty address was provided');\n }\n const o = {\n from,\n suggestedParams,\n assetIndex,\n assetManager: manager,\n assetReserve: reserve,\n assetFreeze: freeze,\n assetClawback: clawback,\n type: TransactionType.acfg,\n note,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n/** makeAssetConfigTxn can be issued by the asset manager to change the manager, reserve, freeze, or clawback\n * you must respecify existing addresses to keep them the same; leaving a field blank is the same as turning\n * that feature off for this asset\n *\n * @param from - string representation of Algorand address of sender\n * @param fee - integer fee per byte, in microAlgos. for a flat fee, overwrite the fee property on the returned object\n * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n * @param firstRound - integer first protocol round on which this txn is valid\n * @param lastRound - integer last protocol round on which this txn is valid\n * @param note - uint8array of arbitrary data for sender to store\n * @param genesisHash - string specifies hash genesis block of network in use\n * @param genesisID - string specifies genesis ID of network in use\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param manager - string representation of new asset manager Algorand address\n * @param reserve - string representation of new reserve Algorand address\n * @param freeze - string representation of new freeze manager Algorand address\n * @param clawback - string representation of new revocation manager Algorand address\n * @param strictEmptyAddressChecking - boolean - throw an error if any of manager, reserve, freeze, or clawback are undefined. optional, defaults to true.\n * @param rekeyTo - rekeyTo address, optional\n * @Deprecated in version 2.0 this will change to use the \"WithSuggestedParams\" signature.\n */\nexport function makeAssetConfigTxn(from, fee, firstRound, lastRound, note, genesisHash, genesisID, assetIndex, manager, reserve, freeze, clawback, strictEmptyAddressChecking = true, rekeyTo) {\n const suggestedParams = {\n genesisHash,\n genesisID,\n firstRound,\n lastRound,\n fee,\n };\n return makeAssetConfigTxnWithSuggestedParams(from, note, assetIndex, manager, reserve, freeze, clawback, suggestedParams, strictEmptyAddressChecking, rekeyTo);\n}\n// helper for above makeAssetConfigTxnWithSuggestedParams, instead accepting an arguments object\nexport function makeAssetConfigTxnWithSuggestedParamsFromObject(o) {\n return makeAssetConfigTxnWithSuggestedParams(o.from, o.note, o.assetIndex, o.manager, o.reserve, o.freeze, o.clawback, o.suggestedParams, o.strictEmptyAddressChecking, o.rekeyTo);\n}\n/** makeAssetDestroyTxnWithSuggestedParams will allow the asset's manager to remove this asset from the ledger, so long\n * as all outstanding assets are held by the creator.\n *\n * @param from - string representation of Algorand address of sender\n * @param note - uint8array of arbitrary data for sender to store\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param rekeyTo - rekeyTo address, optional\n */\nexport function makeAssetDestroyTxnWithSuggestedParams(from, note, assetIndex, suggestedParams, rekeyTo) {\n const o = {\n from,\n suggestedParams,\n assetIndex,\n type: TransactionType.acfg,\n note,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n/** makeAssetDestroyTxn will allow the asset's manager to remove this asset from the ledger, so long\n * as all outstanding assets are held by the creator.\n *\n * @param from - string representation of Algorand address of sender\n * @param fee - integer fee per byte, in microAlgos. for a flat fee, overwrite the fee property on the returned object\n * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n * @param firstRound - integer first protocol round on which this txn is valid\n * @param lastRound - integer last protocol round on which this txn is valid\n * @param note - uint8array of arbitrary data for sender to store\n * @param genesisHash - string specifies hash genesis block of network in use\n * @param genesisID - string specifies genesis ID of network in use\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param rekeyTo - rekeyTo address, optional\n * @Deprecated in version 2.0 this will change to use the \"WithSuggestedParams\" signature.\n */\nexport function makeAssetDestroyTxn(from, fee, firstRound, lastRound, note, genesisHash, genesisID, assetIndex, rekeyTo) {\n const suggestedParams = {\n genesisHash,\n genesisID,\n firstRound,\n lastRound,\n fee,\n };\n return makeAssetDestroyTxnWithSuggestedParams(from, note, assetIndex, suggestedParams, rekeyTo);\n}\n// helper for above makeAssetDestroyTxnWithSuggestedParams, instead accepting an arguments object\nexport function makeAssetDestroyTxnWithSuggestedParamsFromObject(o) {\n return makeAssetDestroyTxnWithSuggestedParams(o.from, o.note, o.assetIndex, o.suggestedParams, o.rekeyTo);\n}\n/** makeAssetFreezeTxnWithSuggestedParams will allow the asset's freeze manager to freeze or un-freeze an account,\n * blocking or allowing asset transfers to and from the targeted account.\n *\n * @param from - string representation of Algorand address of sender\n * @param note - uint8array of arbitrary data for sender to store\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param freezeTarget - string representation of Algorand address being frozen or unfrozen\n * @param freezeState - true if freezeTarget should be frozen, false if freezeTarget should be allowed to transact\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param rekeyTo - rekeyTo address, optional\n */\nexport function makeAssetFreezeTxnWithSuggestedParams(from, note, assetIndex, freezeTarget, freezeState, suggestedParams, rekeyTo) {\n const o = {\n from,\n type: TransactionType.afrz,\n freezeAccount: freezeTarget,\n assetIndex,\n freezeState,\n note,\n suggestedParams,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n/** makeAssetFreezeTxn will allow the asset's freeze manager to freeze or un-freeze an account,\n * blocking or allowing asset transfers to and from the targeted account.\n *\n * @param from - string representation of Algorand address of sender\n * @param fee - integer fee per byte, in microAlgos. for a flat fee, overwrite the fee property on the returned object\n * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n * @param firstRound - integer first protocol round on which this txn is valid\n * @param lastRound - integer last protocol round on which this txn is valid\n * @param note - uint8array of arbitrary data for sender to store\n * @param genesisHash - string specifies hash genesis block of network in use\n * @param genesisID - string specifies genesis ID of network in use\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param freezeTarget - string representation of Algorand address being frozen or unfrozen\n * @param freezeState - true if freezeTarget should be frozen, false if freezeTarget should be allowed to transact\n * @param rekeyTo - rekeyTo address, optional\n * @Deprecated in version 2.0 this will change to use the \"WithSuggestedParams\" signature.\n */\nexport function makeAssetFreezeTxn(from, fee, firstRound, lastRound, note, genesisHash, genesisID, assetIndex, freezeTarget, freezeState, rekeyTo) {\n const suggestedParams = {\n genesisHash,\n genesisID,\n firstRound,\n lastRound,\n fee,\n };\n return makeAssetFreezeTxnWithSuggestedParams(from, note, assetIndex, freezeTarget, freezeState, suggestedParams, rekeyTo);\n}\n// helper for above makeAssetFreezeTxnWithSuggestedParams, instead accepting an arguments object\nexport function makeAssetFreezeTxnWithSuggestedParamsFromObject(o) {\n return makeAssetFreezeTxnWithSuggestedParams(o.from, o.note, o.assetIndex, o.freezeTarget, o.freezeState, o.suggestedParams, o.rekeyTo);\n}\n/** makeAssetTransferTxnWithSuggestedParams allows for the creation of an asset transfer transaction.\n * Special case: to begin accepting assets, set amount=0 and from=to.\n *\n * @param from - string representation of Algorand address of sender\n * @param to - string representation of Algorand address of asset recipient\n * @param closeRemainderTo - optional - string representation of Algorand address - if provided,\n * send all remaining assets after transfer to the \"closeRemainderTo\" address and close \"from\"'s asset holdings\n * @param revocationTarget - optional - string representation of Algorand address - if provided,\n * and if \"from\" is the asset's revocation manager, then deduct from \"revocationTarget\" rather than \"from\"\n * @param amount - integer amount of assets to send\n * @param note - uint8array of arbitrary data for sender to store\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param rekeyTo - rekeyTo address, optional\n */\nexport function makeAssetTransferTxnWithSuggestedParams(from, to, closeRemainderTo, revocationTarget, amount, note, assetIndex, suggestedParams, rekeyTo) {\n const o = {\n type: TransactionType.axfer,\n from,\n to,\n amount,\n suggestedParams,\n assetIndex,\n note,\n assetRevocationTarget: revocationTarget,\n closeRemainderTo,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n/** makeAssetTransferTxn allows for the creation of an asset transfer transaction.\n * Special case: to begin accepting assets, set amount=0 and from=to.\n *\n * @param from - string representation of Algorand address of sender\n * @param to - string representation of Algorand address of asset recipient\n * @param closeRemainderTo - optional - string representation of Algorand address - if provided,\n * send all remaining assets after transfer to the \"closeRemainderTo\" address and close \"from\"'s asset holdings\n * @param revocationTarget - optional - string representation of Algorand address - if provided,\n * and if \"from\" is the asset's revocation manager, then deduct from \"revocationTarget\" rather than \"from\"\n * @param fee - integer fee per byte, in microAlgos. for a flat fee, overwrite the fee property on the returned object\n * If the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n * @param amount - integer amount of assets to send\n * @param firstRound - integer first protocol round on which this txn is valid\n * @param lastRound - integer last protocol round on which this txn is valid\n * @param note - uint8array of arbitrary data for sender to store\n * @param genesisHash - string specifies hash genesis block of network in use\n * @param genesisID - string specifies genesis ID of network in use\n * @param assetIndex - int asset index uniquely specifying the asset\n * @param rekeyTo - rekeyTo address, optional\n * @Deprecated in version 2.0 this will change to use the \"WithSuggestedParams\" signature.\n */\nexport function makeAssetTransferTxn(from, to, closeRemainderTo, revocationTarget, fee, amount, firstRound, lastRound, note, genesisHash, genesisID, assetIndex, rekeyTo) {\n const suggestedParams = {\n genesisHash,\n genesisID,\n firstRound,\n lastRound,\n fee,\n };\n return makeAssetTransferTxnWithSuggestedParams(from, to, closeRemainderTo, revocationTarget, amount, note, assetIndex, suggestedParams, rekeyTo);\n}\n// helper for above makeAssetTransferTxnWithSuggestedParams, instead accepting an arguments object\nexport function makeAssetTransferTxnWithSuggestedParamsFromObject(o) {\n return makeAssetTransferTxnWithSuggestedParams(o.from, o.to, o.closeRemainderTo, o.revocationTarget, o.amount, o.note, o.assetIndex, o.suggestedParams, o.rekeyTo);\n}\n/**\n * Make a transaction that will create an application.\n * @param from - address of sender\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param onComplete - algosdk.OnApplicationComplete, what application should do once the program is done being run\n * @param approvalProgram - Uint8Array, the compiled TEAL that approves a transaction\n * @param clearProgram - Uint8Array, the compiled TEAL that runs when clearing state\n * @param numLocalInts - restricts number of ints in per-user local state\n * @param numLocalByteSlices - restricts number of byte slices in per-user local state\n * @param numGlobalInts - restricts number of ints in global state\n * @param numGlobalByteSlices - restricts number of byte slices in global state\n * @param appArgs - Array of Uint8Array, any additional arguments to the application\n * @param accounts - Array of Address strings, any additional accounts to supply to the application\n * @param foreignApps - Array of int, any other apps used by the application, identified by index\n * @param foreignAssets - Array of int, any assets used by the application, identified by index\n * @param note - Arbitrary data for sender to store\n * @param lease - Lease a transaction\n * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions\n * @param extraPages - integer extra pages of memory to rent on creation of application\n * @param boxes - Array of BoxReference, app ID and name of box to be accessed\n */\nexport function makeApplicationCreateTxn(from, suggestedParams, onComplete, approvalProgram, clearProgram, numLocalInts, numLocalByteSlices, numGlobalInts, numGlobalByteSlices, appArgs, accounts, foreignApps, foreignAssets, note, lease, rekeyTo, extraPages, boxes) {\n const o = {\n type: TransactionType.appl,\n from,\n suggestedParams,\n appIndex: 0,\n appOnComplete: onComplete,\n appLocalInts: numLocalInts,\n appLocalByteSlices: numLocalByteSlices,\n appGlobalInts: numGlobalInts,\n appGlobalByteSlices: numGlobalByteSlices,\n appApprovalProgram: approvalProgram,\n appClearProgram: clearProgram,\n appArgs,\n appAccounts: accounts,\n appForeignApps: foreignApps,\n appForeignAssets: foreignAssets,\n boxes,\n note,\n lease,\n reKeyTo: rekeyTo,\n extraPages,\n };\n return new txnBuilder.Transaction(o);\n}\n// helper for above makeApplicationCreateTxn, instead accepting an arguments object\nexport function makeApplicationCreateTxnFromObject(o) {\n return makeApplicationCreateTxn(o.from, o.suggestedParams, o.onComplete, o.approvalProgram, o.clearProgram, o.numLocalInts, o.numLocalByteSlices, o.numGlobalInts, o.numGlobalByteSlices, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo, o.extraPages, o.boxes);\n}\n/**\n * Make a transaction that changes an application's approval and clear programs\n * @param from - address of sender\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param appIndex - the ID of the app to be updated\n * @param approvalProgram - Uint8Array, the compiled TEAL that approves a transaction\n * @param clearProgram - Uint8Array, the compiled TEAL that runs when clearing state\n * @param appArgs - Array of Uint8Array, any additional arguments to the application\n * @param accounts - Array of Address strings, any additional accounts to supply to the application\n * @param foreignApps - Array of int, any other apps used by the application, identified by index\n * @param foreignAssets - Array of int, any assets used by the application, identified by index\n * @param note - Arbitrary data for sender to store\n * @param lease - Lease a transaction\n * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions\n * @param boxes - Array of BoxReference, app ID and name of box to be accessed\n */\nexport function makeApplicationUpdateTxn(from, suggestedParams, appIndex, approvalProgram, clearProgram, appArgs, accounts, foreignApps, foreignAssets, note, lease, rekeyTo, boxes) {\n const o = {\n type: TransactionType.appl,\n from,\n suggestedParams,\n appIndex,\n appApprovalProgram: approvalProgram,\n appOnComplete: OnApplicationComplete.UpdateApplicationOC,\n appClearProgram: clearProgram,\n appArgs,\n appAccounts: accounts,\n appForeignApps: foreignApps,\n appForeignAssets: foreignAssets,\n boxes,\n note,\n lease,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n// helper for above makeApplicationUpdateTxn, instead accepting an arguments object\nexport function makeApplicationUpdateTxnFromObject(o) {\n return makeApplicationUpdateTxn(o.from, o.suggestedParams, o.appIndex, o.approvalProgram, o.clearProgram, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo, o.boxes);\n}\n/**\n * Make a transaction that deletes an application\n * @param from - address of sender\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param appIndex - the ID of the app to be deleted\n * @param appArgs - Array of Uint8Array, any additional arguments to the application\n * @param accounts - Array of Address strings, any additional accounts to supply to the application\n * @param foreignApps - Array of int, any other apps used by the application, identified by index\n * @param foreignAssets - Array of int, any assets used by the application, identified by index\n * @param note - Arbitrary data for sender to store\n * @param lease - Lease a transaction\n * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions\n * @param boxes - Array of BoxReference, app ID and name of box to be accessed\n */\nexport function makeApplicationDeleteTxn(from, suggestedParams, appIndex, appArgs, accounts, foreignApps, foreignAssets, note, lease, rekeyTo, boxes) {\n const o = {\n type: TransactionType.appl,\n from,\n suggestedParams,\n appIndex,\n appOnComplete: OnApplicationComplete.DeleteApplicationOC,\n appArgs,\n appAccounts: accounts,\n appForeignApps: foreignApps,\n appForeignAssets: foreignAssets,\n boxes,\n note,\n lease,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n// helper for above makeApplicationDeleteTxn, instead accepting an arguments object\nexport function makeApplicationDeleteTxnFromObject(o) {\n return makeApplicationDeleteTxn(o.from, o.suggestedParams, o.appIndex, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo, o.boxes);\n}\n/**\n * Make a transaction that opts in to use an application\n * @param from - address of sender\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param appIndex - the ID of the app to join\n * @param appArgs - Array of Uint8Array, any additional arguments to the application\n * @param accounts - Array of Address strings, any additional accounts to supply to the application\n * @param foreignApps - Array of int, any other apps used by the application, identified by index\n * @param foreignAssets - Array of int, any assets used by the application, identified by index\n * @param note - Arbitrary data for sender to store\n * @param lease - Lease a transaction\n * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions\n * @param boxes - Array of BoxReference, app ID and name of box to be accessed\n */\nexport function makeApplicationOptInTxn(from, suggestedParams, appIndex, appArgs, accounts, foreignApps, foreignAssets, note, lease, rekeyTo, boxes) {\n const o = {\n type: TransactionType.appl,\n from,\n suggestedParams,\n appIndex,\n appOnComplete: OnApplicationComplete.OptInOC,\n appArgs,\n appAccounts: accounts,\n appForeignApps: foreignApps,\n appForeignAssets: foreignAssets,\n boxes,\n note,\n lease,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n// helper for above makeApplicationOptInTxn, instead accepting an argument object\nexport function makeApplicationOptInTxnFromObject(o) {\n return makeApplicationOptInTxn(o.from, o.suggestedParams, o.appIndex, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo, o.boxes);\n}\n/**\n * Make a transaction that closes out a user's state in an application\n * @param from - address of sender\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param appIndex - the ID of the app to use\n * @param appArgs - Array of Uint8Array, any additional arguments to the application\n * @param accounts - Array of Address strings, any additional accounts to supply to the application\n * @param foreignApps - Array of int, any other apps used by the application, identified by index\n * @param foreignAssets - Array of int, any assets used by the application, identified by index\n * @param note - Arbitrary data for sender to store\n * @param lease - Lease a transaction\n * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions\n * @param boxes - Array of BoxReference, app ID and name of box to be accessed\n */\nexport function makeApplicationCloseOutTxn(from, suggestedParams, appIndex, appArgs, accounts, foreignApps, foreignAssets, note, lease, rekeyTo, boxes) {\n const o = {\n type: TransactionType.appl,\n from,\n suggestedParams,\n appIndex,\n appOnComplete: OnApplicationComplete.CloseOutOC,\n appArgs,\n appAccounts: accounts,\n appForeignApps: foreignApps,\n appForeignAssets: foreignAssets,\n boxes,\n note,\n lease,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n// helper for above makeApplicationCloseOutTxn, instead accepting an argument object\nexport function makeApplicationCloseOutTxnFromObject(o) {\n return makeApplicationCloseOutTxn(o.from, o.suggestedParams, o.appIndex, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo, o.boxes);\n}\n/**\n * Make a transaction that clears a user's state in an application\n * @param from - address of sender\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param appIndex - the ID of the app to use\n * @param appArgs - Array of Uint8Array, any additional arguments to the application\n * @param accounts - Array of Address strings, any additional accounts to supply to the application\n * @param foreignApps - Array of int, any other apps used by the application, identified by index\n * @param foreignAssets - Array of int, any assets used by the application, identified by index\n * @param note - Arbitrary data for sender to store\n * @param lease - Lease a transaction\n * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions\n * @param boxes - Array of BoxReference, app ID and name of box to be accessed\n */\nexport function makeApplicationClearStateTxn(from, suggestedParams, appIndex, appArgs, accounts, foreignApps, foreignAssets, note, lease, rekeyTo, boxes) {\n const o = {\n type: TransactionType.appl,\n from,\n suggestedParams,\n appIndex,\n appOnComplete: OnApplicationComplete.ClearStateOC,\n appArgs,\n appAccounts: accounts,\n appForeignApps: foreignApps,\n appForeignAssets: foreignAssets,\n boxes,\n note,\n lease,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n// helper for above makeApplicationClearStateTxn, instead accepting an argument object\nexport function makeApplicationClearStateTxnFromObject(o) {\n return makeApplicationClearStateTxn(o.from, o.suggestedParams, o.appIndex, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo, o.boxes);\n}\n/**\n * Make a transaction that just calls an application, doing nothing on completion\n * @param from - address of sender\n * @param suggestedParams - a dict holding common-to-all-txns args:\n * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true\n * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn\n * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE\n * firstRound - integer first protocol round on which this txn is valid\n * lastRound - integer last protocol round on which this txn is valid\n * genesisHash - string specifies hash genesis block of network in use\n * genesisID - string specifies genesis ID of network in use\n * @param appIndex - the ID of the app to use\n * @param appArgs - Array of Uint8Array, any additional arguments to the application\n * @param accounts - Array of Address strings, any additional accounts to supply to the application\n * @param foreignApps - Array of int, any other apps used by the application, identified by index\n * @param foreignAssets - Array of int, any assets used by the application, identified by index\n * @param note - Arbitrary data for sender to store\n * @param lease - Lease a transaction\n * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions\n * @param boxes - Array of BoxReference, app ID and name of box to be accessed\n */\nexport function makeApplicationNoOpTxn(from, suggestedParams, appIndex, appArgs, accounts, foreignApps, foreignAssets, note, lease, rekeyTo, boxes) {\n const o = {\n type: TransactionType.appl,\n from,\n suggestedParams,\n appIndex,\n appOnComplete: OnApplicationComplete.NoOpOC,\n appArgs,\n appAccounts: accounts,\n appForeignApps: foreignApps,\n appForeignAssets: foreignAssets,\n boxes,\n note,\n lease,\n reKeyTo: rekeyTo,\n };\n return new txnBuilder.Transaction(o);\n}\n// helper for above makeApplicationNoOpTxn, instead accepting an argument object\nexport function makeApplicationNoOpTxnFromObject(o) {\n return makeApplicationNoOpTxn(o.from, o.suggestedParams, o.appIndex, o.appArgs, o.accounts, o.foreignApps, o.foreignAssets, o.note, o.lease, o.rekeyTo, o.boxes);\n}\nexport { OnApplicationComplete } from './types/transactions/base';\n/**\n * Generic function for creating any application call transaction.\n */\nexport function makeApplicationCallTxnFromObject(options) {\n const o = {\n type: TransactionType.appl,\n from: options.from,\n suggestedParams: options.suggestedParams,\n appIndex: options.appIndex,\n appOnComplete: options.onComplete,\n appLocalInts: options.numLocalInts,\n appLocalByteSlices: options.numLocalByteSlices,\n appGlobalInts: options.numGlobalInts,\n appGlobalByteSlices: options.numGlobalByteSlices,\n appApprovalProgram: options.approvalProgram,\n appClearProgram: options.clearProgram,\n appArgs: options.appArgs,\n appAccounts: options.accounts,\n appForeignApps: options.foreignApps,\n appForeignAssets: options.foreignAssets,\n boxes: options.boxes,\n note: options.note,\n lease: options.lease,\n reKeyTo: options.rekeyTo,\n extraPages: options.extraPages,\n };\n return new txnBuilder.Transaction(o);\n}\n//# sourceMappingURL=makeTxn.js.map","import { SERVER_ERROR_CODE_RANGE, RESERVED_ERROR_CODES, STANDARD_ERROR_MAP, DEFAULT_ERROR, } from \"./constants\";\nexport function isServerErrorCode(code) {\n return code <= SERVER_ERROR_CODE_RANGE[0] && code >= SERVER_ERROR_CODE_RANGE[1];\n}\nexport function isReservedErrorCode(code) {\n return RESERVED_ERROR_CODES.includes(code);\n}\nexport function isValidErrorCode(code) {\n return typeof code === \"number\";\n}\nexport function getError(type) {\n if (!Object.keys(STANDARD_ERROR_MAP).includes(type)) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return STANDARD_ERROR_MAP[type];\n}\nexport function getErrorByCode(code) {\n const match = Object.values(STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return STANDARD_ERROR_MAP[DEFAULT_ERROR];\n }\n return match;\n}\nexport function validateJsonRpcError(response) {\n if (typeof response.error.code === \"undefined\") {\n return { valid: false, error: \"Missing code for JSON-RPC error\" };\n }\n if (typeof response.error.message === \"undefined\") {\n return { valid: false, error: \"Missing message for JSON-RPC error\" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== STANDARD_ERROR_MAP[DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nexport function parseConnectionError(e, url, type) {\n return e.message.includes(\"getaddrinfo ENOTFOUND\") || e.message.includes(\"connect ECONNREFUSED\")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map","/*\n * [hi-base32]{@link https://github.com/emn178/hi-base32}\n *\n * @version 0.5.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var root = typeof window === 'object' ? window : {};\n var NODE_JS = !root.HI_BASE32_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n }\n var COMMON_JS = !root.HI_BASE32_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var BASE32_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'.split('');\n var BASE32_DECODE_CHAR = {\n 'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8,\n 'J': 9, 'K': 10, 'L': 11, 'M': 12, 'N': 13, 'O': 14, 'P': 15, 'Q': 16,\n 'R': 17, 'S': 18, 'T': 19, 'U': 20, 'V': 21, 'W': 22, 'X': 23, 'Y': 24,\n 'Z': 25, '2': 26, '3': 27, '4': 28, '5': 29, '6': 30, '7': 31\n };\n\n var blocks = [0, 0, 0, 0, 0, 0, 0, 0];\n\n var throwInvalidUtf8 = function (position, partial) {\n if (partial.length > 10) {\n partial = '...' + partial.substr(-10);\n }\n var err = new Error('Decoded data is not valid UTF-8.'\n + ' Maybe try base32.decode.asBytes()?'\n + ' Partial data after reading ' + position + ' bytes: ' + partial + ' <-');\n err.position = position;\n throw err;\n };\n\n var toUtf8String = function (bytes) {\n var str = '', length = bytes.length, i = 0, followingChars = 0, b, c;\n while (i < length) {\n b = bytes[i++];\n if (b <= 0x7F) {\n str += String.fromCharCode(b);\n continue;\n } else if (b > 0xBF && b <= 0xDF) {\n c = b & 0x1F;\n followingChars = 1;\n } else if (b <= 0xEF) {\n c = b & 0x0F;\n followingChars = 2;\n } else if (b <= 0xF7) {\n c = b & 0x07;\n followingChars = 3;\n } else {\n throwInvalidUtf8(i, str);\n }\n\n for (var j = 0; j < followingChars; ++j) {\n b = bytes[i++];\n if (b < 0x80 || b > 0xBF) {\n throwInvalidUtf8(i, str);\n }\n c <<= 6;\n c += b & 0x3F;\n }\n if (c >= 0xD800 && c <= 0xDFFF) {\n throwInvalidUtf8(i, str);\n }\n if (c > 0x10FFFF) {\n throwInvalidUtf8(i, str);\n }\n\n if (c <= 0xFFFF) {\n str += String.fromCharCode(c);\n } else {\n c -= 0x10000;\n str += String.fromCharCode((c >> 10) + 0xD800);\n str += String.fromCharCode((c & 0x3FF) + 0xDC00);\n }\n }\n return str;\n };\n\n var decodeAsBytes = function (base32Str) {\n if (base32Str === '') {\n return [];\n } else if (!/^[A-Z2-7=]+$/.test(base32Str)) {\n throw new Error('Invalid base32 characters');\n }\n base32Str = base32Str.replace(/=/g, '');\n var v1, v2, v3, v4, v5, v6, v7, v8, bytes = [], index = 0, length = base32Str.length;\n\n // 4 char to 3 bytes\n for (var i = 0, count = length >> 3 << 3; i < count;) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v8 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n bytes[index++] = (v4 << 4 | v5 >>> 1) & 255;\n bytes[index++] = (v5 << 7 | v6 << 2 | v7 >>> 3) & 255;\n bytes[index++] = (v7 << 5 | v8) & 255;\n }\n\n // remain bytes\n var remain = length - count;\n if (remain === 2) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n } else if (remain === 4) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n } else if (remain === 5) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n bytes[index++] = (v4 << 4 | v5 >>> 1) & 255;\n } else if (remain === 7) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n bytes[index++] = (v4 << 4 | v5 >>> 1) & 255;\n bytes[index++] = (v5 << 7 | v6 << 2 | v7 >>> 3) & 255;\n }\n return bytes;\n };\n\n var encodeAscii = function (str) {\n var v1, v2, v3, v4, v5, base32Str = '', length = str.length;\n for (var i = 0, count = parseInt(length / 5) * 5; i < count;) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i++);\n v3 = str.charCodeAt(i++);\n v4 = str.charCodeAt(i++);\n v5 = str.charCodeAt(i++);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] +\n BASE32_ENCODE_CHAR[v5 & 31];\n }\n\n // remain char\n var remain = length - count;\n if (remain === 1) {\n v1 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2) & 31] +\n '======';\n } else if (remain === 2) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4) & 31] +\n '====';\n } else if (remain === 3) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i++);\n v3 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1) & 31] +\n '===';\n } else if (remain === 4) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i++);\n v3 = str.charCodeAt(i++);\n v4 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3) & 31] +\n '=';\n }\n return base32Str;\n };\n\n var encodeUtf8 = function (str) {\n var v1, v2, v3, v4, v5, code, end = false, base32Str = '',\n index = 0, i, start = 0, bytes = 0, length = str.length;\n if (str === '') {\n return base32Str;\n }\n do {\n blocks[0] = blocks[5];\n blocks[1] = blocks[6];\n blocks[2] = blocks[7];\n for (i = start; index < length && i < 5; ++index) {\n code = str.charCodeAt(index);\n if (code < 0x80) {\n blocks[i++] = code;\n } else if (code < 0x800) {\n blocks[i++] = 0xc0 | (code >> 6);\n blocks[i++] = 0x80 | (code & 0x3f);\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i++] = 0xe0 | (code >> 12);\n blocks[i++] = 0x80 | ((code >> 6) & 0x3f);\n blocks[i++] = 0x80 | (code & 0x3f);\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++index) & 0x3ff));\n blocks[i++] = 0xf0 | (code >> 18);\n blocks[i++] = 0x80 | ((code >> 12) & 0x3f);\n blocks[i++] = 0x80 | ((code >> 6) & 0x3f);\n blocks[i++] = 0x80 | (code & 0x3f);\n }\n }\n bytes += i - start;\n start = i - 5;\n if (index === length) {\n ++index;\n }\n if (index > length && i < 6) {\n end = true;\n }\n v1 = blocks[0];\n if (i > 4) {\n v2 = blocks[1];\n v3 = blocks[2];\n v4 = blocks[3];\n v5 = blocks[4];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] +\n BASE32_ENCODE_CHAR[v5 & 31];\n } else if (i === 1) {\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2) & 31] +\n '======';\n } else if (i === 2) {\n v2 = blocks[1];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4) & 31] +\n '====';\n } else if (i === 3) {\n v2 = blocks[1];\n v3 = blocks[2];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1) & 31] +\n '===';\n } else {\n v2 = blocks[1];\n v3 = blocks[2];\n v4 = blocks[3];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3) & 31] +\n '=';\n }\n } while (!end);\n return base32Str;\n };\n\n var encodeBytes = function (bytes) {\n var v1, v2, v3, v4, v5, base32Str = '', length = bytes.length;\n for (var i = 0, count = parseInt(length / 5) * 5; i < count;) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n v4 = bytes[i++];\n v5 = bytes[i++];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] +\n BASE32_ENCODE_CHAR[v5 & 31];\n }\n\n // remain char\n var remain = length - count;\n if (remain === 1) {\n v1 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2) & 31] +\n '======';\n } else if (remain === 2) {\n v1 = bytes[i++];\n v2 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4) & 31] +\n '====';\n } else if (remain === 3) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1) & 31] +\n '===';\n } else if (remain === 4) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n v4 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3) & 31] +\n '=';\n }\n return base32Str;\n };\n\n var encode = function (input, asciiOnly) {\n var notString = typeof(input) !== 'string';\n if (notString && input.constructor === ArrayBuffer) {\n input = new Uint8Array(input);\n }\n if (notString) {\n return encodeBytes(input);\n } else if (asciiOnly) {\n return encodeAscii(input);\n } else {\n return encodeUtf8(input);\n }\n };\n\n var decode = function (base32Str, asciiOnly) {\n if (!asciiOnly) {\n return toUtf8String(decodeAsBytes(base32Str));\n }\n if (base32Str === '') {\n return '';\n } else if (!/^[A-Z2-7=]+$/.test(base32Str)) {\n throw new Error('Invalid base32 characters');\n }\n var v1, v2, v3, v4, v5, v6, v7, v8, str = '', length = base32Str.indexOf('=');\n if (length === -1) {\n length = base32Str.length;\n }\n\n // 8 char to 5 bytes\n for (var i = 0, count = length >> 3 << 3; i < count;) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v8 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) +\n String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) +\n String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255) +\n String.fromCharCode((v7 << 5 | v8) & 255);\n }\n\n // remain bytes\n var remain = length - count;\n if (remain === 2) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255);\n } else if (remain === 4) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255);\n } else if (remain === 5) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) +\n String.fromCharCode((v4 << 4 | v5 >>> 1) & 255);\n } else if (remain === 7) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) +\n String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) +\n String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255);\n }\n return str;\n };\n\n var exports = {\n encode: encode,\n decode: decode\n };\n decode.asBytes = decodeAsBytes;\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.base32 = exports;\n if (AMD) {\n define(function() {\n return exports;\n });\n }\n }\n})();\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","const MICROALGOS_TO_ALGOS_RATIO = 1e6;\nexport const INVALID_MICROALGOS_ERROR_MSG = 'Microalgos should be positive and less than 2^53 - 1.';\n/**\n * microalgosToAlgos converts microalgos to algos\n * @param microalgos - number\n * @returns number\n */\nexport function microalgosToAlgos(microalgos) {\n if (microalgos < 0 || !Number.isSafeInteger(microalgos)) {\n throw new Error(INVALID_MICROALGOS_ERROR_MSG);\n }\n return microalgos / MICROALGOS_TO_ALGOS_RATIO;\n}\n/**\n * algosToMicroalgos converts algos to microalgos\n * @param algos - number\n * @returns number\n */\nexport function algosToMicroalgos(algos) {\n const microalgos = algos * MICROALGOS_TO_ALGOS_RATIO;\n return Math.round(microalgos);\n}\n//# sourceMappingURL=convert.js.map","/**\n * NOTICE: This file was generated. Editing this file manually is not recommended.\n */\n/* eslint-disable no-use-before-define */\nimport BaseModel from '../../basemodel';\n/**\n * Account information at a given round.\n * Definition:\n * data/basics/userBalance.go : AccountData\n */\nexport class Account extends BaseModel {\n /**\n * Creates a new `Account` object.\n * @param address - the account public key\n * @param amount - (algo) total number of MicroAlgos in the account\n * @param amountWithoutPendingRewards - specifies the amount of MicroAlgos in the account, without the pending rewards.\n * @param pendingRewards - amount of MicroAlgos of pending rewards in this account.\n * @param rewards - (ern) total rewards of MicroAlgos the account has received, including pending\n * rewards.\n * @param round - The round for which this information is relevant.\n * @param status - (onl) delegation status of the account's MicroAlgos\n * * Offline - indicates that the associated account is delegated.\n * * Online - indicates that the associated account used as part of the delegation\n * pool.\n * * NotParticipating - indicates that the associated account is neither a\n * delegator nor a delegate.\n * @param totalAppsOptedIn - The count of all applications that have been opted in, equivalent to the count\n * of application local data (AppLocalState objects) stored in this account.\n * @param totalAssetsOptedIn - The count of all assets that have been opted in, equivalent to the count of\n * AssetHolding objects held by this account.\n * @param totalBoxBytes - For app-accounts only. The total number of bytes allocated for the keys and\n * values of boxes which belong to the associated application.\n * @param totalBoxes - For app-accounts only. The total number of boxes which belong to the associated\n * application.\n * @param totalCreatedApps - The count of all apps (AppParams objects) created by this account.\n * @param totalCreatedAssets - The count of all assets (AssetParams objects) created by this account.\n * @param appsLocalState - (appl) applications local data stored in this account.\n * Note the raw object uses `map[int] -> AppLocalState` for this type.\n * @param appsTotalExtraPages - (teap) the sum of all extra application program pages for this account.\n * @param appsTotalSchema - (tsch) stores the sum of all of the local schemas and global schemas in this\n * account.\n * Note: the raw account uses `StateSchema` for this type.\n * @param assets - (asset) assets held by this account.\n * Note the raw object uses `map[int] -> AssetHolding` for this type.\n * @param authAddr - (spend) the address against which signing should be checked. If empty, the\n * address of the current account is used. This field can be updated in any\n * transaction by setting the RekeyTo field.\n * @param closedAtRound - Round during which this account was most recently closed.\n * @param createdApps - (appp) parameters of applications created by this account including app global\n * data.\n * Note: the raw account uses `map[int] -> AppParams` for this type.\n * @param createdAssets - (apar) parameters of assets created by this account.\n * Note: the raw account uses `map[int] -> Asset` for this type.\n * @param createdAtRound - Round during which this account first appeared in a transaction.\n * @param deleted - Whether or not this account is currently closed.\n * @param participation - AccountParticipation describes the parameters used by this account in consensus\n * protocol.\n * @param rewardBase - (ebase) used as part of the rewards computation. Only applicable to accounts\n * which are participating.\n * @param sigType - Indicates what type of signature is used by this account, must be one of:\n * * sig\n * * msig\n * * lsig\n * * or null if unknown\n */\n constructor({ address, amount, amountWithoutPendingRewards, pendingRewards, rewards, round, status, totalAppsOptedIn, totalAssetsOptedIn, totalBoxBytes, totalBoxes, totalCreatedApps, totalCreatedAssets, appsLocalState, appsTotalExtraPages, appsTotalSchema, assets, authAddr, closedAtRound, createdApps, createdAssets, createdAtRound, deleted, participation, rewardBase, sigType, }) {\n super();\n this.address = address;\n this.amount = amount;\n this.amountWithoutPendingRewards = amountWithoutPendingRewards;\n this.pendingRewards = pendingRewards;\n this.rewards = rewards;\n this.round = round;\n this.status = status;\n this.totalAppsOptedIn = totalAppsOptedIn;\n this.totalAssetsOptedIn = totalAssetsOptedIn;\n this.totalBoxBytes = totalBoxBytes;\n this.totalBoxes = totalBoxes;\n this.totalCreatedApps = totalCreatedApps;\n this.totalCreatedAssets = totalCreatedAssets;\n this.appsLocalState = appsLocalState;\n this.appsTotalExtraPages = appsTotalExtraPages;\n this.appsTotalSchema = appsTotalSchema;\n this.assets = assets;\n this.authAddr = authAddr;\n this.closedAtRound = closedAtRound;\n this.createdApps = createdApps;\n this.createdAssets = createdAssets;\n this.createdAtRound = createdAtRound;\n this.deleted = deleted;\n this.participation = participation;\n this.rewardBase = rewardBase;\n this.sigType = sigType;\n this.attribute_map = {\n address: 'address',\n amount: 'amount',\n amountWithoutPendingRewards: 'amount-without-pending-rewards',\n pendingRewards: 'pending-rewards',\n rewards: 'rewards',\n round: 'round',\n status: 'status',\n totalAppsOptedIn: 'total-apps-opted-in',\n totalAssetsOptedIn: 'total-assets-opted-in',\n totalBoxBytes: 'total-box-bytes',\n totalBoxes: 'total-boxes',\n totalCreatedApps: 'total-created-apps',\n totalCreatedAssets: 'total-created-assets',\n appsLocalState: 'apps-local-state',\n appsTotalExtraPages: 'apps-total-extra-pages',\n appsTotalSchema: 'apps-total-schema',\n assets: 'assets',\n authAddr: 'auth-addr',\n closedAtRound: 'closed-at-round',\n createdApps: 'created-apps',\n createdAssets: 'created-assets',\n createdAtRound: 'created-at-round',\n deleted: 'deleted',\n participation: 'participation',\n rewardBase: 'reward-base',\n sigType: 'sig-type',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['address'] === 'undefined')\n throw new Error(`Response is missing required field 'address': ${data}`);\n if (typeof data['amount'] === 'undefined')\n throw new Error(`Response is missing required field 'amount': ${data}`);\n if (typeof data['amount-without-pending-rewards'] === 'undefined')\n throw new Error(`Response is missing required field 'amount-without-pending-rewards': ${data}`);\n if (typeof data['pending-rewards'] === 'undefined')\n throw new Error(`Response is missing required field 'pending-rewards': ${data}`);\n if (typeof data['rewards'] === 'undefined')\n throw new Error(`Response is missing required field 'rewards': ${data}`);\n if (typeof data['round'] === 'undefined')\n throw new Error(`Response is missing required field 'round': ${data}`);\n if (typeof data['status'] === 'undefined')\n throw new Error(`Response is missing required field 'status': ${data}`);\n if (typeof data['total-apps-opted-in'] === 'undefined')\n throw new Error(`Response is missing required field 'total-apps-opted-in': ${data}`);\n if (typeof data['total-assets-opted-in'] === 'undefined')\n throw new Error(`Response is missing required field 'total-assets-opted-in': ${data}`);\n if (typeof data['total-box-bytes'] === 'undefined')\n throw new Error(`Response is missing required field 'total-box-bytes': ${data}`);\n if (typeof data['total-boxes'] === 'undefined')\n throw new Error(`Response is missing required field 'total-boxes': ${data}`);\n if (typeof data['total-created-apps'] === 'undefined')\n throw new Error(`Response is missing required field 'total-created-apps': ${data}`);\n if (typeof data['total-created-assets'] === 'undefined')\n throw new Error(`Response is missing required field 'total-created-assets': ${data}`);\n return new Account({\n address: data['address'],\n amount: data['amount'],\n amountWithoutPendingRewards: data['amount-without-pending-rewards'],\n pendingRewards: data['pending-rewards'],\n rewards: data['rewards'],\n round: data['round'],\n status: data['status'],\n totalAppsOptedIn: data['total-apps-opted-in'],\n totalAssetsOptedIn: data['total-assets-opted-in'],\n totalBoxBytes: data['total-box-bytes'],\n totalBoxes: data['total-boxes'],\n totalCreatedApps: data['total-created-apps'],\n totalCreatedAssets: data['total-created-assets'],\n appsLocalState: typeof data['apps-local-state'] !== 'undefined'\n ? data['apps-local-state'].map(ApplicationLocalState.from_obj_for_encoding)\n : undefined,\n appsTotalExtraPages: data['apps-total-extra-pages'],\n appsTotalSchema: typeof data['apps-total-schema'] !== 'undefined'\n ? ApplicationStateSchema.from_obj_for_encoding(data['apps-total-schema'])\n : undefined,\n assets: typeof data['assets'] !== 'undefined'\n ? data['assets'].map(AssetHolding.from_obj_for_encoding)\n : undefined,\n authAddr: data['auth-addr'],\n closedAtRound: data['closed-at-round'],\n createdApps: typeof data['created-apps'] !== 'undefined'\n ? data['created-apps'].map(Application.from_obj_for_encoding)\n : undefined,\n createdAssets: typeof data['created-assets'] !== 'undefined'\n ? data['created-assets'].map(Asset.from_obj_for_encoding)\n : undefined,\n createdAtRound: data['created-at-round'],\n deleted: data['deleted'],\n participation: typeof data['participation'] !== 'undefined'\n ? AccountParticipation.from_obj_for_encoding(data['participation'])\n : undefined,\n rewardBase: data['reward-base'],\n sigType: data['sig-type'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * AccountParticipation describes the parameters used by this account in consensus\n * protocol.\n */\nexport class AccountParticipation extends BaseModel {\n /**\n * Creates a new `AccountParticipation` object.\n * @param selectionParticipationKey - (sel) Selection public key (if any) currently registered for this round.\n * @param voteFirstValid - (voteFst) First round for which this participation is valid.\n * @param voteKeyDilution - (voteKD) Number of subkeys in each batch of participation keys.\n * @param voteLastValid - (voteLst) Last round for which this participation is valid.\n * @param voteParticipationKey - (vote) root participation public key (if any) currently registered for this\n * round.\n * @param stateProofKey - (stprf) Root of the state proof key (if any)\n */\n constructor({ selectionParticipationKey, voteFirstValid, voteKeyDilution, voteLastValid, voteParticipationKey, stateProofKey, }) {\n super();\n this.selectionParticipationKey =\n typeof selectionParticipationKey === 'string'\n ? new Uint8Array(Buffer.from(selectionParticipationKey, 'base64'))\n : selectionParticipationKey;\n this.voteFirstValid = voteFirstValid;\n this.voteKeyDilution = voteKeyDilution;\n this.voteLastValid = voteLastValid;\n this.voteParticipationKey =\n typeof voteParticipationKey === 'string'\n ? new Uint8Array(Buffer.from(voteParticipationKey, 'base64'))\n : voteParticipationKey;\n this.stateProofKey =\n typeof stateProofKey === 'string'\n ? new Uint8Array(Buffer.from(stateProofKey, 'base64'))\n : stateProofKey;\n this.attribute_map = {\n selectionParticipationKey: 'selection-participation-key',\n voteFirstValid: 'vote-first-valid',\n voteKeyDilution: 'vote-key-dilution',\n voteLastValid: 'vote-last-valid',\n voteParticipationKey: 'vote-participation-key',\n stateProofKey: 'state-proof-key',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['selection-participation-key'] === 'undefined')\n throw new Error(`Response is missing required field 'selection-participation-key': ${data}`);\n if (typeof data['vote-first-valid'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-first-valid': ${data}`);\n if (typeof data['vote-key-dilution'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-key-dilution': ${data}`);\n if (typeof data['vote-last-valid'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-last-valid': ${data}`);\n if (typeof data['vote-participation-key'] === 'undefined')\n throw new Error(`Response is missing required field 'vote-participation-key': ${data}`);\n return new AccountParticipation({\n selectionParticipationKey: data['selection-participation-key'],\n voteFirstValid: data['vote-first-valid'],\n voteKeyDilution: data['vote-key-dilution'],\n voteLastValid: data['vote-last-valid'],\n voteParticipationKey: data['vote-participation-key'],\n stateProofKey: data['state-proof-key'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class AccountResponse extends BaseModel {\n /**\n * Creates a new `AccountResponse` object.\n * @param account - Account information at a given round.\n * Definition:\n * data/basics/userBalance.go : AccountData\n * @param currentRound - Round at which the results were computed.\n */\n constructor({ account, currentRound, }) {\n super();\n this.account = account;\n this.currentRound = currentRound;\n this.attribute_map = {\n account: 'account',\n currentRound: 'current-round',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['account'] === 'undefined')\n throw new Error(`Response is missing required field 'account': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new AccountResponse({\n account: Account.from_obj_for_encoding(data['account']),\n currentRound: data['current-round'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Application state delta.\n */\nexport class AccountStateDelta extends BaseModel {\n /**\n * Creates a new `AccountStateDelta` object.\n * @param address -\n * @param delta - Application state delta.\n */\n constructor({ address, delta, }) {\n super();\n this.address = address;\n this.delta = delta;\n this.attribute_map = {\n address: 'address',\n delta: 'delta',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['address'] === 'undefined')\n throw new Error(`Response is missing required field 'address': ${data}`);\n if (!Array.isArray(data['delta']))\n throw new Error(`Response is missing required array field 'delta': ${data}`);\n return new AccountStateDelta({\n address: data['address'],\n delta: data['delta'].map(EvalDeltaKeyValue.from_obj_for_encoding),\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class AccountsResponse extends BaseModel {\n /**\n * Creates a new `AccountsResponse` object.\n * @param accounts -\n * @param currentRound - Round at which the results were computed.\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ accounts, currentRound, nextToken, }) {\n super();\n this.accounts = accounts;\n this.currentRound = currentRound;\n this.nextToken = nextToken;\n this.attribute_map = {\n accounts: 'accounts',\n currentRound: 'current-round',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['accounts']))\n throw new Error(`Response is missing required array field 'accounts': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new AccountsResponse({\n accounts: data['accounts'].map(Account.from_obj_for_encoding),\n currentRound: data['current-round'],\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Application index and its parameters\n */\nexport class Application extends BaseModel {\n /**\n * Creates a new `Application` object.\n * @param id - (appidx) application index.\n * @param params - (appparams) application parameters.\n * @param createdAtRound - Round when this application was created.\n * @param deleted - Whether or not this application is currently deleted.\n * @param deletedAtRound - Round when this application was deleted.\n */\n constructor({ id, params, createdAtRound, deleted, deletedAtRound, }) {\n super();\n this.id = id;\n this.params = params;\n this.createdAtRound = createdAtRound;\n this.deleted = deleted;\n this.deletedAtRound = deletedAtRound;\n this.attribute_map = {\n id: 'id',\n params: 'params',\n createdAtRound: 'created-at-round',\n deleted: 'deleted',\n deletedAtRound: 'deleted-at-round',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['id'] === 'undefined')\n throw new Error(`Response is missing required field 'id': ${data}`);\n if (typeof data['params'] === 'undefined')\n throw new Error(`Response is missing required field 'params': ${data}`);\n return new Application({\n id: data['id'],\n params: ApplicationParams.from_obj_for_encoding(data['params']),\n createdAtRound: data['created-at-round'],\n deleted: data['deleted'],\n deletedAtRound: data['deleted-at-round'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Stores local state associated with an application.\n */\nexport class ApplicationLocalState extends BaseModel {\n /**\n * Creates a new `ApplicationLocalState` object.\n * @param id - The application which this local state is for.\n * @param schema - (hsch) schema.\n * @param closedOutAtRound - Round when account closed out of the application.\n * @param deleted - Whether or not the application local state is currently deleted from its\n * account.\n * @param keyValue - (tkv) storage.\n * @param optedInAtRound - Round when the account opted into the application.\n */\n constructor({ id, schema, closedOutAtRound, deleted, keyValue, optedInAtRound, }) {\n super();\n this.id = id;\n this.schema = schema;\n this.closedOutAtRound = closedOutAtRound;\n this.deleted = deleted;\n this.keyValue = keyValue;\n this.optedInAtRound = optedInAtRound;\n this.attribute_map = {\n id: 'id',\n schema: 'schema',\n closedOutAtRound: 'closed-out-at-round',\n deleted: 'deleted',\n keyValue: 'key-value',\n optedInAtRound: 'opted-in-at-round',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['id'] === 'undefined')\n throw new Error(`Response is missing required field 'id': ${data}`);\n if (typeof data['schema'] === 'undefined')\n throw new Error(`Response is missing required field 'schema': ${data}`);\n return new ApplicationLocalState({\n id: data['id'],\n schema: ApplicationStateSchema.from_obj_for_encoding(data['schema']),\n closedOutAtRound: data['closed-out-at-round'],\n deleted: data['deleted'],\n keyValue: typeof data['key-value'] !== 'undefined'\n ? data['key-value'].map(TealKeyValue.from_obj_for_encoding)\n : undefined,\n optedInAtRound: data['opted-in-at-round'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class ApplicationLocalStatesResponse extends BaseModel {\n /**\n * Creates a new `ApplicationLocalStatesResponse` object.\n * @param appsLocalStates -\n * @param currentRound - Round at which the results were computed.\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ appsLocalStates, currentRound, nextToken, }) {\n super();\n this.appsLocalStates = appsLocalStates;\n this.currentRound = currentRound;\n this.nextToken = nextToken;\n this.attribute_map = {\n appsLocalStates: 'apps-local-states',\n currentRound: 'current-round',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['apps-local-states']))\n throw new Error(`Response is missing required array field 'apps-local-states': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new ApplicationLocalStatesResponse({\n appsLocalStates: data['apps-local-states'].map(ApplicationLocalState.from_obj_for_encoding),\n currentRound: data['current-round'],\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Stores the global information associated with an application.\n */\nexport class ApplicationLogData extends BaseModel {\n /**\n * Creates a new `ApplicationLogData` object.\n * @param logs - (lg) Logs for the application being executed by the transaction.\n * @param txid - Transaction ID\n */\n constructor({ logs, txid }) {\n super();\n this.logs = logs;\n this.txid = txid;\n this.attribute_map = {\n logs: 'logs',\n txid: 'txid',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['logs']))\n throw new Error(`Response is missing required array field 'logs': ${data}`);\n if (typeof data['txid'] === 'undefined')\n throw new Error(`Response is missing required field 'txid': ${data}`);\n return new ApplicationLogData({\n logs: data['logs'],\n txid: data['txid'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class ApplicationLogsResponse extends BaseModel {\n /**\n * Creates a new `ApplicationLogsResponse` object.\n * @param applicationId - (appidx) application index.\n * @param currentRound - Round at which the results were computed.\n * @param logData -\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ applicationId, currentRound, logData, nextToken, }) {\n super();\n this.applicationId = applicationId;\n this.currentRound = currentRound;\n this.logData = logData;\n this.nextToken = nextToken;\n this.attribute_map = {\n applicationId: 'application-id',\n currentRound: 'current-round',\n logData: 'log-data',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['application-id'] === 'undefined')\n throw new Error(`Response is missing required field 'application-id': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new ApplicationLogsResponse({\n applicationId: data['application-id'],\n currentRound: data['current-round'],\n logData: typeof data['log-data'] !== 'undefined'\n ? data['log-data'].map(ApplicationLogData.from_obj_for_encoding)\n : undefined,\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Stores the global information associated with an application.\n */\nexport class ApplicationParams extends BaseModel {\n /**\n * Creates a new `ApplicationParams` object.\n * @param approvalProgram - (approv) approval program.\n * @param clearStateProgram - (clearp) approval program.\n * @param creator - The address that created this application. This is the address where the\n * parameters and global state for this application can be found.\n * @param extraProgramPages - (epp) the amount of extra program pages available to this app.\n * @param globalState - [\\gs) global schema\n * @param globalStateSchema - [\\gsch) global schema\n * @param localStateSchema - [\\lsch) local schema\n */\n constructor({ approvalProgram, clearStateProgram, creator, extraProgramPages, globalState, globalStateSchema, localStateSchema, }) {\n super();\n this.approvalProgram =\n typeof approvalProgram === 'string'\n ? new Uint8Array(Buffer.from(approvalProgram, 'base64'))\n : approvalProgram;\n this.clearStateProgram =\n typeof clearStateProgram === 'string'\n ? new Uint8Array(Buffer.from(clearStateProgram, 'base64'))\n : clearStateProgram;\n this.creator = creator;\n this.extraProgramPages = extraProgramPages;\n this.globalState = globalState;\n this.globalStateSchema = globalStateSchema;\n this.localStateSchema = localStateSchema;\n this.attribute_map = {\n approvalProgram: 'approval-program',\n clearStateProgram: 'clear-state-program',\n creator: 'creator',\n extraProgramPages: 'extra-program-pages',\n globalState: 'global-state',\n globalStateSchema: 'global-state-schema',\n localStateSchema: 'local-state-schema',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['approval-program'] === 'undefined')\n throw new Error(`Response is missing required field 'approval-program': ${data}`);\n if (typeof data['clear-state-program'] === 'undefined')\n throw new Error(`Response is missing required field 'clear-state-program': ${data}`);\n return new ApplicationParams({\n approvalProgram: data['approval-program'],\n clearStateProgram: data['clear-state-program'],\n creator: data['creator'],\n extraProgramPages: data['extra-program-pages'],\n globalState: typeof data['global-state'] !== 'undefined'\n ? data['global-state'].map(TealKeyValue.from_obj_for_encoding)\n : undefined,\n globalStateSchema: typeof data['global-state-schema'] !== 'undefined'\n ? ApplicationStateSchema.from_obj_for_encoding(data['global-state-schema'])\n : undefined,\n localStateSchema: typeof data['local-state-schema'] !== 'undefined'\n ? ApplicationStateSchema.from_obj_for_encoding(data['local-state-schema'])\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class ApplicationResponse extends BaseModel {\n /**\n * Creates a new `ApplicationResponse` object.\n * @param currentRound - Round at which the results were computed.\n * @param application - Application index and its parameters\n */\n constructor({ currentRound, application, }) {\n super();\n this.currentRound = currentRound;\n this.application = application;\n this.attribute_map = {\n currentRound: 'current-round',\n application: 'application',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new ApplicationResponse({\n currentRound: data['current-round'],\n application: typeof data['application'] !== 'undefined'\n ? Application.from_obj_for_encoding(data['application'])\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Specifies maximums on the number of each type that may be stored.\n */\nexport class ApplicationStateSchema extends BaseModel {\n /**\n * Creates a new `ApplicationStateSchema` object.\n * @param numByteSlice - (nbs) num of byte slices.\n * @param numUint - (nui) num of uints.\n */\n constructor({ numByteSlice, numUint, }) {\n super();\n this.numByteSlice = numByteSlice;\n this.numUint = numUint;\n this.attribute_map = {\n numByteSlice: 'num-byte-slice',\n numUint: 'num-uint',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['num-byte-slice'] === 'undefined')\n throw new Error(`Response is missing required field 'num-byte-slice': ${data}`);\n if (typeof data['num-uint'] === 'undefined')\n throw new Error(`Response is missing required field 'num-uint': ${data}`);\n return new ApplicationStateSchema({\n numByteSlice: data['num-byte-slice'],\n numUint: data['num-uint'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class ApplicationsResponse extends BaseModel {\n /**\n * Creates a new `ApplicationsResponse` object.\n * @param applications -\n * @param currentRound - Round at which the results were computed.\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ applications, currentRound, nextToken, }) {\n super();\n this.applications = applications;\n this.currentRound = currentRound;\n this.nextToken = nextToken;\n this.attribute_map = {\n applications: 'applications',\n currentRound: 'current-round',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['applications']))\n throw new Error(`Response is missing required array field 'applications': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new ApplicationsResponse({\n applications: data['applications'].map(Application.from_obj_for_encoding),\n currentRound: data['current-round'],\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Specifies both the unique identifier and the parameters for an asset\n */\nexport class Asset extends BaseModel {\n /**\n * Creates a new `Asset` object.\n * @param index - unique asset identifier\n * @param params - AssetParams specifies the parameters for an asset.\n * (apar) when part of an AssetConfig transaction.\n * Definition:\n * data/transactions/asset.go : AssetParams\n * @param createdAtRound - Round during which this asset was created.\n * @param deleted - Whether or not this asset is currently deleted.\n * @param destroyedAtRound - Round during which this asset was destroyed.\n */\n constructor({ index, params, createdAtRound, deleted, destroyedAtRound, }) {\n super();\n this.index = index;\n this.params = params;\n this.createdAtRound = createdAtRound;\n this.deleted = deleted;\n this.destroyedAtRound = destroyedAtRound;\n this.attribute_map = {\n index: 'index',\n params: 'params',\n createdAtRound: 'created-at-round',\n deleted: 'deleted',\n destroyedAtRound: 'destroyed-at-round',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['index'] === 'undefined')\n throw new Error(`Response is missing required field 'index': ${data}`);\n if (typeof data['params'] === 'undefined')\n throw new Error(`Response is missing required field 'params': ${data}`);\n return new Asset({\n index: data['index'],\n params: AssetParams.from_obj_for_encoding(data['params']),\n createdAtRound: data['created-at-round'],\n deleted: data['deleted'],\n destroyedAtRound: data['destroyed-at-round'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class AssetBalancesResponse extends BaseModel {\n /**\n * Creates a new `AssetBalancesResponse` object.\n * @param balances -\n * @param currentRound - Round at which the results were computed.\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ balances, currentRound, nextToken, }) {\n super();\n this.balances = balances;\n this.currentRound = currentRound;\n this.nextToken = nextToken;\n this.attribute_map = {\n balances: 'balances',\n currentRound: 'current-round',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['balances']))\n throw new Error(`Response is missing required array field 'balances': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new AssetBalancesResponse({\n balances: data['balances'].map(MiniAssetHolding.from_obj_for_encoding),\n currentRound: data['current-round'],\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Describes an asset held by an account.\n * Definition:\n * data/basics/userBalance.go : AssetHolding\n */\nexport class AssetHolding extends BaseModel {\n /**\n * Creates a new `AssetHolding` object.\n * @param amount - (a) number of units held.\n * @param assetId - Asset ID of the holding.\n * @param isFrozen - (f) whether or not the holding is frozen.\n * @param deleted - Whether or not the asset holding is currently deleted from its account.\n * @param optedInAtRound - Round during which the account opted into this asset holding.\n * @param optedOutAtRound - Round during which the account opted out of this asset holding.\n */\n constructor({ amount, assetId, isFrozen, deleted, optedInAtRound, optedOutAtRound, }) {\n super();\n this.amount = amount;\n this.assetId = assetId;\n this.isFrozen = isFrozen;\n this.deleted = deleted;\n this.optedInAtRound = optedInAtRound;\n this.optedOutAtRound = optedOutAtRound;\n this.attribute_map = {\n amount: 'amount',\n assetId: 'asset-id',\n isFrozen: 'is-frozen',\n deleted: 'deleted',\n optedInAtRound: 'opted-in-at-round',\n optedOutAtRound: 'opted-out-at-round',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['amount'] === 'undefined')\n throw new Error(`Response is missing required field 'amount': ${data}`);\n if (typeof data['asset-id'] === 'undefined')\n throw new Error(`Response is missing required field 'asset-id': ${data}`);\n if (typeof data['is-frozen'] === 'undefined')\n throw new Error(`Response is missing required field 'is-frozen': ${data}`);\n return new AssetHolding({\n amount: data['amount'],\n assetId: data['asset-id'],\n isFrozen: data['is-frozen'],\n deleted: data['deleted'],\n optedInAtRound: data['opted-in-at-round'],\n optedOutAtRound: data['opted-out-at-round'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class AssetHoldingsResponse extends BaseModel {\n /**\n * Creates a new `AssetHoldingsResponse` object.\n * @param assets -\n * @param currentRound - Round at which the results were computed.\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ assets, currentRound, nextToken, }) {\n super();\n this.assets = assets;\n this.currentRound = currentRound;\n this.nextToken = nextToken;\n this.attribute_map = {\n assets: 'assets',\n currentRound: 'current-round',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['assets']))\n throw new Error(`Response is missing required array field 'assets': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new AssetHoldingsResponse({\n assets: data['assets'].map(AssetHolding.from_obj_for_encoding),\n currentRound: data['current-round'],\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * AssetParams specifies the parameters for an asset.\n * (apar) when part of an AssetConfig transaction.\n * Definition:\n * data/transactions/asset.go : AssetParams\n */\nexport class AssetParams extends BaseModel {\n /**\n * Creates a new `AssetParams` object.\n * @param creator - The address that created this asset. This is the address where the parameters\n * for this asset can be found, and also the address where unwanted asset units can\n * be sent in the worst case.\n * @param decimals - (dc) The number of digits to use after the decimal point when displaying this\n * asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in\n * tenths. If 2, the base unit of the asset is in hundredths, and so on. This value\n * must be between 0 and 19 (inclusive).\n * @param total - (t) The total number of units of this asset.\n * @param clawback - (c) Address of account used to clawback holdings of this asset. If empty,\n * clawback is not permitted.\n * @param defaultFrozen - (df) Whether holdings of this asset are frozen by default.\n * @param freeze - (f) Address of account used to freeze holdings of this asset. If empty, freezing\n * is not permitted.\n * @param manager - (m) Address of account used to manage the keys of this asset and to destroy it.\n * @param metadataHash - (am) A commitment to some unspecified asset metadata. The format of this\n * metadata is up to the application.\n * @param name - (an) Name of this asset, as supplied by the creator. Included only when the\n * asset name is composed of printable utf-8 characters.\n * @param nameB64 - Base64 encoded name of this asset, as supplied by the creator.\n * @param reserve - (r) Address of account holding reserve (non-minted) units of this asset.\n * @param unitName - (un) Name of a unit of this asset, as supplied by the creator. Included only\n * when the name of a unit of this asset is composed of printable utf-8 characters.\n * @param unitNameB64 - Base64 encoded name of a unit of this asset, as supplied by the creator.\n * @param url - (au) URL where more information about the asset can be retrieved. Included only\n * when the URL is composed of printable utf-8 characters.\n * @param urlB64 - Base64 encoded URL where more information about the asset can be retrieved.\n */\n constructor({ creator, decimals, total, clawback, defaultFrozen, freeze, manager, metadataHash, name, nameB64, reserve, unitName, unitNameB64, url, urlB64, }) {\n super();\n this.creator = creator;\n this.decimals = decimals;\n this.total = total;\n this.clawback = clawback;\n this.defaultFrozen = defaultFrozen;\n this.freeze = freeze;\n this.manager = manager;\n this.metadataHash =\n typeof metadataHash === 'string'\n ? new Uint8Array(Buffer.from(metadataHash, 'base64'))\n : metadataHash;\n this.name = name;\n this.nameB64 =\n typeof nameB64 === 'string'\n ? new Uint8Array(Buffer.from(nameB64, 'base64'))\n : nameB64;\n this.reserve = reserve;\n this.unitName = unitName;\n this.unitNameB64 =\n typeof unitNameB64 === 'string'\n ? new Uint8Array(Buffer.from(unitNameB64, 'base64'))\n : unitNameB64;\n this.url = url;\n this.urlB64 =\n typeof urlB64 === 'string'\n ? new Uint8Array(Buffer.from(urlB64, 'base64'))\n : urlB64;\n this.attribute_map = {\n creator: 'creator',\n decimals: 'decimals',\n total: 'total',\n clawback: 'clawback',\n defaultFrozen: 'default-frozen',\n freeze: 'freeze',\n manager: 'manager',\n metadataHash: 'metadata-hash',\n name: 'name',\n nameB64: 'name-b64',\n reserve: 'reserve',\n unitName: 'unit-name',\n unitNameB64: 'unit-name-b64',\n url: 'url',\n urlB64: 'url-b64',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['creator'] === 'undefined')\n throw new Error(`Response is missing required field 'creator': ${data}`);\n if (typeof data['decimals'] === 'undefined')\n throw new Error(`Response is missing required field 'decimals': ${data}`);\n if (typeof data['total'] === 'undefined')\n throw new Error(`Response is missing required field 'total': ${data}`);\n return new AssetParams({\n creator: data['creator'],\n decimals: data['decimals'],\n total: data['total'],\n clawback: data['clawback'],\n defaultFrozen: data['default-frozen'],\n freeze: data['freeze'],\n manager: data['manager'],\n metadataHash: data['metadata-hash'],\n name: data['name'],\n nameB64: data['name-b64'],\n reserve: data['reserve'],\n unitName: data['unit-name'],\n unitNameB64: data['unit-name-b64'],\n url: data['url'],\n urlB64: data['url-b64'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class AssetResponse extends BaseModel {\n /**\n * Creates a new `AssetResponse` object.\n * @param asset - Specifies both the unique identifier and the parameters for an asset\n * @param currentRound - Round at which the results were computed.\n */\n constructor({ asset, currentRound, }) {\n super();\n this.asset = asset;\n this.currentRound = currentRound;\n this.attribute_map = {\n asset: 'asset',\n currentRound: 'current-round',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['asset'] === 'undefined')\n throw new Error(`Response is missing required field 'asset': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new AssetResponse({\n asset: Asset.from_obj_for_encoding(data['asset']),\n currentRound: data['current-round'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class AssetsResponse extends BaseModel {\n /**\n * Creates a new `AssetsResponse` object.\n * @param assets -\n * @param currentRound - Round at which the results were computed.\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ assets, currentRound, nextToken, }) {\n super();\n this.assets = assets;\n this.currentRound = currentRound;\n this.nextToken = nextToken;\n this.attribute_map = {\n assets: 'assets',\n currentRound: 'current-round',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (!Array.isArray(data['assets']))\n throw new Error(`Response is missing required array field 'assets': ${data}`);\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n return new AssetsResponse({\n assets: data['assets'].map(Asset.from_obj_for_encoding),\n currentRound: data['current-round'],\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Block information.\n * Definition:\n * data/bookkeeping/block.go : Block\n */\nexport class Block extends BaseModel {\n /**\n * Creates a new `Block` object.\n * @param genesisHash - (gh) hash to which this block belongs.\n * @param genesisId - (gen) ID to which this block belongs.\n * @param previousBlockHash - (prev) Previous block hash.\n * @param round - (rnd) Current round on which this block was appended to the chain.\n * @param seed - (seed) Sortition seed.\n * @param timestamp - (ts) Block creation timestamp in seconds since eposh\n * @param transactionsRoot - (txn) TransactionsRoot authenticates the set of transactions appearing in the\n * block. More specifically, it's the root of a merkle tree whose leaves are the\n * block's Txids, in lexicographic order. For the empty block, it's 0. Note that\n * the TxnRoot does not authenticate the signatures on the transactions, only the\n * transactions themselves. Two blocks with the same transactions but in a\n * different order and with different signatures will have the same TxnRoot.\n * @param transactionsRootSha256 - (txn256) TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a\n * vector commitment instead of a merkle tree, and SHA256 hash function instead of\n * the default SHA512_256. This commitment can be used on environments where only\n * the SHA256 function exists.\n * @param participationUpdates - Participation account data that needs to be checked/acted on by the network.\n * @param rewards - Fields relating to rewards,\n * @param stateProofTracking - Tracks the status of state proofs.\n * @param transactions - (txns) list of transactions corresponding to a given round.\n * @param txnCounter - (tc) TxnCounter counts the number of transactions committed in the ledger, from\n * the time at which support for this feature was introduced.\n * Specifically, TxnCounter is the number of the next transaction that will be\n * committed after this block. It is 0 when no transactions have ever been\n * committed (since TxnCounter started being supported).\n * @param upgradeState - Fields relating to a protocol upgrade.\n * @param upgradeVote - Fields relating to voting for a protocol upgrade.\n */\n constructor({ genesisHash, genesisId, previousBlockHash, round, seed, timestamp, transactionsRoot, transactionsRootSha256, participationUpdates, rewards, stateProofTracking, transactions, txnCounter, upgradeState, upgradeVote, }) {\n super();\n this.genesisHash =\n typeof genesisHash === 'string'\n ? new Uint8Array(Buffer.from(genesisHash, 'base64'))\n : genesisHash;\n this.genesisId = genesisId;\n this.previousBlockHash =\n typeof previousBlockHash === 'string'\n ? new Uint8Array(Buffer.from(previousBlockHash, 'base64'))\n : previousBlockHash;\n this.round = round;\n this.seed =\n typeof seed === 'string'\n ? new Uint8Array(Buffer.from(seed, 'base64'))\n : seed;\n this.timestamp = timestamp;\n this.transactionsRoot =\n typeof transactionsRoot === 'string'\n ? new Uint8Array(Buffer.from(transactionsRoot, 'base64'))\n : transactionsRoot;\n this.transactionsRootSha256 =\n typeof transactionsRootSha256 === 'string'\n ? new Uint8Array(Buffer.from(transactionsRootSha256, 'base64'))\n : transactionsRootSha256;\n this.participationUpdates = participationUpdates;\n this.rewards = rewards;\n this.stateProofTracking = stateProofTracking;\n this.transactions = transactions;\n this.txnCounter = txnCounter;\n this.upgradeState = upgradeState;\n this.upgradeVote = upgradeVote;\n this.attribute_map = {\n genesisHash: 'genesis-hash',\n genesisId: 'genesis-id',\n previousBlockHash: 'previous-block-hash',\n round: 'round',\n seed: 'seed',\n timestamp: 'timestamp',\n transactionsRoot: 'transactions-root',\n transactionsRootSha256: 'transactions-root-sha256',\n participationUpdates: 'participation-updates',\n rewards: 'rewards',\n stateProofTracking: 'state-proof-tracking',\n transactions: 'transactions',\n txnCounter: 'txn-counter',\n upgradeState: 'upgrade-state',\n upgradeVote: 'upgrade-vote',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['genesis-hash'] === 'undefined')\n throw new Error(`Response is missing required field 'genesis-hash': ${data}`);\n if (typeof data['genesis-id'] === 'undefined')\n throw new Error(`Response is missing required field 'genesis-id': ${data}`);\n if (typeof data['previous-block-hash'] === 'undefined')\n throw new Error(`Response is missing required field 'previous-block-hash': ${data}`);\n if (typeof data['round'] === 'undefined')\n throw new Error(`Response is missing required field 'round': ${data}`);\n if (typeof data['seed'] === 'undefined')\n throw new Error(`Response is missing required field 'seed': ${data}`);\n if (typeof data['timestamp'] === 'undefined')\n throw new Error(`Response is missing required field 'timestamp': ${data}`);\n if (typeof data['transactions-root'] === 'undefined')\n throw new Error(`Response is missing required field 'transactions-root': ${data}`);\n if (typeof data['transactions-root-sha256'] === 'undefined')\n throw new Error(`Response is missing required field 'transactions-root-sha256': ${data}`);\n return new Block({\n genesisHash: data['genesis-hash'],\n genesisId: data['genesis-id'],\n previousBlockHash: data['previous-block-hash'],\n round: data['round'],\n seed: data['seed'],\n timestamp: data['timestamp'],\n transactionsRoot: data['transactions-root'],\n transactionsRootSha256: data['transactions-root-sha256'],\n participationUpdates: typeof data['participation-updates'] !== 'undefined'\n ? ParticipationUpdates.from_obj_for_encoding(data['participation-updates'])\n : undefined,\n rewards: typeof data['rewards'] !== 'undefined'\n ? BlockRewards.from_obj_for_encoding(data['rewards'])\n : undefined,\n stateProofTracking: typeof data['state-proof-tracking'] !== 'undefined'\n ? data['state-proof-tracking'].map(StateProofTracking.from_obj_for_encoding)\n : undefined,\n transactions: typeof data['transactions'] !== 'undefined'\n ? data['transactions'].map(Transaction.from_obj_for_encoding)\n : undefined,\n txnCounter: data['txn-counter'],\n upgradeState: typeof data['upgrade-state'] !== 'undefined'\n ? BlockUpgradeState.from_obj_for_encoding(data['upgrade-state'])\n : undefined,\n upgradeVote: typeof data['upgrade-vote'] !== 'undefined'\n ? BlockUpgradeVote.from_obj_for_encoding(data['upgrade-vote'])\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields relating to rewards,\n */\nexport class BlockRewards extends BaseModel {\n /**\n * Creates a new `BlockRewards` object.\n * @param feeSink - (fees) accepts transaction fees, it can only spend to the incentive pool.\n * @param rewardsCalculationRound - (rwcalr) number of leftover MicroAlgos after the distribution of rewards-rate\n * MicroAlgos for every reward unit in the next round.\n * @param rewardsLevel - (earn) How many rewards, in MicroAlgos, have been distributed to each RewardUnit\n * of MicroAlgos since genesis.\n * @param rewardsPool - (rwd) accepts periodic injections from the fee-sink and continually\n * redistributes them as rewards.\n * @param rewardsRate - (rate) Number of new MicroAlgos added to the participation stake from rewards at\n * the next round.\n * @param rewardsResidue - (frac) Number of leftover MicroAlgos after the distribution of\n * RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.\n */\n constructor({ feeSink, rewardsCalculationRound, rewardsLevel, rewardsPool, rewardsRate, rewardsResidue, }) {\n super();\n this.feeSink = feeSink;\n this.rewardsCalculationRound = rewardsCalculationRound;\n this.rewardsLevel = rewardsLevel;\n this.rewardsPool = rewardsPool;\n this.rewardsRate = rewardsRate;\n this.rewardsResidue = rewardsResidue;\n this.attribute_map = {\n feeSink: 'fee-sink',\n rewardsCalculationRound: 'rewards-calculation-round',\n rewardsLevel: 'rewards-level',\n rewardsPool: 'rewards-pool',\n rewardsRate: 'rewards-rate',\n rewardsResidue: 'rewards-residue',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['fee-sink'] === 'undefined')\n throw new Error(`Response is missing required field 'fee-sink': ${data}`);\n if (typeof data['rewards-calculation-round'] === 'undefined')\n throw new Error(`Response is missing required field 'rewards-calculation-round': ${data}`);\n if (typeof data['rewards-level'] === 'undefined')\n throw new Error(`Response is missing required field 'rewards-level': ${data}`);\n if (typeof data['rewards-pool'] === 'undefined')\n throw new Error(`Response is missing required field 'rewards-pool': ${data}`);\n if (typeof data['rewards-rate'] === 'undefined')\n throw new Error(`Response is missing required field 'rewards-rate': ${data}`);\n if (typeof data['rewards-residue'] === 'undefined')\n throw new Error(`Response is missing required field 'rewards-residue': ${data}`);\n return new BlockRewards({\n feeSink: data['fee-sink'],\n rewardsCalculationRound: data['rewards-calculation-round'],\n rewardsLevel: data['rewards-level'],\n rewardsPool: data['rewards-pool'],\n rewardsRate: data['rewards-rate'],\n rewardsResidue: data['rewards-residue'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields relating to a protocol upgrade.\n */\nexport class BlockUpgradeState extends BaseModel {\n /**\n * Creates a new `BlockUpgradeState` object.\n * @param currentProtocol - (proto) The current protocol version.\n * @param nextProtocol - (nextproto) The next proposed protocol version.\n * @param nextProtocolApprovals - (nextyes) Number of blocks which approved the protocol upgrade.\n * @param nextProtocolSwitchOn - (nextswitch) Round on which the protocol upgrade will take effect.\n * @param nextProtocolVoteBefore - (nextbefore) Deadline round for this protocol upgrade (No votes will be consider\n * after this round).\n */\n constructor({ currentProtocol, nextProtocol, nextProtocolApprovals, nextProtocolSwitchOn, nextProtocolVoteBefore, }) {\n super();\n this.currentProtocol = currentProtocol;\n this.nextProtocol = nextProtocol;\n this.nextProtocolApprovals = nextProtocolApprovals;\n this.nextProtocolSwitchOn = nextProtocolSwitchOn;\n this.nextProtocolVoteBefore = nextProtocolVoteBefore;\n this.attribute_map = {\n currentProtocol: 'current-protocol',\n nextProtocol: 'next-protocol',\n nextProtocolApprovals: 'next-protocol-approvals',\n nextProtocolSwitchOn: 'next-protocol-switch-on',\n nextProtocolVoteBefore: 'next-protocol-vote-before',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['current-protocol'] === 'undefined')\n throw new Error(`Response is missing required field 'current-protocol': ${data}`);\n return new BlockUpgradeState({\n currentProtocol: data['current-protocol'],\n nextProtocol: data['next-protocol'],\n nextProtocolApprovals: data['next-protocol-approvals'],\n nextProtocolSwitchOn: data['next-protocol-switch-on'],\n nextProtocolVoteBefore: data['next-protocol-vote-before'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields relating to voting for a protocol upgrade.\n */\nexport class BlockUpgradeVote extends BaseModel {\n /**\n * Creates a new `BlockUpgradeVote` object.\n * @param upgradeApprove - (upgradeyes) Indicates a yes vote for the current proposal.\n * @param upgradeDelay - (upgradedelay) Indicates the time between acceptance and execution.\n * @param upgradePropose - (upgradeprop) Indicates a proposed upgrade.\n */\n constructor({ upgradeApprove, upgradeDelay, upgradePropose, }) {\n super();\n this.upgradeApprove = upgradeApprove;\n this.upgradeDelay = upgradeDelay;\n this.upgradePropose = upgradePropose;\n this.attribute_map = {\n upgradeApprove: 'upgrade-approve',\n upgradeDelay: 'upgrade-delay',\n upgradePropose: 'upgrade-propose',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new BlockUpgradeVote({\n upgradeApprove: data['upgrade-approve'],\n upgradeDelay: data['upgrade-delay'],\n upgradePropose: data['upgrade-propose'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Box name and its content.\n */\nexport class Box extends BaseModel {\n /**\n * Creates a new `Box` object.\n * @param name - (name) box name, base64 encoded\n * @param value - (value) box value, base64 encoded.\n */\n constructor({ name, value, }) {\n super();\n this.name =\n typeof name === 'string'\n ? new Uint8Array(Buffer.from(name, 'base64'))\n : name;\n this.value =\n typeof value === 'string'\n ? new Uint8Array(Buffer.from(value, 'base64'))\n : value;\n this.attribute_map = {\n name: 'name',\n value: 'value',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['name'] === 'undefined')\n throw new Error(`Response is missing required field 'name': ${data}`);\n if (typeof data['value'] === 'undefined')\n throw new Error(`Response is missing required field 'value': ${data}`);\n return new Box({\n name: data['name'],\n value: data['value'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Box descriptor describes an app box without a value.\n */\nexport class BoxDescriptor extends BaseModel {\n /**\n * Creates a new `BoxDescriptor` object.\n * @param name - Base64 encoded box name\n */\n constructor({ name }) {\n super();\n this.name =\n typeof name === 'string'\n ? new Uint8Array(Buffer.from(name, 'base64'))\n : name;\n this.attribute_map = {\n name: 'name',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['name'] === 'undefined')\n throw new Error(`Response is missing required field 'name': ${data}`);\n return new BoxDescriptor({\n name: data['name'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Box names of an application\n */\nexport class BoxesResponse extends BaseModel {\n /**\n * Creates a new `BoxesResponse` object.\n * @param applicationId - (appidx) application index.\n * @param boxes -\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ applicationId, boxes, nextToken, }) {\n super();\n this.applicationId = applicationId;\n this.boxes = boxes;\n this.nextToken = nextToken;\n this.attribute_map = {\n applicationId: 'application-id',\n boxes: 'boxes',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['application-id'] === 'undefined')\n throw new Error(`Response is missing required field 'application-id': ${data}`);\n if (!Array.isArray(data['boxes']))\n throw new Error(`Response is missing required array field 'boxes': ${data}`);\n return new BoxesResponse({\n applicationId: data['application-id'],\n boxes: data['boxes'].map(BoxDescriptor.from_obj_for_encoding),\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Response for errors\n */\nexport class ErrorResponse extends BaseModel {\n /**\n * Creates a new `ErrorResponse` object.\n * @param message -\n * @param data -\n */\n constructor({ message, data, }) {\n super();\n this.message = message;\n this.data = data;\n this.attribute_map = {\n message: 'message',\n data: 'data',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['message'] === 'undefined')\n throw new Error(`Response is missing required field 'message': ${data}`);\n return new ErrorResponse({\n message: data['message'],\n data: data['data'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a TEAL value delta.\n */\nexport class EvalDelta extends BaseModel {\n /**\n * Creates a new `EvalDelta` object.\n * @param action - (at) delta action.\n * @param bytes - (bs) bytes value.\n * @param uint - (ui) uint value.\n */\n constructor({ action, bytes, uint, }) {\n super();\n this.action = action;\n this.bytes = bytes;\n this.uint = uint;\n this.attribute_map = {\n action: 'action',\n bytes: 'bytes',\n uint: 'uint',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['action'] === 'undefined')\n throw new Error(`Response is missing required field 'action': ${data}`);\n return new EvalDelta({\n action: data['action'],\n bytes: data['bytes'],\n uint: data['uint'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Key-value pairs for StateDelta.\n */\nexport class EvalDeltaKeyValue extends BaseModel {\n /**\n * Creates a new `EvalDeltaKeyValue` object.\n * @param key -\n * @param value - Represents a TEAL value delta.\n */\n constructor({ key, value }) {\n super();\n this.key = key;\n this.value = value;\n this.attribute_map = {\n key: 'key',\n value: 'value',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['key'] === 'undefined')\n throw new Error(`Response is missing required field 'key': ${data}`);\n if (typeof data['value'] === 'undefined')\n throw new Error(`Response is missing required field 'value': ${data}`);\n return new EvalDeltaKeyValue({\n key: data['key'],\n value: EvalDelta.from_obj_for_encoding(data['value']),\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class HashFactory extends BaseModel {\n /**\n * Creates a new `HashFactory` object.\n * @param hashType - (t)\n */\n constructor({ hashType }) {\n super();\n this.hashType = hashType;\n this.attribute_map = {\n hashType: 'hash-type',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new HashFactory({\n hashType: data['hash-type'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * A health check response.\n */\nexport class HealthCheck extends BaseModel {\n /**\n * Creates a new `HealthCheck` object.\n * @param dbAvailable -\n * @param isMigrating -\n * @param message -\n * @param round -\n * @param version - Current version.\n * @param data -\n * @param errors -\n */\n constructor({ dbAvailable, isMigrating, message, round, version, data, errors, }) {\n super();\n this.dbAvailable = dbAvailable;\n this.isMigrating = isMigrating;\n this.message = message;\n this.round = round;\n this.version = version;\n this.data = data;\n this.errors = errors;\n this.attribute_map = {\n dbAvailable: 'db-available',\n isMigrating: 'is-migrating',\n message: 'message',\n round: 'round',\n version: 'version',\n data: 'data',\n errors: 'errors',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['db-available'] === 'undefined')\n throw new Error(`Response is missing required field 'db-available': ${data}`);\n if (typeof data['is-migrating'] === 'undefined')\n throw new Error(`Response is missing required field 'is-migrating': ${data}`);\n if (typeof data['message'] === 'undefined')\n throw new Error(`Response is missing required field 'message': ${data}`);\n if (typeof data['round'] === 'undefined')\n throw new Error(`Response is missing required field 'round': ${data}`);\n if (typeof data['version'] === 'undefined')\n throw new Error(`Response is missing required field 'version': ${data}`);\n return new HealthCheck({\n dbAvailable: data['db-available'],\n isMigrating: data['is-migrating'],\n message: data['message'],\n round: data['round'],\n version: data['version'],\n data: data['data'],\n errors: data['errors'],\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class IndexerStateProofMessage extends BaseModel {\n /**\n * Creates a new `IndexerStateProofMessage` object.\n * @param blockHeadersCommitment - (b)\n * @param firstAttestedRound - (f)\n * @param latestAttestedRound - (l)\n * @param lnProvenWeight - (P)\n * @param votersCommitment - (v)\n */\n constructor({ blockHeadersCommitment, firstAttestedRound, latestAttestedRound, lnProvenWeight, votersCommitment, }) {\n super();\n this.blockHeadersCommitment =\n typeof blockHeadersCommitment === 'string'\n ? new Uint8Array(Buffer.from(blockHeadersCommitment, 'base64'))\n : blockHeadersCommitment;\n this.firstAttestedRound = firstAttestedRound;\n this.latestAttestedRound = latestAttestedRound;\n this.lnProvenWeight = lnProvenWeight;\n this.votersCommitment =\n typeof votersCommitment === 'string'\n ? new Uint8Array(Buffer.from(votersCommitment, 'base64'))\n : votersCommitment;\n this.attribute_map = {\n blockHeadersCommitment: 'block-headers-commitment',\n firstAttestedRound: 'first-attested-round',\n latestAttestedRound: 'latest-attested-round',\n lnProvenWeight: 'ln-proven-weight',\n votersCommitment: 'voters-commitment',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new IndexerStateProofMessage({\n blockHeadersCommitment: data['block-headers-commitment'],\n firstAttestedRound: data['first-attested-round'],\n latestAttestedRound: data['latest-attested-round'],\n lnProvenWeight: data['ln-proven-weight'],\n votersCommitment: data['voters-commitment'],\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class MerkleArrayProof extends BaseModel {\n /**\n * Creates a new `MerkleArrayProof` object.\n * @param hashFactory -\n * @param path - (pth)\n * @param treeDepth - (td)\n */\n constructor({ hashFactory, path, treeDepth, }) {\n super();\n this.hashFactory = hashFactory;\n this.path = path;\n this.treeDepth = treeDepth;\n this.attribute_map = {\n hashFactory: 'hash-factory',\n path: 'path',\n treeDepth: 'tree-depth',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new MerkleArrayProof({\n hashFactory: typeof data['hash-factory'] !== 'undefined'\n ? HashFactory.from_obj_for_encoding(data['hash-factory'])\n : undefined,\n path: data['path'],\n treeDepth: data['tree-depth'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * A simplified version of AssetHolding\n */\nexport class MiniAssetHolding extends BaseModel {\n /**\n * Creates a new `MiniAssetHolding` object.\n * @param address -\n * @param amount -\n * @param isFrozen -\n * @param deleted - Whether or not this asset holding is currently deleted from its account.\n * @param optedInAtRound - Round during which the account opted into the asset.\n * @param optedOutAtRound - Round during which the account opted out of the asset.\n */\n constructor({ address, amount, isFrozen, deleted, optedInAtRound, optedOutAtRound, }) {\n super();\n this.address = address;\n this.amount = amount;\n this.isFrozen = isFrozen;\n this.deleted = deleted;\n this.optedInAtRound = optedInAtRound;\n this.optedOutAtRound = optedOutAtRound;\n this.attribute_map = {\n address: 'address',\n amount: 'amount',\n isFrozen: 'is-frozen',\n deleted: 'deleted',\n optedInAtRound: 'opted-in-at-round',\n optedOutAtRound: 'opted-out-at-round',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['address'] === 'undefined')\n throw new Error(`Response is missing required field 'address': ${data}`);\n if (typeof data['amount'] === 'undefined')\n throw new Error(`Response is missing required field 'amount': ${data}`);\n if (typeof data['is-frozen'] === 'undefined')\n throw new Error(`Response is missing required field 'is-frozen': ${data}`);\n return new MiniAssetHolding({\n address: data['address'],\n amount: data['amount'],\n isFrozen: data['is-frozen'],\n deleted: data['deleted'],\n optedInAtRound: data['opted-in-at-round'],\n optedOutAtRound: data['opted-out-at-round'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Participation account data that needs to be checked/acted on by the network.\n */\nexport class ParticipationUpdates extends BaseModel {\n /**\n * Creates a new `ParticipationUpdates` object.\n * @param expiredParticipationAccounts - (partupdrmv) a list of online accounts that needs to be converted to offline\n * since their participation key expired.\n */\n constructor({ expiredParticipationAccounts, }) {\n super();\n this.expiredParticipationAccounts = expiredParticipationAccounts;\n this.attribute_map = {\n expiredParticipationAccounts: 'expired-participation-accounts',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new ParticipationUpdates({\n expiredParticipationAccounts: data['expired-participation-accounts'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * (sp) represents a state proof.\n * Definition:\n * crypto/stateproof/structs.go : StateProof\n */\nexport class StateProofFields extends BaseModel {\n /**\n * Creates a new `StateProofFields` object.\n * @param partProofs - (P)\n * @param positionsToReveal - (pr) Sequence of reveal positions.\n * @param reveals - (r) Note that this is actually stored as a map[uint64] - Reveal in the actual\n * msgp\n * @param saltVersion - (v) Salt version of the merkle signature.\n * @param sigCommit - (c)\n * @param sigProofs - (S)\n * @param signedWeight - (w)\n */\n constructor({ partProofs, positionsToReveal, reveals, saltVersion, sigCommit, sigProofs, signedWeight, }) {\n super();\n this.partProofs = partProofs;\n this.positionsToReveal = positionsToReveal;\n this.reveals = reveals;\n this.saltVersion = saltVersion;\n this.sigCommit =\n typeof sigCommit === 'string'\n ? new Uint8Array(Buffer.from(sigCommit, 'base64'))\n : sigCommit;\n this.sigProofs = sigProofs;\n this.signedWeight = signedWeight;\n this.attribute_map = {\n partProofs: 'part-proofs',\n positionsToReveal: 'positions-to-reveal',\n reveals: 'reveals',\n saltVersion: 'salt-version',\n sigCommit: 'sig-commit',\n sigProofs: 'sig-proofs',\n signedWeight: 'signed-weight',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new StateProofFields({\n partProofs: typeof data['part-proofs'] !== 'undefined'\n ? MerkleArrayProof.from_obj_for_encoding(data['part-proofs'])\n : undefined,\n positionsToReveal: data['positions-to-reveal'],\n reveals: typeof data['reveals'] !== 'undefined'\n ? data['reveals'].map(StateProofReveal.from_obj_for_encoding)\n : undefined,\n saltVersion: data['salt-version'],\n sigCommit: data['sig-commit'],\n sigProofs: typeof data['sig-proofs'] !== 'undefined'\n ? MerkleArrayProof.from_obj_for_encoding(data['sig-proofs'])\n : undefined,\n signedWeight: data['signed-weight'],\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class StateProofParticipant extends BaseModel {\n /**\n * Creates a new `StateProofParticipant` object.\n * @param verifier - (p)\n * @param weight - (w)\n */\n constructor({ verifier, weight, }) {\n super();\n this.verifier = verifier;\n this.weight = weight;\n this.attribute_map = {\n verifier: 'verifier',\n weight: 'weight',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new StateProofParticipant({\n verifier: typeof data['verifier'] !== 'undefined'\n ? StateProofVerifier.from_obj_for_encoding(data['verifier'])\n : undefined,\n weight: data['weight'],\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class StateProofReveal extends BaseModel {\n /**\n * Creates a new `StateProofReveal` object.\n * @param participant - (p)\n * @param position - The position in the signature and participants arrays corresponding to this\n * entry.\n * @param sigSlot - (s)\n */\n constructor({ participant, position, sigSlot, }) {\n super();\n this.participant = participant;\n this.position = position;\n this.sigSlot = sigSlot;\n this.attribute_map = {\n participant: 'participant',\n position: 'position',\n sigSlot: 'sig-slot',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new StateProofReveal({\n participant: typeof data['participant'] !== 'undefined'\n ? StateProofParticipant.from_obj_for_encoding(data['participant'])\n : undefined,\n position: data['position'],\n sigSlot: typeof data['sig-slot'] !== 'undefined'\n ? StateProofSigSlot.from_obj_for_encoding(data['sig-slot'])\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class StateProofSigSlot extends BaseModel {\n /**\n * Creates a new `StateProofSigSlot` object.\n * @param lowerSigWeight - (l) The total weight of signatures in the lower-numbered slots.\n * @param signature -\n */\n constructor({ lowerSigWeight, signature, }) {\n super();\n this.lowerSigWeight = lowerSigWeight;\n this.signature = signature;\n this.attribute_map = {\n lowerSigWeight: 'lower-sig-weight',\n signature: 'signature',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new StateProofSigSlot({\n lowerSigWeight: data['lower-sig-weight'],\n signature: typeof data['signature'] !== 'undefined'\n ? StateProofSignature.from_obj_for_encoding(data['signature'])\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class StateProofSignature extends BaseModel {\n /**\n * Creates a new `StateProofSignature` object.\n * @param falconSignature -\n * @param merkleArrayIndex -\n * @param proof -\n * @param verifyingKey - (vkey)\n */\n constructor({ falconSignature, merkleArrayIndex, proof, verifyingKey, }) {\n super();\n this.falconSignature =\n typeof falconSignature === 'string'\n ? new Uint8Array(Buffer.from(falconSignature, 'base64'))\n : falconSignature;\n this.merkleArrayIndex = merkleArrayIndex;\n this.proof = proof;\n this.verifyingKey =\n typeof verifyingKey === 'string'\n ? new Uint8Array(Buffer.from(verifyingKey, 'base64'))\n : verifyingKey;\n this.attribute_map = {\n falconSignature: 'falcon-signature',\n merkleArrayIndex: 'merkle-array-index',\n proof: 'proof',\n verifyingKey: 'verifying-key',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new StateProofSignature({\n falconSignature: data['falcon-signature'],\n merkleArrayIndex: data['merkle-array-index'],\n proof: typeof data['proof'] !== 'undefined'\n ? MerkleArrayProof.from_obj_for_encoding(data['proof'])\n : undefined,\n verifyingKey: data['verifying-key'],\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class StateProofTracking extends BaseModel {\n /**\n * Creates a new `StateProofTracking` object.\n * @param nextRound - (n) Next round for which we will accept a state proof transaction.\n * @param onlineTotalWeight - (t) The total number of microalgos held by the online accounts during the\n * StateProof round.\n * @param type - State Proof Type. Note the raw object uses map with this as key.\n * @param votersCommitment - (v) Root of a vector commitment containing online accounts that will help sign\n * the proof.\n */\n constructor({ nextRound, onlineTotalWeight, type, votersCommitment, }) {\n super();\n this.nextRound = nextRound;\n this.onlineTotalWeight = onlineTotalWeight;\n this.type = type;\n this.votersCommitment =\n typeof votersCommitment === 'string'\n ? new Uint8Array(Buffer.from(votersCommitment, 'base64'))\n : votersCommitment;\n this.attribute_map = {\n nextRound: 'next-round',\n onlineTotalWeight: 'online-total-weight',\n type: 'type',\n votersCommitment: 'voters-commitment',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new StateProofTracking({\n nextRound: data['next-round'],\n onlineTotalWeight: data['online-total-weight'],\n type: data['type'],\n votersCommitment: data['voters-commitment'],\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class StateProofVerifier extends BaseModel {\n /**\n * Creates a new `StateProofVerifier` object.\n * @param commitment - (cmt) Represents the root of the vector commitment tree.\n * @param keyLifetime - (lf) Key lifetime.\n */\n constructor({ commitment, keyLifetime, }) {\n super();\n this.commitment =\n typeof commitment === 'string'\n ? new Uint8Array(Buffer.from(commitment, 'base64'))\n : commitment;\n this.keyLifetime = keyLifetime;\n this.attribute_map = {\n commitment: 'commitment',\n keyLifetime: 'key-lifetime',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new StateProofVerifier({\n commitment: data['commitment'],\n keyLifetime: data['key-lifetime'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a (apls) local-state or (apgs) global-state schema. These schemas\n * determine how much storage may be used in a local-state or global-state for an\n * application. The more space used, the larger minimum balance must be maintained\n * in the account holding the data.\n */\nexport class StateSchema extends BaseModel {\n /**\n * Creates a new `StateSchema` object.\n * @param numByteSlice - Maximum number of TEAL byte slices that may be stored in the key/value store.\n * @param numUint - Maximum number of TEAL uints that may be stored in the key/value store.\n */\n constructor({ numByteSlice, numUint, }) {\n super();\n this.numByteSlice = numByteSlice;\n this.numUint = numUint;\n this.attribute_map = {\n numByteSlice: 'num-byte-slice',\n numUint: 'num-uint',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['num-byte-slice'] === 'undefined')\n throw new Error(`Response is missing required field 'num-byte-slice': ${data}`);\n if (typeof data['num-uint'] === 'undefined')\n throw new Error(`Response is missing required field 'num-uint': ${data}`);\n return new StateSchema({\n numByteSlice: data['num-byte-slice'],\n numUint: data['num-uint'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a key-value pair in an application store.\n */\nexport class TealKeyValue extends BaseModel {\n /**\n * Creates a new `TealKeyValue` object.\n * @param key -\n * @param value - Represents a TEAL value.\n */\n constructor({ key, value }) {\n super();\n this.key = key;\n this.value = value;\n this.attribute_map = {\n key: 'key',\n value: 'value',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['key'] === 'undefined')\n throw new Error(`Response is missing required field 'key': ${data}`);\n if (typeof data['value'] === 'undefined')\n throw new Error(`Response is missing required field 'value': ${data}`);\n return new TealKeyValue({\n key: data['key'],\n value: TealValue.from_obj_for_encoding(data['value']),\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Represents a TEAL value.\n */\nexport class TealValue extends BaseModel {\n /**\n * Creates a new `TealValue` object.\n * @param bytes - (tb) bytes value.\n * @param type - (tt) value type. Value `1` refers to **bytes**, value `2` refers to **uint**\n * @param uint - (ui) uint value.\n */\n constructor({ bytes, type, uint, }) {\n super();\n this.bytes = bytes;\n this.type = type;\n this.uint = uint;\n this.attribute_map = {\n bytes: 'bytes',\n type: 'type',\n uint: 'uint',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['bytes'] === 'undefined')\n throw new Error(`Response is missing required field 'bytes': ${data}`);\n if (typeof data['type'] === 'undefined')\n throw new Error(`Response is missing required field 'type': ${data}`);\n if (typeof data['uint'] === 'undefined')\n throw new Error(`Response is missing required field 'uint': ${data}`);\n return new TealValue({\n bytes: data['bytes'],\n type: data['type'],\n uint: data['uint'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Contains all fields common to all transactions and serves as an envelope to all\n * transactions type. Represents both regular and inner transactions.\n * Definition:\n * data/transactions/signedtxn.go : SignedTxn\n * data/transactions/transaction.go : Transaction\n */\nexport class Transaction extends BaseModel {\n /**\n * Creates a new `Transaction` object.\n * @param fee - (fee) Transaction fee.\n * @param firstValid - (fv) First valid round for this transaction.\n * @param lastValid - (lv) Last valid round for this transaction.\n * @param sender - (snd) Sender's address.\n * @param applicationTransaction - Fields for application transactions.\n * Definition:\n * data/transactions/application.go : ApplicationCallTxnFields\n * @param assetConfigTransaction - Fields for asset allocation, re-configuration, and destruction.\n * A zero value for asset-id indicates asset creation.\n * A zero value for the params indicates asset destruction.\n * Definition:\n * data/transactions/asset.go : AssetConfigTxnFields\n * @param assetFreezeTransaction - Fields for an asset freeze transaction.\n * Definition:\n * data/transactions/asset.go : AssetFreezeTxnFields\n * @param assetTransferTransaction - Fields for an asset transfer transaction.\n * Definition:\n * data/transactions/asset.go : AssetTransferTxnFields\n * @param authAddr - (sgnr) this is included with signed transactions when the signing address does\n * not equal the sender. The backend can use this to ensure that auth addr is equal\n * to the accounts auth addr.\n * @param closeRewards - (rc) rewards applied to close-remainder-to account.\n * @param closingAmount - (ca) closing amount for transaction.\n * @param confirmedRound - Round when the transaction was confirmed.\n * @param createdApplicationIndex - Specifies an application index (ID) if an application was created with this\n * transaction.\n * @param createdAssetIndex - Specifies an asset index (ID) if an asset was created with this transaction.\n * @param genesisHash - (gh) Hash of genesis block.\n * @param genesisId - (gen) genesis block ID.\n * @param globalStateDelta - (gd) Global state key/value changes for the application being executed by this\n * transaction.\n * @param group - (grp) Base64 encoded byte array of a sha512/256 digest. When present indicates\n * that this transaction is part of a transaction group and the value is the\n * sha512/256 hash of the transactions in that group.\n * @param id - Transaction ID\n * @param innerTxns - Inner transactions produced by application execution.\n * @param intraRoundOffset - Offset into the round where this transaction was confirmed.\n * @param keyregTransaction - Fields for a keyreg transaction.\n * Definition:\n * data/transactions/keyreg.go : KeyregTxnFields\n * @param lease - (lx) Base64 encoded 32-byte array. Lease enforces mutual exclusion of\n * transactions. If this field is nonzero, then once the transaction is confirmed,\n * it acquires the lease identified by the (Sender, Lease) pair of the transaction\n * until the LastValid round passes. While this transaction possesses the lease, no\n * other transaction specifying this lease can be confirmed.\n * @param localStateDelta - (ld) Local state key/value changes for the application being executed by this\n * transaction.\n * @param logs - (lg) Logs for the application being executed by this transaction.\n * @param note - (note) Free form data.\n * @param paymentTransaction - Fields for a payment transaction.\n * Definition:\n * data/transactions/payment.go : PaymentTxnFields\n * @param receiverRewards - (rr) rewards applied to receiver account.\n * @param rekeyTo - (rekey) when included in a valid transaction, the accounts auth addr will be\n * updated with this value and future signatures must be signed with the key\n * represented by this address.\n * @param roundTime - Time when the block this transaction is in was confirmed.\n * @param senderRewards - (rs) rewards applied to sender account.\n * @param signature - Validation signature associated with some data. Only one of the signatures\n * should be provided.\n * @param stateProofTransaction - Fields for a state proof transaction.\n * Definition:\n * data/transactions/stateproof.go : StateProofTxnFields\n * @param txType - (type) Indicates what type of transaction this is. Different types have\n * different fields.\n * Valid types, and where their fields are stored:\n * * (pay) payment-transaction\n * * (keyreg) keyreg-transaction\n * * (acfg) asset-config-transaction\n * * (axfer) asset-transfer-transaction\n * * (afrz) asset-freeze-transaction\n * * (appl) application-transaction\n * * (stpf) state-proof-transaction\n */\n constructor({ fee, firstValid, lastValid, sender, applicationTransaction, assetConfigTransaction, assetFreezeTransaction, assetTransferTransaction, authAddr, closeRewards, closingAmount, confirmedRound, createdApplicationIndex, createdAssetIndex, genesisHash, genesisId, globalStateDelta, group, id, innerTxns, intraRoundOffset, keyregTransaction, lease, localStateDelta, logs, note, paymentTransaction, receiverRewards, rekeyTo, roundTime, senderRewards, signature, stateProofTransaction, txType, }) {\n super();\n this.fee = fee;\n this.firstValid = firstValid;\n this.lastValid = lastValid;\n this.sender = sender;\n this.applicationTransaction = applicationTransaction;\n this.assetConfigTransaction = assetConfigTransaction;\n this.assetFreezeTransaction = assetFreezeTransaction;\n this.assetTransferTransaction = assetTransferTransaction;\n this.authAddr = authAddr;\n this.closeRewards = closeRewards;\n this.closingAmount = closingAmount;\n this.confirmedRound = confirmedRound;\n this.createdApplicationIndex = createdApplicationIndex;\n this.createdAssetIndex = createdAssetIndex;\n this.genesisHash =\n typeof genesisHash === 'string'\n ? new Uint8Array(Buffer.from(genesisHash, 'base64'))\n : genesisHash;\n this.genesisId = genesisId;\n this.globalStateDelta = globalStateDelta;\n this.group =\n typeof group === 'string'\n ? new Uint8Array(Buffer.from(group, 'base64'))\n : group;\n this.id = id;\n this.innerTxns = innerTxns;\n this.intraRoundOffset = intraRoundOffset;\n this.keyregTransaction = keyregTransaction;\n this.lease =\n typeof lease === 'string'\n ? new Uint8Array(Buffer.from(lease, 'base64'))\n : lease;\n this.localStateDelta = localStateDelta;\n this.logs = logs;\n this.note =\n typeof note === 'string'\n ? new Uint8Array(Buffer.from(note, 'base64'))\n : note;\n this.paymentTransaction = paymentTransaction;\n this.receiverRewards = receiverRewards;\n this.rekeyTo = rekeyTo;\n this.roundTime = roundTime;\n this.senderRewards = senderRewards;\n this.signature = signature;\n this.stateProofTransaction = stateProofTransaction;\n this.txType = txType;\n this.attribute_map = {\n fee: 'fee',\n firstValid: 'first-valid',\n lastValid: 'last-valid',\n sender: 'sender',\n applicationTransaction: 'application-transaction',\n assetConfigTransaction: 'asset-config-transaction',\n assetFreezeTransaction: 'asset-freeze-transaction',\n assetTransferTransaction: 'asset-transfer-transaction',\n authAddr: 'auth-addr',\n closeRewards: 'close-rewards',\n closingAmount: 'closing-amount',\n confirmedRound: 'confirmed-round',\n createdApplicationIndex: 'created-application-index',\n createdAssetIndex: 'created-asset-index',\n genesisHash: 'genesis-hash',\n genesisId: 'genesis-id',\n globalStateDelta: 'global-state-delta',\n group: 'group',\n id: 'id',\n innerTxns: 'inner-txns',\n intraRoundOffset: 'intra-round-offset',\n keyregTransaction: 'keyreg-transaction',\n lease: 'lease',\n localStateDelta: 'local-state-delta',\n logs: 'logs',\n note: 'note',\n paymentTransaction: 'payment-transaction',\n receiverRewards: 'receiver-rewards',\n rekeyTo: 'rekey-to',\n roundTime: 'round-time',\n senderRewards: 'sender-rewards',\n signature: 'signature',\n stateProofTransaction: 'state-proof-transaction',\n txType: 'tx-type',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['fee'] === 'undefined')\n throw new Error(`Response is missing required field 'fee': ${data}`);\n if (typeof data['first-valid'] === 'undefined')\n throw new Error(`Response is missing required field 'first-valid': ${data}`);\n if (typeof data['last-valid'] === 'undefined')\n throw new Error(`Response is missing required field 'last-valid': ${data}`);\n if (typeof data['sender'] === 'undefined')\n throw new Error(`Response is missing required field 'sender': ${data}`);\n return new Transaction({\n fee: data['fee'],\n firstValid: data['first-valid'],\n lastValid: data['last-valid'],\n sender: data['sender'],\n applicationTransaction: typeof data['application-transaction'] !== 'undefined'\n ? TransactionApplication.from_obj_for_encoding(data['application-transaction'])\n : undefined,\n assetConfigTransaction: typeof data['asset-config-transaction'] !== 'undefined'\n ? TransactionAssetConfig.from_obj_for_encoding(data['asset-config-transaction'])\n : undefined,\n assetFreezeTransaction: typeof data['asset-freeze-transaction'] !== 'undefined'\n ? TransactionAssetFreeze.from_obj_for_encoding(data['asset-freeze-transaction'])\n : undefined,\n assetTransferTransaction: typeof data['asset-transfer-transaction'] !== 'undefined'\n ? TransactionAssetTransfer.from_obj_for_encoding(data['asset-transfer-transaction'])\n : undefined,\n authAddr: data['auth-addr'],\n closeRewards: data['close-rewards'],\n closingAmount: data['closing-amount'],\n confirmedRound: data['confirmed-round'],\n createdApplicationIndex: data['created-application-index'],\n createdAssetIndex: data['created-asset-index'],\n genesisHash: data['genesis-hash'],\n genesisId: data['genesis-id'],\n globalStateDelta: typeof data['global-state-delta'] !== 'undefined'\n ? data['global-state-delta'].map(EvalDeltaKeyValue.from_obj_for_encoding)\n : undefined,\n group: data['group'],\n id: data['id'],\n innerTxns: typeof data['inner-txns'] !== 'undefined'\n ? data['inner-txns'].map(Transaction.from_obj_for_encoding)\n : undefined,\n intraRoundOffset: data['intra-round-offset'],\n keyregTransaction: typeof data['keyreg-transaction'] !== 'undefined'\n ? TransactionKeyreg.from_obj_for_encoding(data['keyreg-transaction'])\n : undefined,\n lease: data['lease'],\n localStateDelta: typeof data['local-state-delta'] !== 'undefined'\n ? data['local-state-delta'].map(AccountStateDelta.from_obj_for_encoding)\n : undefined,\n logs: data['logs'],\n note: data['note'],\n paymentTransaction: typeof data['payment-transaction'] !== 'undefined'\n ? TransactionPayment.from_obj_for_encoding(data['payment-transaction'])\n : undefined,\n receiverRewards: data['receiver-rewards'],\n rekeyTo: data['rekey-to'],\n roundTime: data['round-time'],\n senderRewards: data['sender-rewards'],\n signature: typeof data['signature'] !== 'undefined'\n ? TransactionSignature.from_obj_for_encoding(data['signature'])\n : undefined,\n stateProofTransaction: typeof data['state-proof-transaction'] !== 'undefined'\n ? TransactionStateProof.from_obj_for_encoding(data['state-proof-transaction'])\n : undefined,\n txType: data['tx-type'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields for application transactions.\n * Definition:\n * data/transactions/application.go : ApplicationCallTxnFields\n */\nexport class TransactionApplication extends BaseModel {\n /**\n * Creates a new `TransactionApplication` object.\n * @param applicationId - (apid) ID of the application being configured or empty if creating.\n * @param accounts - (apat) List of accounts in addition to the sender that may be accessed from the\n * application's approval-program and clear-state-program.\n * @param applicationArgs - (apaa) transaction specific arguments accessed from the application's\n * approval-program and clear-state-program.\n * @param approvalProgram - (apap) Logic executed for every application transaction, except when\n * on-completion is set to \"clear\". It can read and write global state for the\n * application, as well as account-specific local state. Approval programs may\n * reject the transaction.\n * @param clearStateProgram - (apsu) Logic executed for application transactions with on-completion set to\n * \"clear\". It can read and write global state for the application, as well as\n * account-specific local state. Clear state programs cannot reject the\n * transaction.\n * @param extraProgramPages - (epp) specifies the additional app program len requested in pages.\n * @param foreignApps - (apfa) Lists the applications in addition to the application-id whose global\n * states may be accessed by this application's approval-program and\n * clear-state-program. The access is read-only.\n * @param foreignAssets - (apas) lists the assets whose parameters may be accessed by this application's\n * ApprovalProgram and ClearStateProgram. The access is read-only.\n * @param globalStateSchema - Represents a (apls) local-state or (apgs) global-state schema. These schemas\n * determine how much storage may be used in a local-state or global-state for an\n * application. The more space used, the larger minimum balance must be maintained\n * in the account holding the data.\n * @param localStateSchema - Represents a (apls) local-state or (apgs) global-state schema. These schemas\n * determine how much storage may be used in a local-state or global-state for an\n * application. The more space used, the larger minimum balance must be maintained\n * in the account holding the data.\n * @param onCompletion - (apan) defines the what additional actions occur with the transaction.\n * Valid types:\n * * noop\n * * optin\n * * closeout\n * * clear\n * * update\n * * update\n * * delete\n */\n constructor({ applicationId, accounts, applicationArgs, approvalProgram, clearStateProgram, extraProgramPages, foreignApps, foreignAssets, globalStateSchema, localStateSchema, onCompletion, }) {\n super();\n this.applicationId = applicationId;\n this.accounts = accounts;\n this.applicationArgs = applicationArgs;\n this.approvalProgram =\n typeof approvalProgram === 'string'\n ? new Uint8Array(Buffer.from(approvalProgram, 'base64'))\n : approvalProgram;\n this.clearStateProgram =\n typeof clearStateProgram === 'string'\n ? new Uint8Array(Buffer.from(clearStateProgram, 'base64'))\n : clearStateProgram;\n this.extraProgramPages = extraProgramPages;\n this.foreignApps = foreignApps;\n this.foreignAssets = foreignAssets;\n this.globalStateSchema = globalStateSchema;\n this.localStateSchema = localStateSchema;\n this.onCompletion = onCompletion;\n this.attribute_map = {\n applicationId: 'application-id',\n accounts: 'accounts',\n applicationArgs: 'application-args',\n approvalProgram: 'approval-program',\n clearStateProgram: 'clear-state-program',\n extraProgramPages: 'extra-program-pages',\n foreignApps: 'foreign-apps',\n foreignAssets: 'foreign-assets',\n globalStateSchema: 'global-state-schema',\n localStateSchema: 'local-state-schema',\n onCompletion: 'on-completion',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['application-id'] === 'undefined')\n throw new Error(`Response is missing required field 'application-id': ${data}`);\n return new TransactionApplication({\n applicationId: data['application-id'],\n accounts: data['accounts'],\n applicationArgs: data['application-args'],\n approvalProgram: data['approval-program'],\n clearStateProgram: data['clear-state-program'],\n extraProgramPages: data['extra-program-pages'],\n foreignApps: data['foreign-apps'],\n foreignAssets: data['foreign-assets'],\n globalStateSchema: typeof data['global-state-schema'] !== 'undefined'\n ? StateSchema.from_obj_for_encoding(data['global-state-schema'])\n : undefined,\n localStateSchema: typeof data['local-state-schema'] !== 'undefined'\n ? StateSchema.from_obj_for_encoding(data['local-state-schema'])\n : undefined,\n onCompletion: data['on-completion'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields for asset allocation, re-configuration, and destruction.\n * A zero value for asset-id indicates asset creation.\n * A zero value for the params indicates asset destruction.\n * Definition:\n * data/transactions/asset.go : AssetConfigTxnFields\n */\nexport class TransactionAssetConfig extends BaseModel {\n /**\n * Creates a new `TransactionAssetConfig` object.\n * @param assetId - (xaid) ID of the asset being configured or empty if creating.\n * @param params - AssetParams specifies the parameters for an asset.\n * (apar) when part of an AssetConfig transaction.\n * Definition:\n * data/transactions/asset.go : AssetParams\n */\n constructor({ assetId, params, }) {\n super();\n this.assetId = assetId;\n this.params = params;\n this.attribute_map = {\n assetId: 'asset-id',\n params: 'params',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new TransactionAssetConfig({\n assetId: data['asset-id'],\n params: typeof data['params'] !== 'undefined'\n ? AssetParams.from_obj_for_encoding(data['params'])\n : undefined,\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields for an asset freeze transaction.\n * Definition:\n * data/transactions/asset.go : AssetFreezeTxnFields\n */\nexport class TransactionAssetFreeze extends BaseModel {\n /**\n * Creates a new `TransactionAssetFreeze` object.\n * @param address - (fadd) Address of the account whose asset is being frozen or thawed.\n * @param assetId - (faid) ID of the asset being frozen or thawed.\n * @param newFreezeStatus - (afrz) The new freeze status.\n */\n constructor({ address, assetId, newFreezeStatus, }) {\n super();\n this.address = address;\n this.assetId = assetId;\n this.newFreezeStatus = newFreezeStatus;\n this.attribute_map = {\n address: 'address',\n assetId: 'asset-id',\n newFreezeStatus: 'new-freeze-status',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['address'] === 'undefined')\n throw new Error(`Response is missing required field 'address': ${data}`);\n if (typeof data['asset-id'] === 'undefined')\n throw new Error(`Response is missing required field 'asset-id': ${data}`);\n if (typeof data['new-freeze-status'] === 'undefined')\n throw new Error(`Response is missing required field 'new-freeze-status': ${data}`);\n return new TransactionAssetFreeze({\n address: data['address'],\n assetId: data['asset-id'],\n newFreezeStatus: data['new-freeze-status'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields for an asset transfer transaction.\n * Definition:\n * data/transactions/asset.go : AssetTransferTxnFields\n */\nexport class TransactionAssetTransfer extends BaseModel {\n /**\n * Creates a new `TransactionAssetTransfer` object.\n * @param amount - (aamt) Amount of asset to transfer. A zero amount transferred to self allocates\n * that asset in the account's Assets map.\n * @param assetId - (xaid) ID of the asset being transferred.\n * @param receiver - (arcv) Recipient address of the transfer.\n * @param closeAmount - Number of assets transfered to the close-to account as part of the transaction.\n * @param closeTo - (aclose) Indicates that the asset should be removed from the account's Assets\n * map, and specifies where the remaining asset holdings should be transferred.\n * It's always valid to transfer remaining asset holdings to the creator account.\n * @param sender - (asnd) The effective sender during a clawback transactions. If this is not a\n * zero value, the real transaction sender must be the Clawback address from the\n * AssetParams.\n */\n constructor({ amount, assetId, receiver, closeAmount, closeTo, sender, }) {\n super();\n this.amount = amount;\n this.assetId = assetId;\n this.receiver = receiver;\n this.closeAmount = closeAmount;\n this.closeTo = closeTo;\n this.sender = sender;\n this.attribute_map = {\n amount: 'amount',\n assetId: 'asset-id',\n receiver: 'receiver',\n closeAmount: 'close-amount',\n closeTo: 'close-to',\n sender: 'sender',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['amount'] === 'undefined')\n throw new Error(`Response is missing required field 'amount': ${data}`);\n if (typeof data['asset-id'] === 'undefined')\n throw new Error(`Response is missing required field 'asset-id': ${data}`);\n if (typeof data['receiver'] === 'undefined')\n throw new Error(`Response is missing required field 'receiver': ${data}`);\n return new TransactionAssetTransfer({\n amount: data['amount'],\n assetId: data['asset-id'],\n receiver: data['receiver'],\n closeAmount: data['close-amount'],\n closeTo: data['close-to'],\n sender: data['sender'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields for a keyreg transaction.\n * Definition:\n * data/transactions/keyreg.go : KeyregTxnFields\n */\nexport class TransactionKeyreg extends BaseModel {\n /**\n * Creates a new `TransactionKeyreg` object.\n * @param nonParticipation - (nonpart) Mark the account as participating or non-participating.\n * @param selectionParticipationKey - (selkey) Public key used with the Verified Random Function (VRF) result during\n * committee selection.\n * @param stateProofKey - (sprfkey) State proof key used in key registration transactions.\n * @param voteFirstValid - (votefst) First round this participation key is valid.\n * @param voteKeyDilution - (votekd) Number of subkeys in each batch of participation keys.\n * @param voteLastValid - (votelst) Last round this participation key is valid.\n * @param voteParticipationKey - (votekey) Participation public key used in key registration transactions.\n */\n constructor({ nonParticipation, selectionParticipationKey, stateProofKey, voteFirstValid, voteKeyDilution, voteLastValid, voteParticipationKey, }) {\n super();\n this.nonParticipation = nonParticipation;\n this.selectionParticipationKey =\n typeof selectionParticipationKey === 'string'\n ? new Uint8Array(Buffer.from(selectionParticipationKey, 'base64'))\n : selectionParticipationKey;\n this.stateProofKey =\n typeof stateProofKey === 'string'\n ? new Uint8Array(Buffer.from(stateProofKey, 'base64'))\n : stateProofKey;\n this.voteFirstValid = voteFirstValid;\n this.voteKeyDilution = voteKeyDilution;\n this.voteLastValid = voteLastValid;\n this.voteParticipationKey =\n typeof voteParticipationKey === 'string'\n ? new Uint8Array(Buffer.from(voteParticipationKey, 'base64'))\n : voteParticipationKey;\n this.attribute_map = {\n nonParticipation: 'non-participation',\n selectionParticipationKey: 'selection-participation-key',\n stateProofKey: 'state-proof-key',\n voteFirstValid: 'vote-first-valid',\n voteKeyDilution: 'vote-key-dilution',\n voteLastValid: 'vote-last-valid',\n voteParticipationKey: 'vote-participation-key',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new TransactionKeyreg({\n nonParticipation: data['non-participation'],\n selectionParticipationKey: data['selection-participation-key'],\n stateProofKey: data['state-proof-key'],\n voteFirstValid: data['vote-first-valid'],\n voteKeyDilution: data['vote-key-dilution'],\n voteLastValid: data['vote-last-valid'],\n voteParticipationKey: data['vote-participation-key'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields for a payment transaction.\n * Definition:\n * data/transactions/payment.go : PaymentTxnFields\n */\nexport class TransactionPayment extends BaseModel {\n /**\n * Creates a new `TransactionPayment` object.\n * @param amount - (amt) number of MicroAlgos intended to be transferred.\n * @param receiver - (rcv) receiver's address.\n * @param closeAmount - Number of MicroAlgos that were sent to the close-remainder-to address when\n * closing the sender account.\n * @param closeRemainderTo - (close) when set, indicates that the sending account should be closed and all\n * remaining funds be transferred to this address.\n */\n constructor({ amount, receiver, closeAmount, closeRemainderTo, }) {\n super();\n this.amount = amount;\n this.receiver = receiver;\n this.closeAmount = closeAmount;\n this.closeRemainderTo = closeRemainderTo;\n this.attribute_map = {\n amount: 'amount',\n receiver: 'receiver',\n closeAmount: 'close-amount',\n closeRemainderTo: 'close-remainder-to',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['amount'] === 'undefined')\n throw new Error(`Response is missing required field 'amount': ${data}`);\n if (typeof data['receiver'] === 'undefined')\n throw new Error(`Response is missing required field 'receiver': ${data}`);\n return new TransactionPayment({\n amount: data['amount'],\n receiver: data['receiver'],\n closeAmount: data['close-amount'],\n closeRemainderTo: data['close-remainder-to'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class TransactionResponse extends BaseModel {\n /**\n * Creates a new `TransactionResponse` object.\n * @param currentRound - Round at which the results were computed.\n * @param transaction - Contains all fields common to all transactions and serves as an envelope to all\n * transactions type. Represents both regular and inner transactions.\n * Definition:\n * data/transactions/signedtxn.go : SignedTxn\n * data/transactions/transaction.go : Transaction\n */\n constructor({ currentRound, transaction, }) {\n super();\n this.currentRound = currentRound;\n this.transaction = transaction;\n this.attribute_map = {\n currentRound: 'current-round',\n transaction: 'transaction',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n if (typeof data['transaction'] === 'undefined')\n throw new Error(`Response is missing required field 'transaction': ${data}`);\n return new TransactionResponse({\n currentRound: data['current-round'],\n transaction: Transaction.from_obj_for_encoding(data['transaction']),\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Validation signature associated with some data. Only one of the signatures\n * should be provided.\n */\nexport class TransactionSignature extends BaseModel {\n /**\n * Creates a new `TransactionSignature` object.\n * @param logicsig - (lsig) Programatic transaction signature.\n * Definition:\n * data/transactions/logicsig.go\n * @param multisig - (msig) structure holding multiple subsignatures.\n * Definition:\n * crypto/multisig.go : MultisigSig\n * @param sig - (sig) Standard ed25519 signature.\n */\n constructor({ logicsig, multisig, sig, }) {\n super();\n this.logicsig = logicsig;\n this.multisig = multisig;\n this.sig =\n typeof sig === 'string'\n ? new Uint8Array(Buffer.from(sig, 'base64'))\n : sig;\n this.attribute_map = {\n logicsig: 'logicsig',\n multisig: 'multisig',\n sig: 'sig',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new TransactionSignature({\n logicsig: typeof data['logicsig'] !== 'undefined'\n ? TransactionSignatureLogicsig.from_obj_for_encoding(data['logicsig'])\n : undefined,\n multisig: typeof data['multisig'] !== 'undefined'\n ? TransactionSignatureMultisig.from_obj_for_encoding(data['multisig'])\n : undefined,\n sig: data['sig'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * (lsig) Programatic transaction signature.\n * Definition:\n * data/transactions/logicsig.go\n */\nexport class TransactionSignatureLogicsig extends BaseModel {\n /**\n * Creates a new `TransactionSignatureLogicsig` object.\n * @param logic - (l) Program signed by a signature or multi signature, or hashed to be the\n * address of ana ccount. Base64 encoded TEAL program.\n * @param args - (arg) Logic arguments, base64 encoded.\n * @param multisigSignature - (msig) structure holding multiple subsignatures.\n * Definition:\n * crypto/multisig.go : MultisigSig\n * @param signature - (sig) ed25519 signature.\n */\n constructor({ logic, args, multisigSignature, signature, }) {\n super();\n this.logic =\n typeof logic === 'string'\n ? new Uint8Array(Buffer.from(logic, 'base64'))\n : logic;\n this.args = args;\n this.multisigSignature = multisigSignature;\n this.signature =\n typeof signature === 'string'\n ? new Uint8Array(Buffer.from(signature, 'base64'))\n : signature;\n this.attribute_map = {\n logic: 'logic',\n args: 'args',\n multisigSignature: 'multisig-signature',\n signature: 'signature',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['logic'] === 'undefined')\n throw new Error(`Response is missing required field 'logic': ${data}`);\n return new TransactionSignatureLogicsig({\n logic: data['logic'],\n args: data['args'],\n multisigSignature: typeof data['multisig-signature'] !== 'undefined'\n ? TransactionSignatureMultisig.from_obj_for_encoding(data['multisig-signature'])\n : undefined,\n signature: data['signature'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * (msig) structure holding multiple subsignatures.\n * Definition:\n * crypto/multisig.go : MultisigSig\n */\nexport class TransactionSignatureMultisig extends BaseModel {\n /**\n * Creates a new `TransactionSignatureMultisig` object.\n * @param subsignature - (subsig) holds pairs of public key and signatures.\n * @param threshold - (thr)\n * @param version - (v)\n */\n constructor({ subsignature, threshold, version, }) {\n super();\n this.subsignature = subsignature;\n this.threshold = threshold;\n this.version = version;\n this.attribute_map = {\n subsignature: 'subsignature',\n threshold: 'threshold',\n version: 'version',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new TransactionSignatureMultisig({\n subsignature: typeof data['subsignature'] !== 'undefined'\n ? data['subsignature'].map(TransactionSignatureMultisigSubsignature.from_obj_for_encoding)\n : undefined,\n threshold: data['threshold'],\n version: data['version'],\n });\n /* eslint-enable dot-notation */\n }\n}\nexport class TransactionSignatureMultisigSubsignature extends BaseModel {\n /**\n * Creates a new `TransactionSignatureMultisigSubsignature` object.\n * @param publicKey - (pk)\n * @param signature - (s)\n */\n constructor({ publicKey, signature, }) {\n super();\n this.publicKey =\n typeof publicKey === 'string'\n ? new Uint8Array(Buffer.from(publicKey, 'base64'))\n : publicKey;\n this.signature =\n typeof signature === 'string'\n ? new Uint8Array(Buffer.from(signature, 'base64'))\n : signature;\n this.attribute_map = {\n publicKey: 'public-key',\n signature: 'signature',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new TransactionSignatureMultisigSubsignature({\n publicKey: data['public-key'],\n signature: data['signature'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n * Fields for a state proof transaction.\n * Definition:\n * data/transactions/stateproof.go : StateProofTxnFields\n */\nexport class TransactionStateProof extends BaseModel {\n /**\n * Creates a new `TransactionStateProof` object.\n * @param message - (spmsg)\n * @param stateProof - (sp) represents a state proof.\n * Definition:\n * crypto/stateproof/structs.go : StateProof\n * @param stateProofType - (sptype) Type of the state proof. Integer representing an entry defined in\n * protocol/stateproof.go\n */\n constructor({ message, stateProof, stateProofType, }) {\n super();\n this.message = message;\n this.stateProof = stateProof;\n this.stateProofType = stateProofType;\n this.attribute_map = {\n message: 'message',\n stateProof: 'state-proof',\n stateProofType: 'state-proof-type',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n return new TransactionStateProof({\n message: typeof data['message'] !== 'undefined'\n ? IndexerStateProofMessage.from_obj_for_encoding(data['message'])\n : undefined,\n stateProof: typeof data['state-proof'] !== 'undefined'\n ? StateProofFields.from_obj_for_encoding(data['state-proof'])\n : undefined,\n stateProofType: data['state-proof-type'],\n });\n /* eslint-enable dot-notation */\n }\n}\n/**\n *\n */\nexport class TransactionsResponse extends BaseModel {\n /**\n * Creates a new `TransactionsResponse` object.\n * @param currentRound - Round at which the results were computed.\n * @param transactions -\n * @param nextToken - Used for pagination, when making another request provide this token with the\n * next parameter.\n */\n constructor({ currentRound, transactions, nextToken, }) {\n super();\n this.currentRound = currentRound;\n this.transactions = transactions;\n this.nextToken = nextToken;\n this.attribute_map = {\n currentRound: 'current-round',\n transactions: 'transactions',\n nextToken: 'next-token',\n };\n }\n // eslint-disable-next-line camelcase\n static from_obj_for_encoding(data) {\n /* eslint-disable dot-notation */\n if (typeof data['current-round'] === 'undefined')\n throw new Error(`Response is missing required field 'current-round': ${data}`);\n if (!Array.isArray(data['transactions']))\n throw new Error(`Response is missing required array field 'transactions': ${data}`);\n return new TransactionsResponse({\n currentRound: data['current-round'],\n transactions: data['transactions'].map(Transaction.from_obj_for_encoding),\n nextToken: data['next-token'],\n });\n /* eslint-enable dot-notation */\n }\n}\n//# sourceMappingURL=types.js.map","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import HTTPClient from '../client';\nimport IntDecoding from '../../types/intDecoding';\n/**\n * Convert a token string to a token header\n * @param token - The token string\n * @param headerIdentifier - An identifier for the token header\n */\nfunction convertTokenStringToTokenHeader(token = '', headerIdentifier) {\n const tokenHeader = {};\n tokenHeader[headerIdentifier] = token;\n return tokenHeader;\n}\nfunction isBaseHTTPClient(tbc) {\n return typeof tbc.get === 'function';\n}\n/**\n * Abstract service client to encapsulate shared AlgodClient and IndexerClient logic\n */\nexport default class ServiceClient {\n constructor(tokenHeaderIdentifier, tokenHeaderOrStrOrBaseClient, baseServer, port, defaultHeaders = {}) {\n if (isBaseHTTPClient(tokenHeaderOrStrOrBaseClient)) {\n // we are using a base client\n this.c = new HTTPClient(tokenHeaderOrStrOrBaseClient);\n }\n else {\n // Accept token header as string or object\n // - workaround to allow backwards compatibility for multiple headers\n let tokenHeader;\n if (typeof tokenHeaderOrStrOrBaseClient === 'string') {\n tokenHeader = convertTokenStringToTokenHeader(tokenHeaderOrStrOrBaseClient, tokenHeaderIdentifier);\n }\n else {\n tokenHeader = tokenHeaderOrStrOrBaseClient;\n }\n this.c = new HTTPClient(tokenHeader, baseServer, port, defaultHeaders);\n }\n this.intDecoding = IntDecoding.DEFAULT;\n }\n /**\n * Set the default int decoding method for all JSON requests this client creates.\n * @param method - \\{\"default\" | \"safe\" | \"mixed\" | \"bigint\"\\} method The method to use when parsing the\n * response for request. Must be one of \"default\", \"safe\", \"mixed\", or \"bigint\". See\n * JSONRequest.setIntDecoding for more details about what each method does.\n */\n setIntEncoding(method) {\n this.intDecoding = method;\n }\n /**\n * Get the default int decoding method for all JSON requests this client creates.\n */\n getIntEncoding() {\n return this.intDecoding;\n }\n}\n//# sourceMappingURL=serviceClient.js.map","import JSONRequest from '../jsonrequest';\n/**\n * Accept base64 string or Uint8Array and output base64 string\n * @param data - Base64 string or Uint8Array\n * @returns The inputted base64 string, or a base64 string representation of the Uint8Array\n */\nexport function base64StringFunnel(data) {\n if (typeof data === 'string') {\n return data;\n }\n return Buffer.from(data).toString('base64');\n}\nexport default class LookupAccountTransactions extends JSONRequest {\n /**\n * Returns transactions relating to the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient.lookupAccountTransactions(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idtransactions)\n * @param account - The address of the account.\n */\n constructor(c, intDecoding, account) {\n super(c, intDecoding);\n this.account = account;\n this.account = account;\n }\n /**\n * @returns `/v2/accounts/${account}/transactions`\n */\n path() {\n return `/v2/accounts/${this.account}/transactions`;\n }\n /**\n * Specifies a prefix which must be contained in the note field.\n *\n * #### Example\n * ```typescript\n * const notePrefixBase64Encoded = \"Y3JlYXRl\";\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .notePrefix(notePrefixBase64Encoded)\n * .do();\n * ```\n *\n * @param prefix - base64 string or uint8array\n * @category query\n */\n notePrefix(prefix) {\n this.query['note-prefix'] = base64StringFunnel(prefix);\n return this;\n }\n /**\n * Type of transaction to filter with.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .txType(\"appl\")\n * .do();\n * ```\n *\n * @param type - one of `pay`, `keyreg`, `acfg`, `axfer`, `afrz`, `appl`, `stpf`\n * @category query\n */\n txType(type) {\n this.query['tx-type'] = type;\n return this;\n }\n /**\n * Type of signature to filter with.\n * - sig: Standard\n * - msig: MultiSig\n * - lsig: LogicSig\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .sigType(\"msig\")\n * .do();\n * ```\n *\n * @param type - one of `sig`, `msig`, `lsig`\n * @category query\n */\n sigType(type) {\n this.query['sig-type'] = type;\n return this;\n }\n /**\n * Lookup the specific transaction by ID.\n *\n * #### Example\n * ```typescript\n * const txId = \"MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA\";\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .txid(txId)\n * .do();\n * ```\n * @remarks Alternatively, use `indexerClient.lookupTransactionByID(txnId).do()`\n * @param txid\n * @category query\n */\n txid(txid) {\n this.query.txid = txid;\n return this;\n }\n /**\n * Include results for the specified round.\n *\n * #### Example\n * ```typescript\n * const targetBlock = 18309917;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .round(targetBlock)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Include results at or after the specified min-round.\n *\n * #### Example\n * ```typescript\n * const minRound = 18309917;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .minRound(minRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n minRound(round) {\n this.query['min-round'] = round;\n return this;\n }\n /**\n * Include results at or before the specified max-round.\n *\n * #### Example\n * ```typescript\n * const maxRound = 18309917;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .maxRound(maxRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n maxRound(round) {\n this.query['max-round'] = round;\n return this;\n }\n /**\n * Asset ID to filter with.\n *\n * #### Example\n * ```typescript\n * const assetID = 163650;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .assetID(assetID)\n * .do();\n * ```\n *\n * @param id\n * @category query\n */\n assetID(id) {\n this.query['asset-id'] = id;\n return this;\n }\n /**\n * Maximum number of results to return.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Include results before the given time.\n *\n * #### Example\n * ```typescript\n * const beforeTime = \"2022-02-02T20:20:22.02Z\";\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .beforeTime(beforeTime)\n * .do();\n * ```\n *\n * @param before - rfc3339 string\n * @category query\n */\n beforeTime(before) {\n this.query['before-time'] = before;\n return this;\n }\n /**\n * Include results after the given time.\n *\n * #### Example\n * ```typescript\n * const afterTime = \"2022-10-21T00:00:11.55Z\";\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .afterTime(afterTime)\n * .do();\n * ```\n *\n * @param after - rfc3339 string\n * @category query\n */\n afterTime(after) {\n this.query['after-time'] = after;\n return this;\n }\n /**\n * Filtered results should have an amount greater than this value, as int, representing microAlgos, unless an asset-id is provided, in which case units are in the asset's units.\n *\n * #### Example 1\n * ```typescript\n * const minBalance = 300000;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .currencyGreaterThan(minBalance - 1)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetID = 163650;\n * const minBalance = 300000;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .assetID(assetID)\n * .currencyGreaterThan(minBalance - 1)\n * .do();\n * ```\n * @remarks\n * If you are looking for transactions with the currency amount greater than 0, simply construct the query without `currencyGreaterThan` because it doesn't accept `-1`, and passing the `0` `currency-greater-than` value would exclude transactions with a 0 amount.\n *\n * @param greater\n * @category query\n */\n currencyGreaterThan(greater) {\n this.query['currency-greater-than'] = greater;\n return this;\n }\n /**\n * Filtered results should have an amount less than this value, as int, representing microAlgos, unless an asset-id is provided, in which case units are in the asset's units.\n *\n * #### Example 1\n * ```typescript\n * const maxBalance = 500000;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .currencyLessThan(maxBalance + 1)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetID = 163650;\n * const maxBalance = 500000;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .assetID(assetID)\n * .currencyLessThan(maxBalance + 1)\n * .do();\n * ```\n *\n * @param lesser\n * @category query\n */\n currencyLessThan(lesser) {\n this.query['currency-less-than'] = lesser;\n return this;\n }\n /**\n * The next page of results. Use the next token provided by the previous results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n *\n * const accountTxnsPage1 = await indexerClient\n * .lookupAccountTransactions(address)\n * .limit(maxResults)\n * .do();\n *\n * const accountTxnsPage2 = await indexerClient\n * .lookupAccountTransactions(address)\n * .limit(maxResults)\n * .nextToken(accountTxnsPage1[\"next-token\"])\n * .do();\n * ```\n *\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Whether or not to include rekeying transactions.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient\n * .lookupAccountTransactions(address)\n * .rekeyTo(false)\n * .do();\n * ```\n *\n * @param rekeyTo\n * @category query\n */\n rekeyTo(rekeyTo) {\n this.query['rekey-to'] = rekeyTo;\n return this;\n }\n}\n//# sourceMappingURL=lookupAccountTransactions.js.map","/* eslint-disable no-bitwise */\n/* eslint-disable no-use-before-define */\n/* eslint-disable class-methods-use-this */\n/**\n //ABI-Types: uint: An N-bit unsigned integer (8 <= N <= 512 and N % 8 = 0).\n // | byte (alias for uint8)\n // | ufixed x (8 <= N <= 512, N % 8 = 0, and 0 < M <= 160)\n // | bool\n // | address (alias for byte[32])\n // | []\n // | []\n // | string\n // | (T1, ..., Tn)\n*/\nimport { encodeAddress, decodeAddress } from '../encoding/address';\nimport { bigIntToBytes, bytesToBigInt } from '../encoding/bigint';\nimport { concatArrays } from '../utils/utils';\nexport const MAX_LEN = 2 ** 16 - 1;\nexport const ADDR_BYTE_SIZE = 32;\nexport const SINGLE_BYTE_SIZE = 1;\nexport const SINGLE_BOOL_SIZE = 1;\nexport const LENGTH_ENCODE_BYTE_SIZE = 2;\nconst staticArrayRegexp = /^([a-z\\d[\\](),]+)\\[(0|[1-9][\\d]*)]$/;\nconst ufixedRegexp = /^ufixed([1-9][\\d]*)x([1-9][\\d]*)$/;\nexport class ABIType {\n // De-serializes the ABI type from a string using the ABI specs\n static from(str) {\n if (str.endsWith('[]')) {\n const arrayArgType = ABIType.from(str.slice(0, str.length - 2));\n return new ABIArrayDynamicType(arrayArgType);\n }\n if (str.endsWith(']')) {\n const stringMatches = str.match(staticArrayRegexp);\n // Match the string itself, array element type, then array length\n if (stringMatches.length !== 3) {\n throw new Error(`malformed static array string: ${str}`);\n }\n // Parse static array using regex\n const arrayLengthStr = stringMatches[2];\n const arrayLength = parseInt(arrayLengthStr, 10);\n if (arrayLength > MAX_LEN) {\n throw new Error(`array length exceeds limit ${MAX_LEN}`);\n }\n // Parse the array element type\n const arrayType = ABIType.from(stringMatches[1]);\n return new ABIArrayStaticType(arrayType, arrayLength);\n }\n if (str.startsWith('uint')) {\n // Checks if the parsed number contains only digits, no whitespaces\n const digitsOnly = (string) => [...string].every((c) => '0123456789'.includes(c));\n const typeSizeStr = str.slice(4, str.length);\n if (!digitsOnly(typeSizeStr)) {\n throw new Error(`malformed uint string: ${typeSizeStr}`);\n }\n const typeSize = parseInt(typeSizeStr, 10);\n if (typeSize > MAX_LEN) {\n throw new Error(`malformed uint string: ${typeSize}`);\n }\n return new ABIUintType(typeSize);\n }\n if (str === 'byte') {\n return new ABIByteType();\n }\n if (str.startsWith('ufixed')) {\n const stringMatches = str.match(ufixedRegexp);\n if (stringMatches.length !== 3) {\n throw new Error(`malformed ufixed type: ${str}`);\n }\n const ufixedSize = parseInt(stringMatches[1], 10);\n const ufixedPrecision = parseInt(stringMatches[2], 10);\n return new ABIUfixedType(ufixedSize, ufixedPrecision);\n }\n if (str === 'bool') {\n return new ABIBoolType();\n }\n if (str === 'address') {\n return new ABIAddressType();\n }\n if (str === 'string') {\n return new ABIStringType();\n }\n if (str.length >= 2 && str[0] === '(' && str[str.length - 1] === ')') {\n const tupleContent = ABITupleType.parseTupleContent(str.slice(1, str.length - 1));\n const tupleTypes = [];\n for (let i = 0; i < tupleContent.length; i++) {\n const ti = ABIType.from(tupleContent[i]);\n tupleTypes.push(ti);\n }\n return new ABITupleType(tupleTypes);\n }\n throw new Error(`cannot convert a string ${str} to an ABI type`);\n }\n}\nexport class ABIUintType extends ABIType {\n constructor(size) {\n super();\n if (size % 8 !== 0 || size < 8 || size > 512) {\n throw new Error(`unsupported uint type bitSize: ${size}`);\n }\n this.bitSize = size;\n }\n toString() {\n return `uint${this.bitSize}`;\n }\n equals(other) {\n return other instanceof ABIUintType && this.bitSize === other.bitSize;\n }\n isDynamic() {\n return false;\n }\n byteLen() {\n return this.bitSize / 8;\n }\n encode(value) {\n if (typeof value !== 'bigint' && typeof value !== 'number') {\n throw new Error(`Cannot encode value as uint${this.bitSize}: ${value}`);\n }\n if (value >= BigInt(2 ** this.bitSize) || value < BigInt(0)) {\n throw new Error(`${value} is not a non-negative int or too big to fit in size uint${this.bitSize}`);\n }\n if (typeof value === 'number' && !Number.isSafeInteger(value)) {\n throw new Error(`${value} should be converted into a BigInt before it is encoded`);\n }\n return bigIntToBytes(value, this.bitSize / 8);\n }\n decode(byteString) {\n if (byteString.length !== this.bitSize / 8) {\n throw new Error(`byte string must correspond to a uint${this.bitSize}`);\n }\n return bytesToBigInt(byteString);\n }\n}\nexport class ABIUfixedType extends ABIType {\n constructor(size, denominator) {\n super();\n if (size % 8 !== 0 || size < 8 || size > 512) {\n throw new Error(`unsupported ufixed type bitSize: ${size}`);\n }\n if (denominator > 160 || denominator < 1) {\n throw new Error(`unsupported ufixed type precision: ${denominator}`);\n }\n this.bitSize = size;\n this.precision = denominator;\n }\n toString() {\n return `ufixed${this.bitSize}x${this.precision}`;\n }\n equals(other) {\n return (other instanceof ABIUfixedType &&\n this.bitSize === other.bitSize &&\n this.precision === other.precision);\n }\n isDynamic() {\n return false;\n }\n byteLen() {\n return this.bitSize / 8;\n }\n encode(value) {\n if (typeof value !== 'bigint' && typeof value !== 'number') {\n throw new Error(`Cannot encode value as ${this.toString()}: ${value}`);\n }\n if (value >= BigInt(2 ** this.bitSize) || value < BigInt(0)) {\n throw new Error(`${value} is not a non-negative int or too big to fit in size ${this.toString()}`);\n }\n if (typeof value === 'number' && !Number.isSafeInteger(value)) {\n throw new Error(`${value} should be converted into a BigInt before it is encoded`);\n }\n return bigIntToBytes(value, this.bitSize / 8);\n }\n decode(byteString) {\n if (byteString.length !== this.bitSize / 8) {\n throw new Error(`byte string must correspond to a ${this.toString()}`);\n }\n return bytesToBigInt(byteString);\n }\n}\nexport class ABIAddressType extends ABIType {\n toString() {\n return 'address';\n }\n equals(other) {\n return other instanceof ABIAddressType;\n }\n isDynamic() {\n return false;\n }\n byteLen() {\n return ADDR_BYTE_SIZE;\n }\n encode(value) {\n if (typeof value !== 'string' && !(value instanceof Uint8Array)) {\n throw new Error(`Cannot encode value as ${this.toString()}: ${value}`);\n }\n if (typeof value === 'string') {\n const decodedAddress = decodeAddress(value);\n return decodedAddress.publicKey;\n }\n // Return the address if it is already in bytes\n if (value.byteLength !== 32) {\n throw new Error(`byte string must be 32 bytes long for an address`);\n }\n return value;\n }\n decode(byteString) {\n if (byteString.byteLength !== 32) {\n throw new Error(`byte string must be 32 bytes long for an address`);\n }\n return encodeAddress(byteString);\n }\n}\nexport class ABIBoolType extends ABIType {\n toString() {\n return 'bool';\n }\n equals(other) {\n return other instanceof ABIBoolType;\n }\n isDynamic() {\n return false;\n }\n byteLen() {\n return SINGLE_BOOL_SIZE;\n }\n encode(value) {\n if (typeof value !== 'boolean') {\n throw new Error(`Cannot encode value as bool: ${value}`);\n }\n if (value) {\n return new Uint8Array([128]);\n }\n return new Uint8Array([0]);\n }\n decode(byteString) {\n if (byteString.byteLength !== 1) {\n throw new Error(`bool string must be 1 byte long`);\n }\n const value = byteString[0];\n if (value === 128) {\n return true;\n }\n if (value === 0) {\n return false;\n }\n throw new Error(`boolean could not be decoded from the byte string`);\n }\n}\nexport class ABIByteType extends ABIType {\n toString() {\n return 'byte';\n }\n equals(other) {\n return other instanceof ABIByteType;\n }\n isDynamic() {\n return false;\n }\n byteLen() {\n return SINGLE_BYTE_SIZE;\n }\n encode(value) {\n if (typeof value !== 'number' && typeof value !== 'bigint') {\n throw new Error(`Cannot encode value as byte: ${value}`);\n }\n if (typeof value === 'bigint') {\n // eslint-disable-next-line no-param-reassign\n value = Number(value);\n }\n if (value < 0 || value > 255) {\n throw new Error(`${value} cannot be encoded into a byte`);\n }\n return new Uint8Array([value]);\n }\n decode(byteString) {\n if (byteString.byteLength !== 1) {\n throw new Error(`byte string must be 1 byte long`);\n }\n return byteString[0];\n }\n}\nexport class ABIStringType extends ABIType {\n toString() {\n return 'string';\n }\n equals(other) {\n return other instanceof ABIStringType;\n }\n isDynamic() {\n return true;\n }\n byteLen() {\n throw new Error(`${this.toString()} is a dynamic type`);\n }\n encode(value) {\n if (typeof value !== 'string' && !(value instanceof Uint8Array)) {\n throw new Error(`Cannot encode value as string: ${value}`);\n }\n const encodedBytes = Buffer.from(value);\n const encodedLength = bigIntToBytes(encodedBytes.length, LENGTH_ENCODE_BYTE_SIZE);\n const mergedBytes = new Uint8Array(encodedBytes.length + LENGTH_ENCODE_BYTE_SIZE);\n mergedBytes.set(encodedLength);\n mergedBytes.set(encodedBytes, LENGTH_ENCODE_BYTE_SIZE);\n return mergedBytes;\n }\n decode(byteString) {\n if (byteString.length < LENGTH_ENCODE_BYTE_SIZE) {\n throw new Error(`byte string is too short to be decoded. Actual length is ${byteString.length}, but expected at least ${LENGTH_ENCODE_BYTE_SIZE}`);\n }\n const buf = Buffer.from(byteString);\n const byteLength = buf.readUIntBE(0, LENGTH_ENCODE_BYTE_SIZE);\n const byteValue = byteString.slice(LENGTH_ENCODE_BYTE_SIZE, byteString.length);\n if (byteLength !== byteValue.length) {\n throw new Error(`string length bytes do not match the actual length of string. Expected ${byteLength}, got ${byteValue.length}`);\n }\n return Buffer.from(byteValue).toString('utf-8');\n }\n}\nexport class ABIArrayStaticType extends ABIType {\n constructor(argType, arrayLength) {\n super();\n if (arrayLength < 0) {\n throw new Error(`static array must have a non negative length: ${arrayLength}`);\n }\n this.childType = argType;\n this.staticLength = arrayLength;\n }\n toString() {\n return `${this.childType.toString()}[${this.staticLength}]`;\n }\n equals(other) {\n return (other instanceof ABIArrayStaticType &&\n this.staticLength === other.staticLength &&\n this.childType.equals(other.childType));\n }\n isDynamic() {\n return this.childType.isDynamic();\n }\n byteLen() {\n if (this.childType.constructor === ABIBoolType) {\n return Math.ceil(this.staticLength / 8);\n }\n return this.staticLength * this.childType.byteLen();\n }\n encode(value) {\n if (!Array.isArray(value) && !(value instanceof Uint8Array)) {\n throw new Error(`Cannot encode value as ${this.toString()}: ${value}`);\n }\n if (value.length !== this.staticLength) {\n throw new Error(`Value array does not match static array length. Expected ${this.staticLength}, got ${value.length}`);\n }\n const convertedTuple = this.toABITupleType();\n return convertedTuple.encode(value);\n }\n decode(byteString) {\n const convertedTuple = this.toABITupleType();\n return convertedTuple.decode(byteString);\n }\n toABITupleType() {\n return new ABITupleType(Array(this.staticLength).fill(this.childType));\n }\n}\nexport class ABIArrayDynamicType extends ABIType {\n constructor(argType) {\n super();\n this.childType = argType;\n }\n toString() {\n return `${this.childType.toString()}[]`;\n }\n equals(other) {\n return (other instanceof ABIArrayDynamicType &&\n this.childType.equals(other.childType));\n }\n isDynamic() {\n return true;\n }\n byteLen() {\n throw new Error(`${this.toString()} is a dynamic type`);\n }\n encode(value) {\n if (!Array.isArray(value) && !(value instanceof Uint8Array)) {\n throw new Error(`Cannot encode value as ${this.toString()}: ${value}`);\n }\n const convertedTuple = this.toABITupleType(value.length);\n const encodedTuple = convertedTuple.encode(value);\n const encodedLength = bigIntToBytes(convertedTuple.childTypes.length, LENGTH_ENCODE_BYTE_SIZE);\n const mergedBytes = concatArrays(encodedLength, encodedTuple);\n return mergedBytes;\n }\n decode(byteString) {\n const buf = Buffer.from(byteString);\n const byteLength = buf.readUIntBE(0, LENGTH_ENCODE_BYTE_SIZE);\n const convertedTuple = this.toABITupleType(byteLength);\n return convertedTuple.decode(byteString.slice(LENGTH_ENCODE_BYTE_SIZE, byteString.length));\n }\n toABITupleType(length) {\n return new ABITupleType(Array(length).fill(this.childType));\n }\n}\nexport class ABITupleType extends ABIType {\n constructor(argTypes) {\n super();\n if (argTypes.length >= MAX_LEN) {\n throw new Error('tuple type child type number larger than maximum uint16 error');\n }\n this.childTypes = argTypes;\n }\n toString() {\n const typeStrings = [];\n for (let i = 0; i < this.childTypes.length; i++) {\n typeStrings[i] = this.childTypes[i].toString();\n }\n return `(${typeStrings.join(',')})`;\n }\n equals(other) {\n return (other instanceof ABITupleType &&\n this.childTypes.length === other.childTypes.length &&\n this.childTypes.every((child, index) => child.equals(other.childTypes[index])));\n }\n isDynamic() {\n const isDynamic = (child) => child.isDynamic();\n return this.childTypes.some(isDynamic);\n }\n byteLen() {\n let size = 0;\n for (let i = 0; i < this.childTypes.length; i++) {\n if (this.childTypes[i].constructor === ABIBoolType) {\n const after = findBoolLR(this.childTypes, i, 1);\n const boolNum = after + 1;\n i += after;\n size += Math.trunc((boolNum + 7) / 8);\n }\n else {\n const childByteSize = this.childTypes[i].byteLen();\n size += childByteSize;\n }\n }\n return size;\n }\n encode(value) {\n if (!Array.isArray(value) && !(value instanceof Uint8Array)) {\n throw new Error(`Cannot encode value as ${this.toString()}: ${value}`);\n }\n const values = Array.from(value);\n if (value.length > MAX_LEN) {\n throw new Error('length of tuple array should not exceed a uint16');\n }\n const tupleTypes = this.childTypes;\n const heads = [];\n const tails = [];\n const isDynamicIndex = new Map();\n let i = 0;\n while (i < tupleTypes.length) {\n const tupleType = tupleTypes[i];\n if (tupleType.isDynamic()) {\n // Head is not pre-determined for dynamic types; store a placeholder for now\n isDynamicIndex.set(heads.length, true);\n heads.push(new Uint8Array([0, 0]));\n tails.push(tupleType.encode(values[i]));\n }\n else {\n if (tupleType.constructor === ABIBoolType) {\n const before = findBoolLR(tupleTypes, i, -1);\n let after = findBoolLR(tupleTypes, i, 1);\n // Pack bytes to heads and tails\n if (before % 8 !== 0) {\n throw new Error('expected before index should have number of bool mod 8 equal 0');\n }\n after = Math.min(7, after);\n const compressedInt = compressMultipleBool(values.slice(i, i + after + 1));\n heads.push(bigIntToBytes(compressedInt, 1));\n i += after;\n }\n else {\n const encodedTupleValue = tupleType.encode(values[i]);\n heads.push(encodedTupleValue);\n }\n isDynamicIndex.set(i, false);\n tails.push(new Uint8Array());\n }\n i += 1;\n }\n // Adjust head lengths for dynamic types\n let headLength = 0;\n for (const headElement of heads) {\n headLength += headElement.length;\n }\n // encode any placeholders for dynamic types\n let tailLength = 0;\n for (let j = 0; j < heads.length; j++) {\n if (isDynamicIndex.get(j)) {\n const headValue = headLength + tailLength;\n if (headValue > MAX_LEN) {\n throw new Error(`byte length of ${headValue} should not exceed a uint16`);\n }\n heads[j] = bigIntToBytes(headValue, LENGTH_ENCODE_BYTE_SIZE);\n }\n tailLength += tails[j].length;\n }\n return concatArrays(...heads, ...tails);\n }\n decode(byteString) {\n const tupleTypes = this.childTypes;\n const dynamicSegments = [];\n const valuePartition = [];\n let i = 0;\n let iterIndex = 0;\n const buf = Buffer.from(byteString);\n while (i < tupleTypes.length) {\n const tupleType = tupleTypes[i];\n if (tupleType.isDynamic()) {\n if (byteString.slice(iterIndex, byteString.length).length <\n LENGTH_ENCODE_BYTE_SIZE) {\n throw new Error('dynamic type in tuple is too short to be decoded');\n }\n const dynamicIndex = buf.readUIntBE(iterIndex, LENGTH_ENCODE_BYTE_SIZE);\n if (dynamicSegments.length > 0) {\n dynamicSegments[dynamicSegments.length - 1].right = dynamicIndex;\n // Check that right side of segment is greater than the left side\n if (dynamicIndex < dynamicSegments[dynamicSegments.length - 1].left) {\n throw new Error('dynamic index segment miscalculation: left is greater than right index');\n }\n }\n // Since we do not know where the current dynamic element ends, put a placeholder and update later\n const seg = {\n left: dynamicIndex,\n right: -1,\n };\n dynamicSegments.push(seg);\n valuePartition.push(null);\n iterIndex += LENGTH_ENCODE_BYTE_SIZE;\n }\n else {\n // eslint-disable-next-line no-lonely-if\n if (tupleType.constructor === ABIBoolType) {\n const before = findBoolLR(this.childTypes, i, -1);\n let after = findBoolLR(this.childTypes, i, 1);\n if (before % 8 !== 0) {\n throw new Error('expected before bool number mod 8 === 0');\n }\n after = Math.min(7, after);\n // Parse bool in a byte to multiple byte strings\n for (let boolIndex = 0; boolIndex <= after; boolIndex++) {\n const boolMask = 0x80 >> boolIndex;\n if ((byteString[iterIndex] & boolMask) > 0) {\n valuePartition.push(new Uint8Array([128]));\n }\n else {\n valuePartition.push(new Uint8Array([0]));\n }\n }\n i += after;\n iterIndex += 1;\n }\n else {\n const currLen = tupleType.byteLen();\n valuePartition.push(byteString.slice(iterIndex, iterIndex + currLen));\n iterIndex += currLen;\n }\n }\n if (i !== tupleTypes.length - 1 && iterIndex >= byteString.length) {\n throw new Error('input byte not enough to decode');\n }\n i += 1;\n }\n if (dynamicSegments.length > 0) {\n dynamicSegments[dynamicSegments.length - 1].right = byteString.length;\n iterIndex = byteString.length;\n }\n if (iterIndex < byteString.length) {\n throw new Error('input byte not fully consumed');\n }\n // Check segment indices are valid\n // If the dynamic segment are not consecutive and well-ordered, we return error\n for (let j = 0; j < dynamicSegments.length; j++) {\n const seg = dynamicSegments[j];\n if (seg.left > seg.right) {\n throw new Error('dynamic segment should display a [l, r] space with l <= r');\n }\n if (j !== dynamicSegments.length - 1 &&\n seg.right !== dynamicSegments[j + 1].left) {\n throw new Error('dynamic segment should be consecutive');\n }\n }\n // Check dynamic element partitions\n let segIndex = 0;\n for (let j = 0; j < tupleTypes.length; j++) {\n if (tupleTypes[j].isDynamic()) {\n valuePartition[j] = byteString.slice(dynamicSegments[segIndex].left, dynamicSegments[segIndex].right);\n segIndex += 1;\n }\n }\n // Decode each tuple element\n const returnValues = [];\n for (let j = 0; j < tupleTypes.length; j++) {\n const valueTi = tupleTypes[j].decode(valuePartition[j]);\n returnValues.push(valueTi);\n }\n return returnValues;\n }\n static parseTupleContent(str) {\n if (str.length === 0) {\n return [];\n }\n if (str.endsWith(',') || str.startsWith(',')) {\n throw new Error('tuple string should not start with comma');\n }\n if (str.includes(',,')) {\n throw new Error('tuple string should not have consecutive commas');\n }\n const tupleStrings = [];\n let depth = 0;\n let word = '';\n for (const char of str) {\n word += char;\n if (char === '(') {\n depth += 1;\n }\n else if (char === ')') {\n depth -= 1;\n }\n else if (char === ',') {\n // If the comma is at depth 0, then append the word as token.\n if (depth === 0) {\n tupleStrings.push(word.slice(0, word.length - 1));\n word = '';\n }\n }\n }\n if (word.length !== 0) {\n tupleStrings.push(word);\n }\n if (depth !== 0) {\n throw new Error('tuple string has mismatched parentheses');\n }\n return tupleStrings;\n }\n}\n// compressMultipleBool compresses consecutive bool values into a byte in ABI tuple / array value.\nfunction compressMultipleBool(valueList) {\n let res = 0;\n if (valueList.length > 8) {\n throw new Error('value list passed in should be no greater than length 8');\n }\n for (let i = 0; i < valueList.length; i++) {\n const boolVal = valueList[i];\n if (typeof boolVal !== 'boolean') {\n throw new Error('non-boolean values cannot be compressed into a byte');\n }\n if (boolVal) {\n res |= 1 << (7 - i);\n }\n }\n return res;\n}\n// Assume that the current index on the list of type is an ABI bool type.\n// It returns the difference between the current index and the index of the furthest consecutive Bool type.\nfunction findBoolLR(typeList, index, delta) {\n let until = 0;\n while (true) {\n const curr = index + delta * until;\n if (typeList[curr].constructor === ABIBoolType) {\n if (curr !== typeList.length - 1 && delta === 1) {\n until += 1;\n }\n else if (curr > 0 && delta === -1) {\n until += 1;\n }\n else {\n break;\n }\n }\n else {\n until -= 1;\n break;\n }\n }\n return until;\n}\n//# sourceMappingURL=abi_type.js.map","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import * as env from \"@walletconnect/environment\";\nexport function randomBytes(length) {\n const browserCrypto = env.getBrowerCrypto();\n return browserCrypto.getRandomValues(new Uint8Array(length));\n}\n//# sourceMappingURL=index.js.map","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=require(\"react\"),r=e(t),l=e(require(\"classnames\")),a=require(\"uuid\");function i(e){var t=e.listItemKeyGenerator,r=e.listItemTestId,l=e.item;return t?t(l,r):l&&\"object\"==typeof l&&l.id?l.id:a.v4()}module.exports=function(e){var a,s=e.items,o=e.children,d=e.customClassName,u=e.testid,n=e.role,c=e.listItemKeyGenerator,m=e.placeholderProps,p=e.emptyStateProps,y=e.type,f=void 0===y?\"unordered\":y,h=l(\"list\",d);switch(f){case\"ordered\":a=\"ol\";break;case\"description\":a=\"dl\";break;default:a=\"ul\"}return r.createElement(a,{className:h,role:n,\"data-testid\":u},s.map((function(e,l){var a=u+\".item-\"+l;return r.createElement(t.Fragment,{key:i({listItemKeyGenerator:c,listItemTestId:a,item:e})},o(e,a,l))})),(null==m?void 0:m.shouldDisplayPlaceholder)&&m.placeholder,!(null==m?void 0:m.shouldDisplayPlaceholder)&&(null==p?void 0:p.shouldDisplayEmptyState)&&p.emptyState)};\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=e(require(\"react\")),n=e(require(\"classnames\")),s=require(\"./_tslib-b1014349.js\"),i=require(\"./Spinner.js\"),o=t.forwardRef((function(e,o){var a=e.testid,r=e.type,u=void 0===r?\"button\":r,l=e.onClick,c=e.children,d=e.customSpinner,p=e.customClassName,b=e.shouldPreventDefault,m=void 0===b||b,f=e.shouldStopPropagation,v=void 0===f||f,h=e.shouldFocus,_=e.shouldDisplaySpinner,D=e.isDisabled,S=s.__rest(e,[\"testid\",\"type\",\"onClick\",\"children\",\"customSpinner\",\"customClassName\",\"shouldPreventDefault\",\"shouldStopPropagation\",\"shouldFocus\",\"shouldDisplaySpinner\",\"isDisabled\"]),y=Boolean(D||_),C=n(\"button\",p,{\"button--is-inactive\":y,\"button--is-pending\":_}),g=d||t.createElement(\"div\",{className:\"button__spinner-container\"},t.createElement(i,{customClassName:\"button__spinner\",\"aria-label\":\"Button spinner visible. Button inactivated.\"}));return t.createElement(\"button\",s.__assign({ref:o,\"data-testid\":a,className:C,type:u,autoFocus:h,onClick:function(e){l&&(m&&e.preventDefault(),v&&e.stopPropagation(),y||l(e))},disabled:y},S),c,_&&g)}));module.exports=o;\n","/* eslint-disable no-bitwise */\n/**\n * Utilities for working with program bytes.\n */\n/** @deprecated langspec.json is deprecated aross all SDKs */\nimport langspec from './langspec.json';\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nlet opcodes;\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nconst maxCost = 20000;\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nconst maxLength = 1000;\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nexport function parseUvarint(array) {\n let x = 0;\n let s = 0;\n for (let i = 0; i < array.length; i++) {\n const b = array[i];\n if (b < 0x80) {\n if (i > 9 || (i === 9 && b > 1)) {\n return [0, -(i + 1)];\n }\n return [x | (b << s), i + 1];\n }\n x += (b & 0x7f) << s;\n s += 7;\n }\n return [0, 0];\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nfunction readIntConstBlock(program, pc) {\n let size = 1;\n const parsed = parseUvarint(program.slice(pc + size));\n const numInts = parsed[0];\n let bytesUsed = parsed[1];\n if (bytesUsed <= 0) {\n throw new Error(`could not decode int const block size at pc=${pc + size}`);\n }\n const ints = [];\n size += bytesUsed;\n for (let i = 0; i < numInts; i++) {\n if (pc + size >= program.length) {\n throw new Error('intcblock ran past end of program');\n }\n let numberFound;\n [numberFound, bytesUsed] = parseUvarint(program.slice(pc + size));\n if (bytesUsed <= 0) {\n throw new Error(`could not decode int const[${i}] block size at pc=${pc + size}`);\n }\n ints.push(numberFound);\n size += bytesUsed;\n }\n return [size, ints];\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nfunction readByteConstBlock(program, pc) {\n let size = 1;\n const parsed = parseUvarint(program.slice(pc + size));\n const numInts = parsed[0];\n let bytesUsed = parsed[1];\n if (bytesUsed <= 0) {\n throw new Error(`could not decode []byte const block size at pc=${pc + size}`);\n }\n const byteArrays = [];\n size += bytesUsed;\n for (let i = 0; i < numInts; i++) {\n if (pc + size >= program.length) {\n throw new Error('bytecblock ran past end of program');\n }\n let itemLen;\n [itemLen, bytesUsed] = parseUvarint(program.slice(pc + size));\n if (bytesUsed <= 0) {\n throw new Error(`could not decode []byte] const[${i}] block size at pc=${pc + size}`);\n }\n size += bytesUsed;\n if (pc + size + itemLen > program.length) {\n throw new Error('bytecblock ran past end of program');\n }\n const byteArray = program.slice(pc + size, pc + size + itemLen);\n byteArrays.push(byteArray);\n size += itemLen;\n }\n return [size, byteArrays];\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nfunction readPushIntOp(program, pc) {\n let size = 1;\n const [numberFound, bytesUsed] = parseUvarint(program.slice(pc + size));\n if (bytesUsed <= 0) {\n throw new Error(`could not decode push int const at pc=${pc + size}`);\n }\n size += bytesUsed;\n return [size, numberFound];\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nfunction readPushByteOp(program, pc) {\n let size = 1;\n const [itemLen, bytesUsed] = parseUvarint(program.slice(pc + size));\n if (bytesUsed <= 0) {\n throw new Error(`could not decode push []byte const size at pc=${pc + size}`);\n }\n size += bytesUsed;\n if (pc + size + itemLen > program.length) {\n throw new Error('pushbytes ran past end of program');\n }\n const byteArray = program.slice(pc + size, pc + size + itemLen);\n size += itemLen;\n return [size, byteArray];\n}\n/** readProgram validates program for length and running cost,\n * and additionally provides the found int variables and byte blocks\n *\n * @deprecated Validation relies on metadata (`langspec.json`) that\n * does not accurately represent opcode behavior across program versions.\n * The behavior of `readProgram` relies on `langspec.json`.\n * Thus, this method is being deprecated.\n *\n * @param program - Program to check\n * @param args - Program arguments as array of Uint8Array arrays\n * @throws\n * @returns\n */\nexport function readProgram(program, args) {\n const intcblockOpcode = 32;\n const bytecblockOpcode = 38;\n const pushbytesOpcode = 128;\n const pushintOpcode = 129;\n if (!program) {\n throw new Error('empty program');\n }\n if (typeof args === 'undefined') {\n // eslint-disable-next-line no-param-reassign\n args = [];\n }\n if (!Array.isArray(args)) {\n throw new Error('invalid arguments');\n }\n const [version, vlen] = parseUvarint(program);\n if (vlen <= 0) {\n throw new Error('version parsing error');\n }\n if (version > langspec.EvalMaxVersion) {\n throw new Error('unsupported version');\n }\n let cost = 0;\n let { length } = program;\n for (const arg of args) {\n length += arg.length;\n }\n if (length > maxLength) {\n throw new Error('program too long');\n }\n if (!opcodes) {\n opcodes = {};\n for (const op of langspec.Ops) {\n opcodes[op.Opcode] = op;\n }\n }\n let pc = vlen;\n let ints = [];\n let byteArrays = [];\n while (pc < program.length) {\n const op = opcodes[program[pc]];\n if (op === undefined) {\n throw new Error('invalid instruction');\n }\n cost += op.Cost;\n let size = op.Size;\n if (size === 0) {\n switch (op.Opcode) {\n case intcblockOpcode: {\n let foundInts;\n [size, foundInts] = readIntConstBlock(program, pc);\n ints = ints.concat(foundInts);\n break;\n }\n case bytecblockOpcode: {\n let foundByteArrays;\n [size, foundByteArrays] = readByteConstBlock(program, pc);\n byteArrays = byteArrays.concat(foundByteArrays);\n break;\n }\n case pushintOpcode: {\n let foundInt;\n [size, foundInt] = readPushIntOp(program, pc);\n ints.push(foundInt);\n break;\n }\n case pushbytesOpcode: {\n let foundByteArray;\n [size, foundByteArray] = readPushByteOp(program, pc);\n byteArrays.push(foundByteArray);\n break;\n }\n default: {\n throw new Error('invalid instruction');\n }\n }\n }\n pc += size;\n }\n // costs calculated dynamically starting in v4\n if (version < 4 && cost > maxCost) {\n throw new Error('program too costly for version < 4. consider using v4.');\n }\n return [ints, byteArrays, true];\n}\n/**\n * checkProgram validates program for length and running cost\n *\n * @deprecated Validation relies on metadata (`langspec.json`) that\n * does not accurately represent opcode behavior across program versions.\n * The behavior of `checkProgram` relies on `langspec.json`.\n * Thus, this method is being deprecated.\n *\n * @param program - Program to check\n * @param args - Program arguments as array of Uint8Array arrays\n * @throws\n * @returns true if success\n */\nexport function checkProgram(program, args) {\n const [, , success] = readProgram(program, args);\n return success;\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nexport function checkIntConstBlock(program, pc) {\n const [size] = readIntConstBlock(program, pc);\n return size;\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nexport function checkByteConstBlock(program, pc) {\n const [size] = readByteConstBlock(program, pc);\n return size;\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nexport function checkPushIntOp(program, pc) {\n const [size] = readPushIntOp(program, pc);\n return size;\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nexport function checkPushByteOp(program, pc) {\n const [size] = readPushByteOp(program, pc);\n return size;\n}\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nexport const langspecEvalMaxVersion = langspec.EvalMaxVersion;\n/** @deprecated for langspec.json is deprecated aross all SDKs */\nexport const langspecLogicSigVersion = langspec.LogicSigVersion;\n//# sourceMappingURL=logic.js.map","/* eslint-disable no-bitwise */\nconst address = require('../encoding/address');\nfunction putUvarint(buf, x) {\n let i = 0;\n while (x > 0x80) {\n buf.push((x & 0xff) | 0x80);\n // eslint-disable-next-line no-param-reassign\n x >>= 7;\n i += 1;\n }\n buf.push(x & 0xff);\n return i + 1;\n}\nconst valTypes = {\n INT: 1,\n ADDRESS: 2,\n BASE64: 3,\n};\nfunction inject(orig, offsets, values, valueTypes) {\n if (offsets.length !== values.length ||\n offsets.length !== valueTypes.length) {\n throw new Error('Lengths do not match');\n }\n let res = orig;\n function replace(arr, newVal, offset, placeholderLength) {\n const beforeReplacement = arr.slice(0, offset);\n const afterReplacement = arr.slice(offset + placeholderLength, arr.length);\n const chunks = [beforeReplacement, Buffer.from(newVal), afterReplacement];\n return Buffer.concat(chunks);\n }\n for (let i = 0; i < offsets.length; i++) {\n let decodedLength = 0;\n let val = values[i];\n const valType = valueTypes[i];\n switch (valType) {\n case valTypes.INT:\n // eslint-disable-next-line no-case-declarations\n const intBuf = [];\n decodedLength = putUvarint(intBuf, val);\n res = replace(res, intBuf, offsets[i], 1);\n break;\n case valTypes.ADDRESS:\n val = address.decodeAddress(val);\n res = replace(res, val.publicKey, offsets[i], 32);\n break;\n case valTypes.BASE64:\n // eslint-disable-next-line no-case-declarations\n const lenBuf = [];\n val = Buffer.from(val, 'base64');\n putUvarint(lenBuf, val.length);\n val = Buffer.concat([Buffer.from(lenBuf), val]);\n res = replace(res, val, offsets[i], 33);\n break;\n default:\n throw new Error('unrecognized value type');\n }\n if (decodedLength !== 0) {\n for (let o = 0; o < offsets.length; o++) {\n // eslint-disable-next-line no-param-reassign\n offsets[o] += decodedLength - 1;\n }\n }\n }\n return res;\n}\nmodule.exports = { inject, valTypes };\n//# sourceMappingURL=templates.js.map","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * encodeUint64 converts an integer to its binary representation.\n * @param num - The number to convert. This must be an unsigned integer less than\n * 2^64.\n * @returns An 8-byte typed array containing the big-endian encoding of the input\n * integer.\n */\nexport function encodeUint64(num) {\n const isInteger = typeof num === 'bigint' || Number.isInteger(num);\n if (!isInteger || num < 0 || num > BigInt('0xffffffffffffffff')) {\n throw new Error('Input is not a 64-bit unsigned integer');\n }\n const buf = Buffer.allocUnsafe(8);\n buf.writeBigUInt64BE(BigInt(num));\n return new Uint8Array(buf);\n}\nexport function decodeUint64(data, decodingMode = 'safe') {\n if (decodingMode !== 'safe' &&\n decodingMode !== 'mixed' &&\n decodingMode !== 'bigint') {\n throw new Error(`Unknown decodingMode option: ${decodingMode}`);\n }\n if (data.byteLength === 0 || data.byteLength > 8) {\n throw new Error(`Data has unacceptable length. Expected length is between 1 and 8, got ${data.byteLength}`);\n }\n // insert 0s at the beginning if data is smaller than 8 bytes\n const padding = Buffer.allocUnsafe(8 - data.byteLength);\n padding.fill(0);\n const buf = Buffer.concat([padding, Buffer.from(data)]);\n const num = buf.readBigUInt64BE();\n const isBig = num > Number.MAX_SAFE_INTEGER;\n if (decodingMode === 'safe') {\n if (isBig) {\n throw new Error(`Integer exceeds maximum safe integer: ${num.toString()}. Try decoding with \"mixed\" or \"safe\" decodingMode.`);\n }\n return Number(num);\n }\n if (decodingMode === 'mixed' && !isBig) {\n return Number(num);\n }\n return num;\n}\n//# sourceMappingURL=uint64.js.map","export * from \"./env\";\nexport * from \"./pkcs7\";\nexport * from \"./types\";\nexport * from \"./validators\";\n//# sourceMappingURL=index.js.map","import { signLogicSigTransactionObject } from './logicsig';\nimport { signMultisigTransaction, mergeMultisigTransactions } from './multisig';\n/**\n * Create a TransactionSigner that can sign transactions for the provided basic Account.\n */\nexport function makeBasicAccountTransactionSigner(account) {\n return (txnGroup, indexesToSign) => {\n const signed = [];\n for (const index of indexesToSign) {\n signed.push(txnGroup[index].signTxn(account.sk));\n }\n return Promise.resolve(signed);\n };\n}\n/**\n * Create a TransactionSigner that can sign transactions for the provided LogicSigAccount.\n */\nexport function makeLogicSigAccountTransactionSigner(account) {\n return (txnGroup, indexesToSign) => {\n const signed = [];\n for (const index of indexesToSign) {\n const { blob } = signLogicSigTransactionObject(txnGroup[index], account);\n signed.push(blob);\n }\n return Promise.resolve(signed);\n };\n}\n/**\n * Create a TransactionSigner that can sign transactions for the provided Multisig account.\n * @param msig - The Multisig account metadata\n * @param sks - An array of private keys belonging to the msig which should sign the transactions.\n */\nexport function makeMultiSigAccountTransactionSigner(msig, sks) {\n return (txnGroup, indexesToSign) => {\n const signed = [];\n for (const index of indexesToSign) {\n const txn = txnGroup[index];\n const partialSigs = [];\n for (const sk of sks) {\n const { blob } = signMultisigTransaction(txn, msig, sk);\n partialSigs.push(blob);\n }\n signed.push(mergeMultisigTransactions(partialSigs));\n }\n return Promise.resolve(signed);\n };\n}\n/**\n * Check if a value conforms to the TransactionWithSigner structure.\n * @param value - The value to check.\n * @returns True if an only if the value has the structure of a TransactionWithSigner.\n */\nexport function isTransactionWithSigner(value) {\n return (typeof value === 'object' &&\n Object.keys(value).length === 2 &&\n typeof value.txn === 'object' &&\n typeof value.signer === 'function');\n}\n//# sourceMappingURL=signer.js.map","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=require(\"react\"),i=e(t),r=e(require(\"classnames\")),a=require(\"./_tslib-b1014349.js\"),n=require(\"./numberUtils-17dd20cc.js\");function o(){var e=\"undefined\"!=typeof navigator?navigator.userAgent||navigator.vendor:\"\";return[/Android/i,/iPhone/i,/iPad/i].some((function(t){return e.match(t)}))}var s=i.forwardRef((function(e,s){var u,c=e.testid,l=e.value,m=e.type,g=void 0===m?\"text\":m,d=e.isDisabled,p=e.hasError,v=e.customClassName,f=e.leftIcon,_=e.rightIcon,h=e.localizationOptions,N=void 0===h?{}:h,b=e.role,S=e.autoComplete,E=void 0===S?\"off\":S,C=e.autoCorrect,T=void 0===C?\"off\":C,D=e.onChange,I=a.__rest(e,[\"testid\",\"value\",\"type\",\"isDisabled\",\"hasError\",\"customClassName\",\"leftIcon\",\"rightIcon\",\"localizationOptions\",\"role\",\"autoComplete\",\"autoCorrect\",\"onChange\"]),x=function(e){return o()?{shouldFormatToLocaleString:!1,locale:void 0,maximumFractionDigits:e.maximumFractionDigits}:e}(N),F=x.shouldFormatToLocaleString,y=void 0!==F&&F,A=x.locale,L=x.maximumFractionDigits,q=void 0===L?0:L,w=a.__read(t.useState((function(){return a.__assign(a.__assign({},n.getNumberSeparators(A)),n.getNegativeZero(A))})),2),O=w[0],R=O.DECIMAL_NUMBER_SEPARATOR,U=O.MINUS_SIGN,Z=O.LOCALE_NEGATIVE_ZERO,j=w[1],z=\"number\"===g,M=r(\"input-container\",v,\"input-container--type-\"+g,{\"input-container--is-disabled\":d,\"input-container--has-error\":p}),P=l;if(!(\"number\"==typeof q&&Number.isInteger(q)&&q>=0))throw new Error(\"maximumFractionDigits should be zero or a positive integer.\");if(z&&\"string\"==typeof l&&y){var V=a.__read(String(l).split(\".\"),2),G=V[0],B=V[1],$=n.formatNumber({maximumFractionDigits:q,locale:A});(null===(u=l.match(/\\.$/))||void 0===u?void 0:u.length)||B?P=\"\"+$(parseInt(G))+R+n.mapDigitsToLocalVersion({locale:A},B):G&&(P=G!==U&&G!==Z?$(parseInt(G)):\"\"+U+n.mapDigitsToLocalVersion({locale:A},G))}return t.useEffect((function(){j(a.__assign(a.__assign({},n.getNumberSeparators(A)),n.getNegativeZero(A)))}),[A]),i.createElement(\"div\",{role:b,className:M,\"data-testid\":c},f&&i.createElement(\"span\",{className:\"input-container__icon input-container__left-icon\"},f),i.createElement(\"input\",a.__assign({ref:s,className:\"input\",type:z?\"text\":g,autoComplete:E,value:P,autoCorrect:T,disabled:d,onChange:function(e){var t;if(z){var i=e.currentTarget.value;if(i){var r=n.parseNumber((p={locale:A,maximumFractionDigits:q},o()?a.__assign(a.__assign({},p),{locale:\"en-US\"}):p),i),s=\"\"===r||\"-\"!==i&&Number.isNaN(Number(r)),u=r?String(r):\"\";if(!s&&(null===(t=r.match(/./))||void 0===t?void 0:t.length)?u=String(r):s&&(u=l),!s&&(y||q>0||u.includes(\"-\"))&&(u=n.removeLeadingZeros(A,u)),0===q&&\"-0\"===u&&(u=\"0\"),y){var c=n.getThousandthSeparatorCount(u),m=n.getThousandthSeparatorCount(l),g=e.currentTarget,d=e.currentTarget.selectionStart||0;!u||String(l).length!==u.length+1&&String(l).length!==u.length-1||(m===c+1?d-=1:m===c-1&&(d+=1),window.requestAnimationFrame((function(){g.selectionStart=d,g.selectionEnd=d})))}e.currentTarget.value=u}}var p;D(e)}},I)),_&&i.createElement(\"span\",{className:\"input-container__icon input-container__right-icon\"},_))}));module.exports=s;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\n\nvar _clockseq; // Previous uuid creation time\n\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || new Array(16);\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n var seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","import * as nacl from './nacl/naclWrappers';\nimport * as address from './encoding/address';\nimport * as encoding from './encoding/encoding';\nimport * as txnBuilder from './transaction';\nimport * as LogicTemplatesCommonJSExport from './logicTemplates';\nimport Bid from './bid';\nimport * as convert from './convert';\nimport * as utils from './utils/utils';\nconst SIGN_BYTES_PREFIX = Buffer.from([77, 88]); // \"MX\"\n// Errors\nexport const MULTISIG_BAD_SENDER_ERROR_MSG = 'The transaction sender address and multisig preimage do not match.';\n/**\n * signTransaction takes an object with either payment or key registration fields and\n * a secret key and returns a signed blob.\n *\n * Payment transaction fields: from, to, amount, fee, firstRound, lastRound, genesisHash,\n * note(optional), GenesisID(optional), closeRemainderTo(optional)\n *\n * Key registration fields: fee, firstRound, lastRound, voteKey, selectionKey, voteFirst,\n * voteLast, voteKeyDilution, genesisHash, note(optional), GenesisID(optional)\n *\n * If flatFee is not set and the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.\n * @param txn - object with either payment or key registration fields\n * @param sk - Algorand Secret Key\n * @returns object contains the binary signed transaction and its txID\n */\nexport function signTransaction(txn, sk) {\n if (typeof txn.from === 'undefined') {\n // Get pk from sk if no sender specified\n const key = nacl.keyPairFromSecretKey(sk);\n // eslint-disable-next-line no-param-reassign\n txn.from = address.encodeAddress(key.publicKey);\n }\n const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);\n return {\n txID: algoTxn.txID().toString(),\n blob: algoTxn.signTxn(sk),\n };\n}\n/**\n * signBid takes an object with the following fields: bidder key, bid amount, max price, bid ID, auctionKey, auction ID,\n * and a secret key and returns a signed blob to be inserted into a transaction Algorand note field.\n * @param bid - Algorand Bid\n * @param sk - Algorand secret key\n * @returns Uint8Array binary signed bid\n */\nexport function signBid(bid, sk) {\n const signedBid = new Bid(bid);\n return signedBid.signBid(sk);\n}\n/**\n * signBytes takes arbitrary bytes and a secret key, prepends the bytes with \"MX\" for domain separation, signs the bytes\n * with the private key, and returns the signature.\n * @param bytes - Uint8array\n * @param sk - Algorand secret key\n * @returns binary signature\n */\nexport function signBytes(bytes, sk) {\n const toBeSigned = Buffer.from(utils.concatArrays(SIGN_BYTES_PREFIX, bytes));\n const sig = nacl.sign(toBeSigned, sk);\n return sig;\n}\n/**\n * verifyBytes takes array of bytes, an address, and a signature and verifies if the signature is correct for the public\n * key and the bytes (the bytes should have been signed with \"MX\" prepended for domain separation).\n * @param bytes - Uint8Array\n * @param signature - binary signature\n * @param addr - string address\n * @returns bool\n */\nexport function verifyBytes(bytes, signature, addr) {\n const toBeVerified = Buffer.from(utils.concatArrays(SIGN_BYTES_PREFIX, bytes));\n const pk = address.decodeAddress(addr).publicKey;\n return nacl.verify(toBeVerified, signature, pk);\n}\n/**\n * encodeObj takes a javascript object and returns its msgpack encoding\n * Note that the encoding sorts the fields alphabetically\n * @param o - js obj\n * @returns Uint8Array binary representation\n */\nexport function encodeObj(o) {\n return new Uint8Array(encoding.encode(o));\n}\n/**\n * decodeObj takes a Uint8Array and returns its javascript obj\n * @param o - Uint8Array to decode\n * @returns object\n */\nexport function decodeObj(o) {\n return encoding.decode(o);\n}\nexport const ERROR_MULTISIG_BAD_SENDER = new Error(MULTISIG_BAD_SENDER_ERROR_MSG);\nexport const ERROR_INVALID_MICROALGOS = new Error(convert.INVALID_MICROALGOS_ERROR_MSG);\nexport * from './client/algod';\nexport { default as Algodv2 } from './client/v2/algod/algod';\nexport { default as Kmd } from './client/kmd';\nexport { default as IntDecoding } from './types/intDecoding';\nexport { default as Indexer } from './client/v2/indexer/indexer';\nexport { waitForConfirmation } from './wait';\nexport { isValidAddress, encodeAddress, decodeAddress, getApplicationAddress, } from './encoding/address';\nexport { bytesToBigInt, bigIntToBytes } from './encoding/bigint';\nexport { encodeUint64, decodeUint64 } from './encoding/uint64';\nexport { default as generateAccount } from './account';\nimport * as modelsv2_1 from './client/v2/algod/models/types';\nexport { modelsv2_1 as modelsv2 };\nimport * as indexerModels_1 from './client/v2/indexer/models/types';\nexport { indexerModels_1 as indexerModels };\nexport { mnemonicToMasterDerivationKey, masterDerivationKeyToMnemonic, secretKeyToMnemonic, mnemonicToSecretKey, seedFromMnemonic, mnemonicFromSeed, } from './mnemonic/mnemonic';\nexport { microalgosToAlgos, algosToMicroalgos, INVALID_MICROALGOS_ERROR_MSG, } from './convert';\nexport { computeGroupID, assignGroupID } from './group';\nexport { LogicSigAccount, makeLogicSig, signLogicSigTransaction, signLogicSigTransactionObject, logicSigFromByte, tealSign, tealSignFromProgram, } from './logicsig';\nexport { signMultisigTransaction, mergeMultisigTransactions, appendSignMultisigTransaction, createMultisigTransaction, appendSignRawMultisigSignature, verifyMultisig, multisigAddress, } from './multisig';\nexport { SourceMap } from './logic/sourcemap';\nexport const LogicTemplates = LogicTemplatesCommonJSExport.default;\nexport * from './dryrun';\nexport * from './makeTxn';\nexport * from './transaction';\nexport * from './signer';\nexport * from './composer';\nexport * from './types';\nexport * from './abi';\n//# sourceMappingURL=main.js.map","/**\n * Wait until a transaction has been confirmed or rejected by the network, or\n * until 'waitRounds' number of rounds have passed.\n * @param client - An Algodv2 client\n * @param txid - The ID of the transaction to wait for.\n * @param waitRounds - The maximum number of rounds to wait for.\n * @returns A promise that, upon success, will resolve to the output of the\n * `pendingTransactionInformation` call for the confirmed transaction.\n */\nexport async function waitForConfirmation(client, txid, waitRounds) {\n // Wait until the transaction is confirmed or rejected, or until 'waitRounds'\n // number of rounds have passed.\n const status = await client.status().do();\n if (typeof status === 'undefined') {\n throw new Error('Unable to get node status');\n }\n const startRound = status['last-round'] + 1;\n let currentRound = startRound;\n /* eslint-disable no-await-in-loop */\n while (currentRound < startRound + waitRounds) {\n let poolError = false;\n try {\n const pendingInfo = await client.pendingTransactionInformation(txid).do();\n if (pendingInfo['confirmed-round']) {\n // Got the completed Transaction\n return pendingInfo;\n }\n if (pendingInfo['pool-error']) {\n // If there was a pool error, then the transaction has been rejected\n poolError = true;\n throw new Error(`Transaction Rejected: ${pendingInfo['pool-error']}`);\n }\n }\n catch (err) {\n // Ignore errors from PendingTransactionInformation, since it may return 404 if the algod\n // instance is behind a load balancer and the request goes to a different algod than the\n // one we submitted the transaction to\n if (poolError) {\n // Rethrow error only if it's because the transaction was rejected\n throw err;\n }\n }\n await client.statusAfterBlock(currentRound).do();\n currentRound += 1;\n }\n /* eslint-enable no-await-in-loop */\n throw new Error(`Transaction not confirmed after ${waitRounds} rounds`);\n}\n//# sourceMappingURL=wait.js.map","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import * as utils from '../utils/utils';\nimport { URLTokenBaseHTTPClient } from './urlTokenBaseHTTPClient';\n/**\n * Remove falsy values or values with a length of 0 from an object.\n */\nfunction removeFalsyOrEmpty(obj) {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n // eslint-disable-next-line no-param-reassign\n if (!obj[key] || obj[key].length === 0)\n delete obj[key];\n }\n }\n return obj;\n}\n/**\n * Create a new object with lower-case keys\n * See https://codereview.stackexchange.com/a/162418\n * Used to ensure all headers are lower-case and to work more easily with them\n */\nfunction tolowerCaseKeys(o) {\n /* eslint-disable no-param-reassign,no-return-assign,no-sequences */\n return Object.keys(o).reduce((c, k) => ((c[k.toLowerCase()] = o[k]), c), {});\n /* eslint-enable no-param-reassign,no-return-assign,no-sequences */\n}\n/**\n * getAcceptFormat returns the correct Accept header depending on the\n * requested format.\n */\nfunction getAcceptFormat(query) {\n if (query !== undefined &&\n Object.prototype.hasOwnProperty.call(query, 'format')) {\n switch (query.format) {\n case 'msgpack':\n return 'application/msgpack';\n case 'json':\n default:\n return 'application/json';\n }\n }\n else\n return 'application/json';\n}\n/**\n * HTTPClient is a wrapper around a BaseHTTPClient\n * It takes care of setting the proper \"Accept\" header and of\n * decoding the JSON outputs.\n */\nexport default class HTTPClient {\n constructor(bcOrTokenHeader, baseServer, port, defaultHeaders = {}) {\n if (baseServer !== undefined) {\n this.bc = new URLTokenBaseHTTPClient(bcOrTokenHeader, baseServer, port, defaultHeaders);\n }\n else {\n this.bc = bcOrTokenHeader;\n }\n }\n /**\n * Parse JSON using either the built-in JSON.parse or utils.parseJSON\n * depending on whether jsonOptions are provided or not\n *\n * @param text - JSON data\n * @param status - Status of the response (used in case parseJSON fails)\n * @param jsonOptions - Options object to use to decode JSON responses. See\n * utils.parseJSON for the options available.\n */\n static parseJSON(text, status, jsonOptions = {}) {\n try {\n if (Object.keys(jsonOptions).length === 0) {\n return text && JSON.parse(text);\n }\n return text && utils.parseJSON(text, jsonOptions);\n }\n catch (err_) {\n const err = err_;\n // return the raw response if the response parsing fails\n err.rawResponse = text || null;\n // return the http status code if the response parsing fails\n err.statusCode = status;\n throw err;\n }\n }\n /**\n * Serialize the data according to the requestHeaders\n * Assumes that requestHeaders contain a key \"content-type\"\n * If the content-type is \"application/json\", data is JSON serialized\n * Otherwise, data needs to be either an UTF-8 string that is converted to an Uint8Array\n * or an Uint8Array\n * @private\n */\n static serializeData(data, requestHeaders) {\n if (!data) {\n return new Uint8Array(0); // empty Uint8Array\n }\n if (requestHeaders['content-type'] === 'application/json') {\n return new Uint8Array(Buffer.from(JSON.stringify(data)));\n }\n if (typeof data === 'string') {\n return new Uint8Array(Buffer.from(data));\n }\n if (data instanceof Uint8Array) {\n return data;\n }\n throw new Error('provided data is neither a string nor a Uint8Array and content-type is not application/json');\n }\n /**\n * Convert a BaseHTTPClientResponse into a full HTTPClientResponse\n * Parse the body in\n * Modifies in place res and return the result\n */\n static prepareResponse(res, format, parseBody, jsonOptions = {}) {\n let { body } = res;\n let text;\n if (format !== 'application/msgpack') {\n text = (body && Buffer.from(body).toString()) || '';\n }\n if (parseBody && format === 'application/json') {\n body = HTTPClient.parseJSON(text, res.status, jsonOptions);\n }\n return {\n ...res,\n body,\n text,\n ok: Math.trunc(res.status / 100) === 2,\n };\n }\n /**\n * Prepare an error with a response\n * (the type of errors BaseHTTPClient are supposed to throw)\n * by adding the status and preparing the internal response\n * @private\n */\n static prepareResponseError(err) {\n if (err.response) {\n // eslint-disable-next-line no-param-reassign\n err.response = HTTPClient.prepareResponse(err.response, 'application/json', true);\n // eslint-disable-next-line no-param-reassign\n err.status = err.response.status;\n }\n return err;\n }\n /**\n * Send a GET request.\n * @param relativePath - The path of the request.\n * @param query - An object containing the query parameters of the request.\n * @param requestHeaders - An object containing additional request headers to use.\n * @param jsonOptions - Options object to use to decode JSON responses. See\n * utils.parseJSON for the options available.\n * @param parseBody - An optional boolean indicating whether the response body should be parsed\n * or not.\n * @returns Response object.\n */\n async get(relativePath, query, requestHeaders = {}, jsonOptions = {}, parseBody = true) {\n const format = getAcceptFormat(query);\n const fullHeaders = { ...requestHeaders, accept: format };\n try {\n const res = await this.bc.get(relativePath, removeFalsyOrEmpty(query), fullHeaders);\n return HTTPClient.prepareResponse(res, format, parseBody, jsonOptions);\n }\n catch (err) {\n throw HTTPClient.prepareResponseError(err);\n }\n }\n /**\n * Send a POST request.\n * If no content-type present, adds the header \"content-type: application/json\"\n * and data is serialized in JSON (if not empty)\n */\n async post(relativePath, data, requestHeaders = {}, query, parseBody = true) {\n const fullHeaders = {\n 'content-type': 'application/json',\n ...tolowerCaseKeys(requestHeaders),\n };\n try {\n const res = await this.bc.post(relativePath, HTTPClient.serializeData(data, fullHeaders), query, fullHeaders);\n return HTTPClient.prepareResponse(res, 'application/json', parseBody);\n }\n catch (err) {\n throw HTTPClient.prepareResponseError(err);\n }\n }\n /**\n * Send a DELETE request.\n * If no content-type present, adds the header \"content-type: application/json\"\n * and data is serialized in JSON (if not empty)\n */\n async delete(relativePath, data, requestHeaders = {}, parseBody = true) {\n const fullHeaders = {\n 'content-type': 'application/json',\n ...tolowerCaseKeys(requestHeaders),\n };\n const res = await this.bc.delete(relativePath, HTTPClient.serializeData(data, fullHeaders), undefined, fullHeaders);\n return HTTPClient.prepareResponse(res, 'application/json', parseBody);\n }\n}\n//# sourceMappingURL=client.js.map","import JSONRequest from '../jsonrequest';\n/**\n * Sets the default header (if not previously set)\n * @param headers - A headers object\n */\nexport function setHeaders(headers = {}) {\n let hdrs = headers;\n if (Object.keys(hdrs).every((key) => key.toLowerCase() !== 'content-type')) {\n hdrs = { ...headers };\n hdrs['Content-Type'] = 'text/plain';\n }\n return hdrs;\n}\n/**\n * Executes compile\n */\nexport default class Compile extends JSONRequest {\n constructor(c, source) {\n super(c);\n this.source = source;\n this.source = source;\n }\n // eslint-disable-next-line class-methods-use-this\n path() {\n return `/v2/teal/compile`;\n }\n sourcemap(map = true) {\n this.query.sourcemap = map;\n return this;\n }\n /**\n * Executes compile\n * @param headers - A headers object\n */\n async do(headers = {}) {\n const txHeaders = setHeaders(headers);\n const res = await this.c.post(this.path(), Buffer.from(this.source), txHeaders, this.query);\n return res.body;\n }\n}\n//# sourceMappingURL=compile.js.map","//Defined basic RPC methods\r\nimport algosdk from \"algosdk\";\r\nimport * as base32 from \"hi-base32\";\r\nexport default class RPC {\r\n constructor(client, indexer) {\r\n this.client = client;\r\n this.indexer = indexer;\r\n }\r\n convertToIntArray(arg) {\r\n return new Uint8Array(Buffer.from(arg));\r\n }\r\n convertToString(arg) {\r\n return new TextDecoder(\"utf-8\").decode(arg);\r\n }\r\n convertToArrayBuffer(arg) {\r\n const args = [];\r\n args.push([Buffer.from(arg)]);\r\n return args;\r\n }\r\n encodeUint(arg) {\r\n return algosdk.encodeUint64(arg);\r\n }\r\n encodeString(arg) {\r\n return new Uint8Array(Buffer.from(arg, \"utf-8\"));\r\n }\r\n base32EncodeArrayBuffer(arg) {\r\n return base32.encode(Buffer.from(arg, \"base64\"));\r\n }\r\n decodeNote(note) {\r\n return Buffer.from(note, \"base64\").toString(\"utf-8\");\r\n }\r\n //Create noop transactions\r\n createNoopTransactions(txns, address, params, appIndex, boxes, foreignApps) {\r\n const txnsArray = [];\r\n for (let i = 0; i < txns; i++) {\r\n txnsArray.push(algosdk.makeApplicationNoOpTxnFromObject({\r\n from: address,\r\n suggestedParams: params,\r\n appIndex: appIndex,\r\n note: this.encodeString(`noop ${i}`),\r\n boxes: boxes,\r\n foreignApps: foreignApps,\r\n }));\r\n }\r\n return txnsArray;\r\n }\r\n //Get transaction ids from local state\r\n getLocalState(transactionDetails) {\r\n const publicNotifications = [];\r\n for (let j = 0; j < transactionDetails.length; j++) {\r\n // converting key into array buffer\r\n const bufferKey = Buffer.from(transactionDetails[j].key, \"base64\");\r\n let finalKey;\r\n // checking for \"index\" string to keep it as is\r\n const convertToString = bufferKey.toString(\"utf-8\");\r\n if (convertToString == \"index\" ||\r\n convertToString == \"msgcount\" ||\r\n convertToString == \"whoami\") {\r\n finalKey = convertToString;\r\n continue;\r\n }\r\n else {\r\n // other key values are converted into number\r\n finalKey = Number(algosdk.bytesToBigInt(bufferKey));\r\n const publicNotification = this.decodeNote(transactionDetails[j].value.bytes);\r\n const PublicNotification = {\r\n index: finalKey,\r\n notification: publicNotification,\r\n };\r\n publicNotifications.push(PublicNotification);\r\n }\r\n }\r\n return publicNotifications;\r\n }\r\n //Reading counter from local state\r\n readCounter(transactionDetails) {\r\n let counter = { personalNotification: 0, publicNotification: 0 };\r\n for (let j = 0; j < transactionDetails.length; j++) {\r\n // converting key into array buffer\r\n const finalKey = this.decodeNote(transactionDetails[j].key);\r\n if (finalKey == \"msgcount\") {\r\n const value = Buffer.from(transactionDetails[j].value.bytes, \"base64\");\r\n counter = {\r\n personalNotification: Number(algosdk.bytesToBigInt(value.slice(0, 8))),\r\n publicNotification: Number(algosdk.bytesToBigInt(value.slice(9, 17))),\r\n };\r\n }\r\n }\r\n return counter;\r\n }\r\n //Reading the app index related to an address(check if the address is creator or not)\r\n readAppIndex(transactionDetails) {\r\n const appIndex = {\r\n channelAppIndex: 0,\r\n channelName: \"Null\",\r\n };\r\n for (let j = 0; j < transactionDetails.length; j++) {\r\n // converting key into array buffer\r\n const finalKey = this.decodeNote(transactionDetails[j].key);\r\n if (finalKey == \"whoami\") {\r\n const chunk = Buffer.from(transactionDetails[j].value.bytes, \"base64\");\r\n appIndex.channelAppIndex = Number(algosdk.bytesToBigInt(chunk.slice(10, 18)));\r\n appIndex.channelName = this.decodeNote(transactionDetails[j].value.bytes)\r\n .slice(0, 10)\r\n .replace(/^:+/, \"\");\r\n return appIndex;\r\n }\r\n }\r\n return appIndex;\r\n }\r\n //Check if the chunk is zero in main box\r\n checkIsZeroValue(byteData) {\r\n const data = this.convertToString(byteData);\r\n const check = data.replace(/^0+/, \"\").replace(/0+$/, \"\").trim();\r\n if (check == \"\") {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n //Parse each chunk in main box\r\n parseMainBoxChunk(chunk, index) {\r\n const chunkItems = [\r\n this.convertToString(chunk.slice(0, 10)).replace(/^:+/, \"\"),\r\n Number(algosdk.bytesToBigInt(chunk.slice(10, 18))),\r\n this.convertToString(chunk.slice(18)),\r\n ];\r\n return {\r\n channelName: chunkItems[0],\r\n appIndex: chunkItems[1],\r\n channelIndex: index,\r\n verificationStatus: chunkItems[2],\r\n };\r\n }\r\n //parse each chunk in user box\r\n parseUserBoxChunk(chunk) {\r\n const chunkItems = [\r\n Number(algosdk.bytesToBigInt(chunk.slice(0, 8))),\r\n Number(algosdk.bytesToBigInt(chunk.slice(8, 16))),\r\n this.convertToString(chunk.slice(16)).replace(/0+$/, \"\"),\r\n ];\r\n return {\r\n appIndex: chunkItems[1],\r\n notification: chunkItems[2],\r\n timeStamp: chunkItems[0],\r\n };\r\n }\r\n}\r\n//# sourceMappingURL=rpc.js.map","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";var e=require(\"./_tslib-b1014349.js\"),r=require(\"./numberUtils-17dd20cc.js\");exports.filterOutItemsByKey=function(e,r,t){var n=t.map((function(e){return e[r]}));return e.reduce((function(e,t){return n.includes(t[r])||e.push(t),e}),[])},exports.limitArrayLengthFromTheEnd=function(e,t){var n=t;return r.isNonNegativeNumber(e)&&t.length>e&&(n=t.slice(t.length-e)),n},exports.updateAtIndex=function(r,t,n){var u=e.__spread(r);return u.splice(t,1,n),u};\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","export const ERROR_SESSION_CONNECTED = \"Session currently connected\";\nexport const ERROR_SESSION_DISCONNECTED = \"Session currently disconnected\";\nexport const ERROR_SESSION_REJECTED = \"Session Rejected\";\nexport const ERROR_MISSING_JSON_RPC = \"Missing JSON RPC response\";\nexport const ERROR_MISSING_RESULT = `JSON-RPC success response must include \"result\" field`;\nexport const ERROR_MISSING_ERROR = `JSON-RPC error response must include \"error\" field`;\nexport const ERROR_MISSING_METHOD = `JSON RPC request must have valid \"method\" value`;\nexport const ERROR_MISSING_ID = `JSON RPC request must have valid \"id\" value`;\nexport const ERROR_MISSING_REQUIRED = \"Missing one of the required parameters: bridge / uri / session\";\nexport const ERROR_INVALID_RESPONSE = \"JSON RPC response format is invalid\";\nexport const ERROR_INVALID_URI = \"URI format is invalid\";\nexport const ERROR_QRCODE_MODAL_NOT_PROVIDED = \"QRCode Modal not provided\";\nexport const ERROR_QRCODE_MODAL_USER_CLOSED = \"User close QRCode Modal\";\n//# sourceMappingURL=errors.js.map","import { isJsonRpcRequest, isJsonRpcResponseSuccess, isJsonRpcResponseError, isInternalEvent, isReservedEvent, } from \"@walletconnect/utils\";\nclass EventManager {\n constructor() {\n this._eventEmitters = [];\n }\n subscribe(eventEmitter) {\n this._eventEmitters.push(eventEmitter);\n }\n unsubscribe(event) {\n this._eventEmitters = this._eventEmitters.filter(x => x.event !== event);\n }\n trigger(payload) {\n let eventEmitters = [];\n let event;\n if (isJsonRpcRequest(payload)) {\n event = payload.method;\n }\n else if (isJsonRpcResponseSuccess(payload) || isJsonRpcResponseError(payload)) {\n event = `response:${payload.id}`;\n }\n else if (isInternalEvent(payload)) {\n event = payload.event;\n }\n else {\n event = \"\";\n }\n if (event) {\n eventEmitters = this._eventEmitters.filter((eventEmitter) => eventEmitter.event === event);\n }\n if ((!eventEmitters || !eventEmitters.length) &&\n !isReservedEvent(event) &&\n !isInternalEvent(event)) {\n eventEmitters = this._eventEmitters.filter((eventEmitter) => eventEmitter.event === \"call_request\");\n }\n eventEmitters.forEach((eventEmitter) => {\n if (isJsonRpcResponseError(payload)) {\n const error = new Error(payload.error.message);\n eventEmitter.callback(error, null);\n }\n else {\n eventEmitter.callback(null, payload);\n }\n });\n }\n}\nexport default EventManager;\n//# sourceMappingURL=events.js.map","import { isWalletConnectSession, getLocal, setLocal, removeLocal } from \"@walletconnect/utils\";\nclass SessionStorage {\n constructor(storageId = \"walletconnect\") {\n this.storageId = storageId;\n }\n getSession() {\n let session = null;\n const json = getLocal(this.storageId);\n if (json && isWalletConnectSession(json)) {\n session = json;\n }\n return session;\n }\n setSession(session) {\n setLocal(this.storageId, session);\n return session;\n }\n removeSession() {\n removeLocal(this.storageId);\n }\n}\nexport default SessionStorage;\n//# sourceMappingURL=storage.js.map","module.exports = isTypedArray\nisTypedArray.strict = isStrictTypedArray\nisTypedArray.loose = isLooseTypedArray\n\nvar toString = Object.prototype.toString\nvar names = {\n '[object Int8Array]': true\n , '[object Int16Array]': true\n , '[object Int32Array]': true\n , '[object Uint8Array]': true\n , '[object Uint8ClampedArray]': true\n , '[object Uint16Array]': true\n , '[object Uint32Array]': true\n , '[object Float32Array]': true\n , '[object Float64Array]': true\n}\n\nfunction isTypedArray(arr) {\n return (\n isStrictTypedArray(arr)\n || isLooseTypedArray(arr)\n )\n}\n\nfunction isStrictTypedArray(arr) {\n return (\n arr instanceof Int8Array\n || arr instanceof Int16Array\n || arr instanceof Int32Array\n || arr instanceof Uint8Array\n || arr instanceof Uint8ClampedArray\n || arr instanceof Uint16Array\n || arr instanceof Uint32Array\n || arr instanceof Float32Array\n || arr instanceof Float64Array\n )\n}\n\nfunction isLooseTypedArray(arr) {\n return names[toString.call(arr)]\n}\n","/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA3_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\n var CSHAKE_PADDING = [4, 1024, 262144, 67108864];\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\n var PADDING = [6, 1536, 393216, 100663296];\n var SHIFT = [0, 8, 16, 24];\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\n var BITS = [224, 256, 384, 512];\n var SHAKE_BITS = [128, 256];\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];\n var CSHAKE_BYTEPAD = {\n '128': 168,\n '256': 136\n };\n\n if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (bits, padding, outputType) {\n return function (message) {\n return new Keccak(bits, padding, bits).update(message)[outputType]();\n };\n };\n\n var createShakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits) {\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\n };\n };\n\n var createCshakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits, n, s) {\n return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();\n };\n };\n\n var createKmacOutputMethod = function (bits, padding, outputType) {\n return function (key, message, outputBits, s) {\n return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();\n };\n };\n\n var createOutputMethods = function (method, createMethod, bits, padding) {\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createMethod(bits, padding, type);\n }\n return method;\n };\n\n var createMethod = function (bits, padding) {\n var method = createOutputMethod(bits, padding, 'hex');\n method.create = function () {\n return new Keccak(bits, padding, bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n return createOutputMethods(method, createOutputMethod, bits, padding);\n };\n\n var createShakeMethod = function (bits, padding) {\n var method = createShakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits) {\n return new Keccak(bits, padding, outputBits);\n };\n method.update = function (message, outputBits) {\n return method.create(outputBits).update(message);\n };\n return createOutputMethods(method, createShakeOutputMethod, bits, padding);\n };\n\n var createCshakeMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createCshakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits, n, s) {\n if (!n && !s) {\n return methods['shake' + bits].create(outputBits);\n } else {\n return new Keccak(bits, padding, outputBits).bytepad([n, s], w);\n }\n };\n method.update = function (message, outputBits, n, s) {\n return method.create(outputBits, n, s).update(message);\n };\n return createOutputMethods(method, createCshakeOutputMethod, bits, padding);\n };\n\n var createKmacMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createKmacOutputMethod(bits, padding, 'hex');\n method.create = function (key, outputBits, s) {\n return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);\n };\n method.update = function (key, message, outputBits, s) {\n return method.create(key, outputBits, s).update(message);\n };\n return createOutputMethods(method, createKmacOutputMethod, bits, padding);\n };\n\n var algorithms = [\n { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },\n { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },\n { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },\n { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },\n { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }\n ];\n\n var methods = {}, methodNames = [];\n\n for (var i = 0; i < algorithms.length; ++i) {\n var algorithm = algorithms[i];\n var bits = algorithm.bits;\n for (var j = 0; j < bits.length; ++j) {\n var methodName = algorithm.name + '_' + bits[j];\n methodNames.push(methodName);\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\n if (algorithm.name !== 'sha3') {\n var newMethodName = algorithm.name + bits[j];\n methodNames.push(newMethodName);\n methods[newMethodName] = methods[methodName];\n }\n }\n }\n\n function Keccak(bits, padding, outputBits) {\n this.blocks = [];\n this.s = [];\n this.padding = padding;\n this.outputBits = outputBits;\n this.reset = true;\n this.finalized = false;\n this.block = 0;\n this.start = 0;\n this.blockCount = (1600 - (bits << 1)) >> 5;\n this.byteCount = this.blockCount << 2;\n this.outputBlocks = outputBits >> 5;\n this.extraBytes = (outputBits & 31) >> 3;\n\n for (var i = 0; i < 50; ++i) {\n this.s[i] = 0;\n }\n }\n\n Keccak.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var blocks = this.blocks, byteCount = this.byteCount, length = message.length,\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\n\n while (index < length) {\n if (this.reset) {\n this.reset = false;\n blocks[0] = this.block;\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n if (notString) {\n for (i = this.start; index < length && i < byteCount; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < byteCount; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n this.lastByteIndex = i;\n if (i >= byteCount) {\n this.start = i - byteCount;\n this.block = blocks[blockCount];\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n this.reset = true;\n } else {\n this.start = i;\n }\n }\n return this;\n };\n\n Keccak.prototype.encode = function (x, right) {\n var o = x & 255, n = 1;\n var bytes = [o];\n x = x >> 8;\n o = x & 255;\n while (o > 0) {\n bytes.unshift(o);\n x = x >> 8;\n o = x & 255;\n ++n;\n }\n if (right) {\n bytes.push(n);\n } else {\n bytes.unshift(n);\n }\n this.update(bytes);\n return bytes.length;\n };\n\n Keccak.prototype.encodeString = function (str) {\n var notString, type = typeof str;\n if (type !== 'string') {\n if (type === 'object') {\n if (str === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {\n str = new Uint8Array(str);\n } else if (!Array.isArray(str)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var bytes = 0, length = str.length;\n if (notString) {\n bytes = length;\n } else {\n for (var i = 0; i < str.length; ++i) {\n var code = str.charCodeAt(i);\n if (code < 0x80) {\n bytes += 1;\n } else if (code < 0x800) {\n bytes += 2;\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes += 3;\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));\n bytes += 4;\n }\n }\n }\n bytes += this.encode(bytes * 8);\n this.update(str);\n return bytes;\n };\n\n Keccak.prototype.bytepad = function (strs, w) {\n var bytes = this.encode(w);\n for (var i = 0; i < strs.length; ++i) {\n bytes += this.encodeString(strs[i]);\n }\n var paddingBytes = w - bytes % w;\n var zeros = [];\n zeros.length = paddingBytes;\n this.update(zeros);\n return this;\n };\n\n Keccak.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\n blocks[i >> 2] |= this.padding[i & 3];\n if (this.lastByteIndex === this.byteCount) {\n blocks[0] = blocks[blockCount];\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n blocks[blockCount - 1] |= 0x80000000;\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n };\n\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var hex = '', block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\n }\n if (j % blockCount === 0) {\n f(s);\n i = 0;\n }\n }\n if (extraBytes) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\n if (extraBytes > 1) {\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\n }\n if (extraBytes > 2) {\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\n }\n }\n return hex;\n };\n\n Keccak.prototype.arrayBuffer = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var bytes = this.outputBits >> 3;\n var buffer;\n if (extraBytes) {\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\n } else {\n buffer = new ArrayBuffer(bytes);\n }\n var array = new Uint32Array(buffer);\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n array[j] = s[i];\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n array[i] = s[i];\n buffer = buffer.slice(0, bytes);\n }\n return buffer;\n };\n\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\n\n Keccak.prototype.digest = Keccak.prototype.array = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var array = [], offset, block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n array[offset + 1] = (block >> 8) & 0xFF;\n array[offset + 2] = (block >> 16) & 0xFF;\n array[offset + 3] = (block >> 24) & 0xFF;\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n if (extraBytes > 1) {\n array[offset + 1] = (block >> 8) & 0xFF;\n }\n if (extraBytes > 2) {\n array[offset + 2] = (block >> 16) & 0xFF;\n }\n }\n return array;\n };\n\n function Kmac(bits, padding, outputBits) {\n Keccak.call(this, bits, padding, outputBits);\n }\n\n Kmac.prototype = new Keccak();\n\n Kmac.prototype.finalize = function () {\n this.encode(this.outputBits, true);\n return Keccak.prototype.finalize.call(this);\n };\n\n var f = function (s) {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n for (n = 0; n < 48; n += 2) {\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n\n b0 = s[0];\n b1 = s[1];\n b32 = (s[11] << 4) | (s[10] >>> 28);\n b33 = (s[10] << 4) | (s[11] >>> 28);\n b14 = (s[20] << 3) | (s[21] >>> 29);\n b15 = (s[21] << 3) | (s[20] >>> 29);\n b46 = (s[31] << 9) | (s[30] >>> 23);\n b47 = (s[30] << 9) | (s[31] >>> 23);\n b28 = (s[40] << 18) | (s[41] >>> 14);\n b29 = (s[41] << 18) | (s[40] >>> 14);\n b20 = (s[2] << 1) | (s[3] >>> 31);\n b21 = (s[3] << 1) | (s[2] >>> 31);\n b2 = (s[13] << 12) | (s[12] >>> 20);\n b3 = (s[12] << 12) | (s[13] >>> 20);\n b34 = (s[22] << 10) | (s[23] >>> 22);\n b35 = (s[23] << 10) | (s[22] >>> 22);\n b16 = (s[33] << 13) | (s[32] >>> 19);\n b17 = (s[32] << 13) | (s[33] >>> 19);\n b48 = (s[42] << 2) | (s[43] >>> 30);\n b49 = (s[43] << 2) | (s[42] >>> 30);\n b40 = (s[5] << 30) | (s[4] >>> 2);\n b41 = (s[4] << 30) | (s[5] >>> 2);\n b22 = (s[14] << 6) | (s[15] >>> 26);\n b23 = (s[15] << 6) | (s[14] >>> 26);\n b4 = (s[25] << 11) | (s[24] >>> 21);\n b5 = (s[24] << 11) | (s[25] >>> 21);\n b36 = (s[34] << 15) | (s[35] >>> 17);\n b37 = (s[35] << 15) | (s[34] >>> 17);\n b18 = (s[45] << 29) | (s[44] >>> 3);\n b19 = (s[44] << 29) | (s[45] >>> 3);\n b10 = (s[6] << 28) | (s[7] >>> 4);\n b11 = (s[7] << 28) | (s[6] >>> 4);\n b42 = (s[17] << 23) | (s[16] >>> 9);\n b43 = (s[16] << 23) | (s[17] >>> 9);\n b24 = (s[26] << 25) | (s[27] >>> 7);\n b25 = (s[27] << 25) | (s[26] >>> 7);\n b6 = (s[36] << 21) | (s[37] >>> 11);\n b7 = (s[37] << 21) | (s[36] >>> 11);\n b38 = (s[47] << 24) | (s[46] >>> 8);\n b39 = (s[46] << 24) | (s[47] >>> 8);\n b30 = (s[8] << 27) | (s[9] >>> 5);\n b31 = (s[9] << 27) | (s[8] >>> 5);\n b12 = (s[18] << 20) | (s[19] >>> 12);\n b13 = (s[19] << 20) | (s[18] >>> 12);\n b44 = (s[29] << 7) | (s[28] >>> 25);\n b45 = (s[28] << 7) | (s[29] >>> 25);\n b26 = (s[38] << 8) | (s[39] >>> 24);\n b27 = (s[39] << 8) | (s[38] >>> 24);\n b8 = (s[48] << 14) | (s[49] >>> 18);\n b9 = (s[49] << 14) | (s[48] >>> 18);\n\n s[0] = b0 ^ (~b2 & b4);\n s[1] = b1 ^ (~b3 & b5);\n s[10] = b10 ^ (~b12 & b14);\n s[11] = b11 ^ (~b13 & b15);\n s[20] = b20 ^ (~b22 & b24);\n s[21] = b21 ^ (~b23 & b25);\n s[30] = b30 ^ (~b32 & b34);\n s[31] = b31 ^ (~b33 & b35);\n s[40] = b40 ^ (~b42 & b44);\n s[41] = b41 ^ (~b43 & b45);\n s[2] = b2 ^ (~b4 & b6);\n s[3] = b3 ^ (~b5 & b7);\n s[12] = b12 ^ (~b14 & b16);\n s[13] = b13 ^ (~b15 & b17);\n s[22] = b22 ^ (~b24 & b26);\n s[23] = b23 ^ (~b25 & b27);\n s[32] = b32 ^ (~b34 & b36);\n s[33] = b33 ^ (~b35 & b37);\n s[42] = b42 ^ (~b44 & b46);\n s[43] = b43 ^ (~b45 & b47);\n s[4] = b4 ^ (~b6 & b8);\n s[5] = b5 ^ (~b7 & b9);\n s[14] = b14 ^ (~b16 & b18);\n s[15] = b15 ^ (~b17 & b19);\n s[24] = b24 ^ (~b26 & b28);\n s[25] = b25 ^ (~b27 & b29);\n s[34] = b34 ^ (~b36 & b38);\n s[35] = b35 ^ (~b37 & b39);\n s[44] = b44 ^ (~b46 & b48);\n s[45] = b45 ^ (~b47 & b49);\n s[6] = b6 ^ (~b8 & b0);\n s[7] = b7 ^ (~b9 & b1);\n s[16] = b16 ^ (~b18 & b10);\n s[17] = b17 ^ (~b19 & b11);\n s[26] = b26 ^ (~b28 & b20);\n s[27] = b27 ^ (~b29 & b21);\n s[36] = b36 ^ (~b38 & b30);\n s[37] = b37 ^ (~b39 & b31);\n s[46] = b46 ^ (~b48 & b40);\n s[47] = b47 ^ (~b49 & b41);\n s[8] = b8 ^ (~b0 & b2);\n s[9] = b9 ^ (~b1 & b3);\n s[18] = b18 ^ (~b10 & b12);\n s[19] = b19 ^ (~b11 & b13);\n s[28] = b28 ^ (~b20 & b22);\n s[29] = b29 ^ (~b21 & b23);\n s[38] = b38 ^ (~b30 & b32);\n s[39] = b39 ^ (~b31 & b33);\n s[48] = b48 ^ (~b40 & b42);\n s[49] = b49 ^ (~b41 & b43);\n\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n };\n\n if (COMMON_JS) {\n module.exports = methods;\n } else {\n for (i = 0; i < methodNames.length; ++i) {\n root[methodNames[i]] = methods[methodNames[i]];\n }\n if (AMD) {\n define(function () {\n return methods;\n });\n }\n }\n})();\n","import JSONRequest from '../jsonrequest';\nimport { concatArrays } from '../../../utils/utils';\n/**\n * Sets the default header (if not previously set) for sending a raw\n * transaction.\n * @param headers - A headers object\n */\nexport function setSendTransactionHeaders(headers = {}) {\n let hdrs = headers;\n if (Object.keys(hdrs).every((key) => key.toLowerCase() !== 'content-type')) {\n hdrs = { ...headers };\n hdrs['Content-Type'] = 'application/x-binary';\n }\n return hdrs;\n}\nfunction isByteArray(array) {\n return array && array.byteLength !== undefined;\n}\n/**\n * broadcasts the passed signed txns to the network\n */\nexport default class SendRawTransaction extends JSONRequest {\n constructor(c, stxOrStxs) {\n super(c);\n let forPosting = stxOrStxs;\n if (Array.isArray(stxOrStxs)) {\n if (!stxOrStxs.every(isByteArray)) {\n throw new TypeError('Array elements must be byte arrays');\n }\n // Flatten into a single Uint8Array\n forPosting = concatArrays(...stxOrStxs);\n }\n else if (!isByteArray(forPosting)) {\n throw new TypeError('Argument must be byte array');\n }\n this.txnBytesToPost = forPosting;\n }\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/transactions';\n }\n async do(headers = {}) {\n const txHeaders = setSendTransactionHeaders(headers);\n const res = await this.c.post(this.path(), Buffer.from(this.txnBytesToPost), txHeaders);\n return res.body;\n }\n}\n//# sourceMappingURL=sendRawTransaction.js.map","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var e=require(\"./index-d147afec.js\");require(\"@walletconnect/client\"),require(\"algosdk\"),require(\"bowser\"),exports.PeraWalletConnect=e.PeraWalletConnect,exports.closePeraWalletSignTxnToast=e.closePeraWalletSignTxnToast;\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.split('').indexOf(options.arrayFormatSeparator) > -1;\n\t\t\t\tconst newValue = isArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(input, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof input !== 'string') {\n\t\treturn ret;\n\t}\n\n\tinput = input.trim().replace(/^[?#&]/, '');\n\n\tif (!input) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of input.split('&')) {\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (input, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url, hash] = splitOnFirst(input, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url.split('?')[0] || '',\n\t\t\tquery: parse(extract(input), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (input, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true\n\t}, options);\n\n\tconst url = removeHash(input.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(input.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, input.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(input.url);\n\tif (input.fragmentIdentifier) {\n\t\thash = `#${encode(input.fragmentIdentifier, options)}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MessagePack\"] = factory();\n\telse\n\t\troot[\"MessagePack\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export const TEXT_ENCODING_AVAILABLE =\n typeof process !== \"undefined\" &&\n process.env.TEXT_ENCODING !== \"never\" &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\n\nexport function utf8Count(str: string): number {\n const strLength = str.length;\n\n let byteLength = 0;\n let pos = 0;\n while (pos < strLength) {\n let value = str.charCodeAt(pos++);\n\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n } else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n } else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n const extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n } else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\n\nexport function utf8EncodeJs(str: string, output: Uint8Array, outputOffset: number): void {\n const strLength = str.length;\n let offset = outputOffset;\n let pos = 0;\n while (pos < strLength) {\n let value = str.charCodeAt(pos++);\n\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n } else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n } else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n const extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n } else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\n\nconst sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport const TEXT_ENCODER_THRESHOLD = typeof process !== \"undefined\" && process.env.TEXT_ENCODING !== \"force\" ? 200 : 0;\n\nfunction utf8EncodeTEencode(str: string, output: Uint8Array, outputOffset: number): void {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n output.set(sharedTextEncoder!.encode(str), outputOffset);\n}\n\nfunction utf8EncodeTEencodeInto(str: string, output: Uint8Array, outputOffset: number): void {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n sharedTextEncoder!.encodeInto(str, output.subarray(outputOffset));\n}\n\nexport const utf8EncodeTE = sharedTextEncoder?.encodeInto ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\n\nconst CHUNK_SIZE = 0x1_000;\n\nexport function utf8DecodeJs(bytes: Uint8Array, inputOffset: number, byteLength: number): string {\n let offset = inputOffset;\n const end = offset + byteLength;\n\n const units: Array = [];\n let result = \"\";\n while (offset < end) {\n const byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n } else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n const byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n } else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n const byte2 = bytes[offset++] & 0x3f;\n const byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n } else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n const byte2 = bytes[offset++] & 0x3f;\n const byte3 = bytes[offset++] & 0x3f;\n const byte4 = bytes[offset++] & 0x3f;\n let unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n } else {\n units.push(byte1);\n }\n\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode(...units);\n units.length = 0;\n }\n }\n\n if (units.length > 0) {\n result += String.fromCharCode(...units);\n }\n\n return result;\n}\n\nconst sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport const TEXT_DECODER_THRESHOLD = typeof process !== \"undefined\" && process.env.TEXT_DECODER !== \"force\" ? 200 : 0;\n\nexport function utf8DecodeTD(bytes: Uint8Array, inputOffset: number, byteLength: number): string {\n const stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return sharedTextDecoder!.decode(stringBytes);\n}\n","/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nexport class ExtData {\n constructor(readonly type: number, readonly data: Uint8Array) {}\n}\n","// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\n\nexport function setUint64(view: DataView, offset: number, value: number): void {\n const high = value / 0x1_0000_0000;\n const low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\n\nexport function setInt64(view: DataView, offset: number, value: number): void {\n const high = Math.floor(value / 0x1_0000_0000);\n const low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\n\nexport function setBigInt64(view: DataView, offset: number, value: bigint): void {\n let high = Number(value / BigInt(0x1_0000_0000));\n const low = Number(value % BigInt(0x1_0000_0000));\n if (high < 0 && low !== 0) {\n // simulate Math.floor for negative high\n high -= 1;\n }\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\n\nexport function getInt64(view: DataView, offset: number) {\n const high = view.getInt32(offset);\n const low = view.getUint32(offset + 4);\n\n const exceeds_min_safe_int =\n high < Math.floor(Number.MIN_SAFE_INTEGER / 0x1_0000_0000) ||\n (high === Math.floor(Number.MIN_SAFE_INTEGER / 0x1_0000_0000) && low === 0);\n\n const exceeds_max_safe_int = high > Math.floor(Number.MAX_SAFE_INTEGER / 0x1_0000_0000);\n\n if (exceeds_min_safe_int || exceeds_max_safe_int) {\n return BigInt(high) * BigInt(0x1_0000_0000) + BigInt(low);\n }\n return high * 0x1_0000_0000 + low;\n}\n\nexport function getUint64(view: DataView, offset: number) {\n const high = view.getUint32(offset);\n const low = view.getUint32(offset + 4);\n\n const exceeds_max_safe_int = high > Math.floor(Number.MAX_SAFE_INTEGER / 0x1_0000_0000);\n\n if (exceeds_max_safe_int) {\n return BigInt(high) * BigInt(0x1_0000_0000) + BigInt(low);\n }\n return high * 0x1_0000_0000 + low;\n}\n","// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nimport { getInt64, setInt64 } from \"./utils/int\";\n\nexport const EXT_TIMESTAMP = -1;\n\nexport type TimeSpec = {\n sec: number;\n nsec: number;\n};\n\nconst TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nconst TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\n\nexport function encodeTimeSpecToTimestamp({ sec, nsec }: TimeSpec): Uint8Array {\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n const rv = new Uint8Array(4);\n const view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n } else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n const secHigh = sec / 0x100000000;\n const secLow = sec & 0xffffffff;\n const rv = new Uint8Array(8);\n const view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n } else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n const rv = new Uint8Array(12);\n const view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n setInt64(view, 4, sec);\n return rv;\n }\n}\n\nexport function encodeDateToTimeSpec(date: Date): TimeSpec {\n const msec = date.getTime();\n const sec = Math.floor(msec / 1e3);\n const nsec = (msec - sec * 1e3) * 1e6;\n\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n const nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\n\nexport function encodeTimestampExtension(object: unknown): Uint8Array | null {\n if (object instanceof Date) {\n const timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n } else {\n return null;\n }\n}\n\nexport function decodeTimestampToTimeSpec(data: Uint8Array): TimeSpec {\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n const sec = view.getUint32(0);\n const nsec = 0;\n return { sec, nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n const nsec30AndSecHigh2 = view.getUint32(0);\n const secLow32 = view.getUint32(4);\n const sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n const nsec = nsec30AndSecHigh2 >>> 2;\n return { sec, nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n\n const sec = getInt64(view, 4) as number;\n const nsec = view.getUint32(0);\n return { sec, nsec };\n }\n default:\n throw new Error(`Unrecognized data size for timestamp: ${data.length}`);\n }\n}\n\nexport function decodeTimestampExtension(data: Uint8Array): Date {\n const timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\n\nexport const timestampExtension = {\n type: EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n","// ExtensionCodec to handle MessagePack extensions\n\nimport { ExtData } from \"./ExtData\";\nimport { timestampExtension } from \"./timestamp\";\n\nexport type ExtensionDecoderType = (\n data: Uint8Array,\n extensionType: number,\n context: ContextType,\n) => unknown;\n\nexport type ExtensionEncoderType = (input: unknown, context: ContextType) => Uint8Array | null;\n\n// immutable interfce to ExtensionCodec\nexport type ExtensionCodecType = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n __brand?: ContextType;\n tryToEncode(object: unknown, context: ContextType): ExtData | null;\n decode(data: Uint8Array, extType: number, context: ContextType): unknown;\n};\n\nexport class ExtensionCodec implements ExtensionCodecType {\n public static readonly defaultCodec: ExtensionCodecType = new ExtensionCodec();\n\n // ensures ExtensionCodecType matches ExtensionCodec\n // this will make type errors a lot more clear\n // eslint-disable-next-line @typescript-eslint/naming-convention\n __brand?: ContextType;\n\n // built-in extensions\n private readonly builtInEncoders: Array | undefined | null> = [];\n private readonly builtInDecoders: Array | undefined | null> = [];\n\n // custom extensions\n private readonly encoders: Array | undefined | null> = [];\n private readonly decoders: Array | undefined | null> = [];\n\n public constructor() {\n this.register(timestampExtension);\n }\n\n public register({\n type,\n encode,\n decode,\n }: {\n type: number;\n encode: ExtensionEncoderType;\n decode: ExtensionDecoderType;\n }): void {\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n } else {\n // built-in extensions\n const index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n }\n\n public tryToEncode(object: unknown, context: ContextType): ExtData | null {\n // built-in extensions\n for (let i = 0; i < this.builtInEncoders.length; i++) {\n const encoder = this.builtInEncoders[i];\n if (encoder != null) {\n const data = encoder(object, context);\n if (data != null) {\n const type = -1 - i;\n return new ExtData(type, data);\n }\n }\n }\n\n // custom extensions\n for (let i = 0; i < this.encoders.length; i++) {\n const encoder = this.encoders[i];\n if (encoder != null) {\n const data = encoder(object, context);\n if (data != null) {\n const type = i;\n return new ExtData(type, data);\n }\n }\n }\n\n if (object instanceof ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n }\n\n public decode(data: Uint8Array, type: number, context: ContextType): unknown {\n const decoder = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decoder) {\n return decoder(data, type, context);\n } else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData(type, data);\n }\n }\n}\n","export function ensureUint8Array(buffer: ArrayLike | Uint8Array | ArrayBufferView | ArrayBuffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n } else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n } else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n } else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\n\nexport function createDataView(buffer: ArrayLike | ArrayBufferView | ArrayBuffer): DataView {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n\n const bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\n","import { utf8EncodeJs, utf8Count, TEXT_ENCODING_AVAILABLE, TEXT_ENCODER_THRESHOLD, utf8EncodeTE } from \"./utils/utf8\";\nimport { ExtensionCodec, ExtensionCodecType } from \"./ExtensionCodec\";\nimport { setInt64, setUint64, setBigInt64 } from \"./utils/int\";\nimport { ensureUint8Array } from \"./utils/typedArrays\";\nimport { ExtData } from \"./ExtData\";\n\nexport const DEFAULT_MAX_DEPTH = 100;\nexport const DEFAULT_INITIAL_BUFFER_SIZE = 2048;\n\nexport class Encoder {\n private pos = 0;\n private view = new DataView(new ArrayBuffer(this.initialBufferSize));\n private bytes = new Uint8Array(this.view.buffer);\n\n public constructor(\n private readonly extensionCodec: ExtensionCodecType = ExtensionCodec.defaultCodec as any,\n private readonly context: ContextType = undefined as any,\n private readonly maxDepth = DEFAULT_MAX_DEPTH,\n private readonly initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE,\n private readonly sortKeys = false,\n private readonly forceFloat32 = false,\n private readonly ignoreUndefined = false,\n private readonly forceIntegerToFloat = false,\n ) {}\n\n private getUint8Array(): Uint8Array {\n return this.bytes.subarray(0, this.pos);\n }\n\n private reinitializeState() {\n this.pos = 0;\n }\n\n public encode(object: unknown): Uint8Array {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.getUint8Array();\n }\n\n private doEncode(object: unknown, depth: number): void {\n if (depth > this.maxDepth) {\n throw new Error(`Too deep objects in depth ${depth}`);\n }\n\n if (object == null) {\n this.encodeNil();\n } else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n } else if (typeof object === \"number\") {\n this.encodeNumber(object);\n } else if (typeof object === \"string\") {\n this.encodeString(object);\n } else if (typeof object === \"bigint\") {\n this.encodebigint(object);\n } else {\n this.encodeObject(object, depth);\n }\n }\n\n private ensureBufferSizeToWrite(sizeToWrite: number) {\n const requiredSize = this.pos + sizeToWrite;\n\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n }\n\n private resizeBuffer(newSize: number) {\n const newBuffer = new ArrayBuffer(newSize);\n const newBytes = new Uint8Array(newBuffer);\n const newView = new DataView(newBuffer);\n\n newBytes.set(this.bytes);\n\n this.view = newView;\n this.bytes = newBytes;\n }\n\n private encodeNil() {\n this.writeU8(0xc0);\n }\n\n private encodeBoolean(object: boolean) {\n if (object === false) {\n this.writeU8(0xc2);\n } else {\n this.writeU8(0xc3);\n }\n }\n private encodeNumber(object: number) {\n if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n } else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n } else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n } else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n } else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n } else {\n if (object >= -0x20) {\n // nagative fixint\n this.writeU8(0xe0 | (object + 0x20));\n } else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n } else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n } else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n } else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n } else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n } else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n }\n\n private encodebigint(object: bigint) {\n if (object >= BigInt(0)) {\n if (object < BigInt(0x80)) {\n // positive fixint\n this.writeU8(Number(object));\n } else if (object < BigInt(0x100)) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(Number(object));\n } else if (object < BigInt(0x10000)) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(Number(object));\n } else if (object < BigInt(0x100000000)) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(Number(object));\n } else {\n // uint 64\n this.writeU8(0xcf);\n this.writeBig64(object);\n }\n } else {\n if (object >= BigInt(-0x20)) {\n // nagative fixint\n this.writeU8(0xe0 | (Number(object) + 0x20));\n } else if (object >= BigInt(-0x80)) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(Number(object));\n } else if (object >= BigInt(-0x8000)) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(Number(object));\n } else if (object >= BigInt(-0x80000000)) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(Number(object));\n } else {\n // int 64\n this.writeU8(0xd3);\n this.writeBig64(object);\n }\n }\n }\n\n private writeStringHeader(byteLength: number) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n } else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n } else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n } else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n } else {\n throw new Error(`Too long string: ${byteLength} bytes in UTF-8`);\n }\n }\n\n private encodeString(object: string) {\n const maxHeaderSize = 1 + 4;\n const strLength = object.length;\n\n if (TEXT_ENCODING_AVAILABLE && strLength > TEXT_ENCODER_THRESHOLD) {\n const byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n } else {\n const byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n }\n\n private encodeObject(object: unknown, depth: number) {\n // try to encode objects with custom codec first of non-primitives\n const ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n } else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n } else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n } else if (typeof object === \"object\") {\n this.encodeMap(object as Record, depth);\n } else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(object)}`);\n }\n }\n\n private encodeBinary(object: ArrayBufferView) {\n const size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n } else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n } else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n } else {\n throw new Error(`Too large binary: ${size}`);\n }\n const bytes = ensureUint8Array(object);\n this.writeU8a(bytes);\n }\n\n private encodeArray(object: Array, depth: number) {\n const size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n } else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n } else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n } else {\n throw new Error(`Too large array: ${size}`);\n }\n for (const item of object) {\n this.doEncode(item, depth + 1);\n }\n }\n\n private countWithoutUndefined(object: Record, keys: ReadonlyArray): number {\n let count = 0;\n\n for (const key of keys) {\n if (object[key] !== undefined) {\n count++;\n }\n }\n\n return count;\n }\n\n private encodeMap(object: Record, depth: number) {\n const keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n\n const size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n } else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n } else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n } else {\n throw new Error(`Too large map object: ${size}`);\n }\n\n for (const key of keys) {\n const value = object[key];\n\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.doEncode(value, depth + 1);\n }\n }\n }\n\n private encodeExtension(ext: ExtData) {\n const size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n } else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n } else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n } else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n } else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n } else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n } else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n } else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n } else {\n throw new Error(`Too large extension object: ${size}`);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n }\n\n private writeU8(value: number) {\n this.ensureBufferSizeToWrite(1);\n\n this.view.setUint8(this.pos, value);\n this.pos++;\n }\n\n private writeU8a(values: ArrayLike) {\n const size = values.length;\n this.ensureBufferSizeToWrite(size);\n\n this.bytes.set(values, this.pos);\n this.pos += size;\n }\n\n private writeI8(value: number) {\n this.ensureBufferSizeToWrite(1);\n\n this.view.setInt8(this.pos, value);\n this.pos++;\n }\n\n private writeU16(value: number) {\n this.ensureBufferSizeToWrite(2);\n\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n }\n\n private writeI16(value: number) {\n this.ensureBufferSizeToWrite(2);\n\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n }\n\n private writeU32(value: number) {\n this.ensureBufferSizeToWrite(4);\n\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n }\n\n private writeI32(value: number) {\n this.ensureBufferSizeToWrite(4);\n\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n }\n\n private writeF32(value: number) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n }\n\n private writeF64(value: number) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n }\n\n private writeU64(value: number) {\n this.ensureBufferSizeToWrite(8);\n\n setUint64(this.view, this.pos, value);\n this.pos += 8;\n }\n\n private writeI64(value: number) {\n this.ensureBufferSizeToWrite(8);\n\n setInt64(this.view, this.pos, value);\n this.pos += 8;\n }\n\n private writeBig64(value: bigint) {\n this.ensureBufferSizeToWrite(8);\n\n setBigInt64(this.view, this.pos, value);\n this.pos += 8;\n }\n}\n","import { ExtensionCodecType } from \"./ExtensionCodec\";\nimport { Encoder } from \"./Encoder\";\nimport { ContextOf, SplitUndefined } from \"./context\";\n\nexport type EncodeOptions = Partial<\n Readonly<{\n extensionCodec: ExtensionCodecType;\n maxDepth: number;\n initialBufferSize: number;\n sortKeys: boolean;\n\n /**\n * If `true`, non-integer numbers are encoded in float32, not in float64 (the default).\n *\n * Only use it if precisions don't matter.\n */\n forceFloat32: boolean;\n\n /**\n * If `true`, an object property with `undefined` value are ignored.\n * e.g. `{ foo: undefined }` will be encoded as `{}`, as `JSON.stringify()` does.\n *\n * The default is `false`. Note that it needs more time to encode.\n */\n ignoreUndefined: boolean;\n\n /**\n * If `true`, integer numbers are encoded as floating point,\n * with the `forceFloat32` option taken into account.\n *\n * The default is `false`.\n */\n forceIntegerToFloat: boolean;\n }>\n> &\n ContextOf;\n\nconst defaultEncodeOptions: EncodeOptions = {};\n\n/**\n * It encodes `value` in the MessagePack format and\n * returns a byte buffer.\n *\n * The returned buffer is a slice of a larger `ArrayBuffer`, so you have to use its `#byteOffset` and `#byteLength` in order to convert it to another typed arrays including NodeJS `Buffer`.\n */\nexport function encode(\n value: unknown,\n options: EncodeOptions> = defaultEncodeOptions as any,\n): Uint8Array {\n const encoder = new Encoder(\n options.extensionCodec,\n (options as typeof options & { context: any }).context,\n options.maxDepth,\n options.initialBufferSize,\n options.sortKeys,\n options.forceFloat32,\n options.ignoreUndefined,\n options.forceIntegerToFloat,\n );\n return encoder.encode(value);\n}\n","export function prettyByte(byte: number): string {\n return `${byte < 0 ? \"-\" : \"\"}0x${Math.abs(byte).toString(16).padStart(2, \"0\")}`;\n}\n","import { utf8DecodeJs } from \"./utils/utf8\";\n\ninterface KeyCacheRecord {\n readonly bytes: Uint8Array;\n readonly value: string;\n}\n\nconst DEFAULT_MAX_KEY_LENGTH = 16;\nconst DEFAULT_MAX_LENGTH_PER_KEY = 16;\n\nexport interface KeyDecoder {\n canBeCached(byteLength: number): boolean;\n decode(bytes: Uint8Array, inputOffset: number, byteLength: number): string;\n}\n\nexport class CachedKeyDecoder implements KeyDecoder {\n hit = 0;\n miss = 0;\n private readonly caches: Array>;\n\n constructor(readonly maxKeyLength = DEFAULT_MAX_KEY_LENGTH, readonly maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY) {\n // avoid `new Array(N)` to create a non-sparse array for performance.\n this.caches = [];\n for (let i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n\n public canBeCached(byteLength: number) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n }\n\n private get(bytes: Uint8Array, inputOffset: number, byteLength: number): string | null {\n const records = this.caches[byteLength - 1];\n const recordsLength = records.length;\n\n FIND_CHUNK: for (let i = 0; i < recordsLength; i++) {\n const record = records[i];\n const recordBytes = record.bytes;\n\n for (let j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.value;\n }\n return null;\n }\n\n private store(bytes: Uint8Array, value: string) {\n const records = this.caches[bytes.length - 1];\n const record: KeyCacheRecord = { bytes, value };\n\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to a randomized position.\n records[(Math.random() * records.length) | 0] = record;\n } else {\n records.push(record);\n }\n }\n\n public decode(bytes: Uint8Array, inputOffset: number, byteLength: number): string {\n const cachedValue = this.get(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n this.hit++;\n return cachedValue;\n }\n this.miss++;\n\n const value = utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n const slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, value);\n return value;\n }\n}\n","import { prettyByte } from \"./utils/prettyByte\";\nimport { ExtensionCodec, ExtensionCodecType } from \"./ExtensionCodec\";\nimport { getInt64, getUint64 } from \"./utils/int\";\nimport { utf8DecodeJs, TEXT_ENCODING_AVAILABLE, TEXT_DECODER_THRESHOLD, utf8DecodeTD } from \"./utils/utf8\";\nimport { createDataView, ensureUint8Array } from \"./utils/typedArrays\";\nimport { CachedKeyDecoder, KeyDecoder } from \"./CachedKeyDecoder\";\n\nconst enum State {\n ARRAY,\n MAP_KEY,\n MAP_VALUE,\n}\n\ntype MapKeyType = string | number;\n\nconst isValidMapKeyType = (key: unknown): key is MapKeyType => {\n const keyType = typeof key;\n\n return keyType === \"string\" || keyType === \"number\";\n};\n\ntype StackMapState = {\n type: State.MAP_KEY | State.MAP_VALUE;\n size: number;\n key: MapKeyType | null;\n readCount: number;\n map: Record;\n};\n\ntype StackArrayState = {\n type: State.ARRAY;\n size: number;\n array: Array;\n position: number;\n};\n\ntype StackState = StackArrayState | StackMapState;\n\nconst HEAD_BYTE_REQUIRED = -1;\n\nconst EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nconst EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexport const DataViewIndexOutOfBoundsError: typeof Error = (() => {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n } catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\n\nconst MORE_DATA = new DataViewIndexOutOfBoundsError(\"Insufficient data\");\n\nconst DEFAULT_MAX_LENGTH = 0xffff_ffff; // uint32_max\n\nconst sharedCachedKeyDecoder = new CachedKeyDecoder();\n\nexport class Decoder {\n private totalPos = 0;\n private pos = 0;\n\n private view = EMPTY_VIEW;\n private bytes = EMPTY_BYTES;\n private headByte = HEAD_BYTE_REQUIRED;\n private readonly stack: Array = [];\n\n public constructor(\n private readonly extensionCodec: ExtensionCodecType = ExtensionCodec.defaultCodec as any,\n private readonly context: ContextType = undefined as any,\n private readonly maxStrLength = DEFAULT_MAX_LENGTH,\n private readonly maxBinLength = DEFAULT_MAX_LENGTH,\n private readonly maxArrayLength = DEFAULT_MAX_LENGTH,\n private readonly maxMapLength = DEFAULT_MAX_LENGTH,\n private readonly maxExtLength = DEFAULT_MAX_LENGTH,\n private readonly keyDecoder: KeyDecoder | null = sharedCachedKeyDecoder,\n ) {}\n\n private reinitializeState() {\n this.totalPos = 0;\n this.headByte = HEAD_BYTE_REQUIRED;\n }\n\n private setBuffer(buffer: ArrayLike | ArrayBuffer): void {\n this.bytes = ensureUint8Array(buffer);\n this.view = createDataView(this.bytes);\n this.pos = 0;\n }\n\n private appendBuffer(buffer: ArrayLike) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining()) {\n this.setBuffer(buffer);\n } else {\n // retried because data is insufficient\n const remainingData = this.bytes.subarray(this.pos);\n const newData = ensureUint8Array(buffer);\n const concated = new Uint8Array(remainingData.length + newData.length);\n concated.set(remainingData);\n concated.set(newData, remainingData.length);\n this.setBuffer(concated);\n }\n }\n\n private hasRemaining(size = 1) {\n return this.view.byteLength - this.pos >= size;\n }\n\n private createNoExtraBytesError(posToShow: number): Error {\n const { view, pos } = this;\n return new RangeError(`Extra ${view.byteLength - pos} of ${view.byteLength} byte(s) found at buffer[${posToShow}]`);\n }\n\n public decode(buffer: ArrayLike | ArrayBuffer): unknown {\n this.reinitializeState();\n this.setBuffer(buffer);\n return this.doDecodeSingleSync();\n }\n\n private doDecodeSingleSync(): unknown {\n const object = this.doDecodeSync();\n if (this.hasRemaining()) {\n throw this.createNoExtraBytesError(this.pos);\n }\n return object;\n }\n\n public async decodeAsync(stream: AsyncIterable>): Promise {\n let decoded = false;\n let object: unknown;\n for await (const buffer of stream) {\n if (decoded) {\n throw this.createNoExtraBytesError(this.totalPos);\n }\n\n this.appendBuffer(buffer);\n\n try {\n object = this.doDecodeSync();\n decoded = true;\n } catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n }\n\n if (decoded) {\n if (this.hasRemaining()) {\n throw this.createNoExtraBytesError(this.totalPos);\n }\n return object;\n }\n\n const { headByte, pos, totalPos } = this;\n throw new RangeError(\n `Insufficient data in parcing ${prettyByte(headByte)} at ${totalPos} (${pos} in the current buffer)`,\n );\n }\n\n public decodeArrayStream(stream: AsyncIterable>) {\n return this.decodeMultiAsync(stream, true);\n }\n\n public decodeStream(stream: AsyncIterable>) {\n return this.decodeMultiAsync(stream, false);\n }\n\n private async *decodeMultiAsync(stream: AsyncIterable>, isArray: boolean) {\n let isArrayHeaderRequired = isArray;\n let arrayItemsLeft = -1;\n\n for await (const buffer of stream) {\n if (isArray && arrayItemsLeft === 0) {\n throw this.createNoExtraBytesError(this.totalPos);\n }\n\n this.appendBuffer(buffer);\n\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n\n try {\n while (true) {\n yield this.doDecodeSync();\n if (--arrayItemsLeft === 0) {\n break;\n }\n }\n } catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n }\n }\n\n private doDecodeSync(): unknown {\n DECODE: while (true) {\n const headByte = this.readHeadByte();\n let object: unknown;\n\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n } else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n } else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n const size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n } else {\n object = {};\n }\n } else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n const size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n } else {\n object = [];\n }\n } else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n const byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n } else if (headByte === 0xc0) {\n // nil\n object = null;\n } else if (headByte === 0xc2) {\n // false\n object = false;\n } else if (headByte === 0xc3) {\n // true\n object = true;\n } else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n } else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n } else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n } else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n } else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n } else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n } else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n } else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n } else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n } else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n } else if (headByte === 0xd9) {\n // str 8\n const byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n } else if (headByte === 0xda) {\n // str 16\n const byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n } else if (headByte === 0xdb) {\n // str 32\n const byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n } else if (headByte === 0xdc) {\n // array 16\n const size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n } else {\n object = [];\n }\n } else if (headByte === 0xdd) {\n // array 32\n const size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n } else {\n object = [];\n }\n } else if (headByte === 0xde) {\n // map 16\n const size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n } else {\n object = {};\n }\n } else if (headByte === 0xdf) {\n // map 32\n const size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n } else {\n object = {};\n }\n } else if (headByte === 0xc4) {\n // bin 8\n const size = this.lookU8();\n object = this.decodeBinary(size, 1);\n } else if (headByte === 0xc5) {\n // bin 16\n const size = this.lookU16();\n object = this.decodeBinary(size, 2);\n } else if (headByte === 0xc6) {\n // bin 32\n const size = this.lookU32();\n object = this.decodeBinary(size, 4);\n } else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n } else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n } else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n } else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n } else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n } else if (headByte === 0xc7) {\n // ext 8\n const size = this.lookU8();\n object = this.decodeExtension(size, 1);\n } else if (headByte === 0xc8) {\n // ext 16\n const size = this.lookU16();\n object = this.decodeExtension(size, 2);\n } else if (headByte === 0xc9) {\n // ext 32\n const size = this.lookU32();\n object = this.decodeExtension(size, 4);\n } else {\n throw new Error(`Unrecognized type byte: ${prettyByte(headByte)}`);\n }\n\n this.complete();\n\n const stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n const state = stack[stack.length - 1];\n if (state.type === State.ARRAY) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n } else {\n continue DECODE;\n }\n } else if (state.type === State.MAP_KEY) {\n if (!isValidMapKeyType(object)) {\n throw new Error(\"The type of key must be string or number but \" + typeof object);\n }\n\n state.key = object;\n state.type = State.MAP_VALUE;\n continue DECODE;\n } else {\n // it must be `state.type === State.MAP_VALUE` here\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n state.map[state.key!] = object;\n state.readCount++;\n\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n } else {\n state.key = null;\n state.type = State.MAP_KEY;\n continue DECODE;\n }\n }\n }\n\n return object;\n }\n }\n\n private readHeadByte(): number {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n\n return this.headByte;\n }\n\n private complete(): void {\n this.headByte = HEAD_BYTE_REQUIRED;\n }\n\n private readArraySize(): number {\n const headByte = this.readHeadByte();\n\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n } else {\n throw new Error(`Unrecognized array type byte: ${prettyByte(headByte)}`);\n }\n }\n }\n }\n\n private pushMapState(size: number) {\n if (size > this.maxMapLength) {\n throw new Error(`Max length exceeded: map length (${size}) > maxMapLengthLength (${this.maxMapLength})`);\n }\n\n this.stack.push({\n type: State.MAP_KEY,\n size,\n key: null,\n readCount: 0,\n map: {},\n });\n }\n\n private pushArrayState(size: number) {\n if (size > this.maxArrayLength) {\n throw new Error(`Max length exceeded: array length (${size}) > maxArrayLength (${this.maxArrayLength})`);\n }\n\n this.stack.push({\n type: State.ARRAY,\n size,\n array: new Array(size),\n position: 0,\n });\n }\n\n private decodeUtf8String(byteLength: number, headerOffset: number): string {\n if (byteLength > this.maxStrLength) {\n throw new Error(`Max length exceeded: UTF-8 byte length (${byteLength}) > maxStrLength (${this.maxStrLength})`);\n }\n\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n\n const offset = this.pos + headerOffset;\n let object: string;\n if (this.stateIsMapKey() && this.keyDecoder?.canBeCached(byteLength)) {\n object = this.keyDecoder.decode(this.bytes, offset, byteLength);\n } else if (TEXT_ENCODING_AVAILABLE && byteLength > TEXT_DECODER_THRESHOLD) {\n object = utf8DecodeTD(this.bytes, offset, byteLength);\n } else {\n object = utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n }\n\n private stateIsMapKey(): boolean {\n if (this.stack.length > 0) {\n const state = this.stack[this.stack.length - 1];\n return state.type === State.MAP_KEY;\n }\n return false;\n }\n\n private decodeBinary(byteLength: number, headOffset: number): Uint8Array {\n if (byteLength > this.maxBinLength) {\n throw new Error(`Max length exceeded: bin length (${byteLength}) > maxBinLength (${this.maxBinLength})`);\n }\n\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n\n const offset = this.pos + headOffset;\n const object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n }\n\n private decodeExtension(size: number, headOffset: number): unknown {\n if (size > this.maxExtLength) {\n throw new Error(`Max length exceeded: ext length (${size}) > maxExtLength (${this.maxExtLength})`);\n }\n\n const extType = this.view.getInt8(this.pos + headOffset);\n const data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n }\n\n private lookU8() {\n return this.view.getUint8(this.pos);\n }\n\n private lookU16() {\n return this.view.getUint16(this.pos);\n }\n\n private lookU32() {\n return this.view.getUint32(this.pos);\n }\n\n private readU8(): number {\n const value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n }\n\n private readI8(): number {\n const value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n }\n\n private readU16(): number {\n const value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n }\n\n private readI16(): number {\n const value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n }\n\n private readU32(): number {\n const value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n }\n\n private readI32(): number {\n const value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n }\n\n private readU64(): bigint | number {\n const value = getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n }\n\n private readI64(): bigint | number {\n const value = getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n }\n\n private readF32() {\n const value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n }\n\n private readF64() {\n const value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n }\n}\n","import { ExtensionCodecType } from \"./ExtensionCodec\";\nimport { Decoder } from \"./Decoder\";\nimport { ContextOf, SplitUndefined } from \"./context\";\n\nexport type DecodeOptions = Readonly<\n Partial<{\n extensionCodec: ExtensionCodecType;\n\n /**\n * Maximum string length.\n * Default to 4_294_967_295 (UINT32_MAX).\n */\n maxStrLength: number;\n /**\n * Maximum binary length.\n * Default to 4_294_967_295 (UINT32_MAX).\n */\n maxBinLength: number;\n /**\n * Maximum array length.\n * Default to 4_294_967_295 (UINT32_MAX).\n */\n maxArrayLength: number;\n /**\n * Maximum map length.\n * Default to 4_294_967_295 (UINT32_MAX).\n */\n maxMapLength: number;\n /**\n * Maximum extension length.\n * Default to 4_294_967_295 (UINT32_MAX).\n */\n maxExtLength: number;\n }>\n> &\n ContextOf;\n\nexport const defaultDecodeOptions: DecodeOptions = {};\n\n/**\n * It decodes a MessagePack-encoded buffer.\n *\n * This is a synchronous decoding function. See other variants for asynchronous decoding: `decodeAsync()`, `decodeStream()`, `decodeArrayStream()`.\n */\nexport function decode(\n buffer: ArrayLike | ArrayBuffer,\n options: DecodeOptions> = defaultDecodeOptions as any,\n): unknown {\n const decoder = new Decoder(\n options.extensionCodec,\n (options as typeof options & { context: any }).context,\n options.maxStrLength,\n options.maxBinLength,\n options.maxArrayLength,\n options.maxMapLength,\n options.maxExtLength,\n );\n return decoder.decode(buffer);\n}\n","// utility for whatwg streams\n\n// The living standard of whatwg streams says\n// ReadableStream is also AsyncIterable, but\n// as of June 2019, no browser implements it.\n// See https://streams.spec.whatwg.org/ for details\nexport type ReadableStreamLike = AsyncIterable | ReadableStream;\n\nexport function isAsyncIterable(object: ReadableStreamLike): object is AsyncIterable {\n return (object as any)[Symbol.asyncIterator] != null;\n}\n\nfunction assertNonNull(value: T | null | undefined): asserts value is T {\n if (value == null) {\n throw new Error(\"Assertion Failure: value must not be null nor undefined\");\n }\n}\n\nexport async function* asyncIterableFromStream(stream: ReadableStream): AsyncIterable {\n const reader = stream.getReader();\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n return;\n }\n assertNonNull(value);\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function ensureAsyncIterabe(streamLike: ReadableStreamLike): AsyncIterable {\n if (isAsyncIterable(streamLike)) {\n return streamLike;\n } else {\n return asyncIterableFromStream(streamLike);\n }\n}\n","import { Decoder } from \"./Decoder\";\nimport { defaultDecodeOptions, DecodeOptions } from \"./decode\";\nimport { ensureAsyncIterabe, ReadableStreamLike } from \"./utils/stream\";\nimport { SplitUndefined } from \"./context\";\n\nexport async function decodeAsync(\n streamLike: ReadableStreamLike>,\n options: DecodeOptions> = defaultDecodeOptions as any,\n): Promise {\n const stream = ensureAsyncIterabe(streamLike);\n\n const decoder = new Decoder(\n options.extensionCodec,\n (options as typeof options & { context: any }).context,\n options.maxStrLength,\n options.maxBinLength,\n options.maxArrayLength,\n options.maxMapLength,\n options.maxExtLength,\n );\n return decoder.decodeAsync(stream);\n}\n\nexport function decodeArrayStream(\n streamLike: ReadableStreamLike>,\n options: DecodeOptions> = defaultDecodeOptions as any,\n) {\n const stream = ensureAsyncIterabe(streamLike);\n\n const decoder = new Decoder(\n options.extensionCodec,\n (options as typeof options & { context: any }).context,\n options.maxStrLength,\n options.maxBinLength,\n options.maxArrayLength,\n options.maxMapLength,\n options.maxExtLength,\n );\n\n return decoder.decodeArrayStream(stream);\n}\n\nexport function decodeStream(\n streamLike: ReadableStreamLike>,\n options: DecodeOptions> = defaultDecodeOptions as any,\n) {\n const stream = ensureAsyncIterabe(streamLike);\n\n const decoder = new Decoder(\n options.extensionCodec,\n (options as typeof options & { context: any }).context,\n options.maxStrLength,\n options.maxBinLength,\n options.maxArrayLength,\n options.maxMapLength,\n options.maxExtLength,\n );\n\n return decoder.decodeStream(stream);\n}\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var a=e(require(\"react\")),t=e(require(\"classnames\")),i=require(\"./Spinner.js\"),l=a.forwardRef((function(e,l){var n=e.onChange,s=e.children,r=e.testid,u=e.name,c=e.htmlFor,m=e.acceptedFileTypes,d=void 0===m?\"image/png, image/jpeg, .pdf\":m,p=e.customSpinner,o=e.customClassName,f=e.customLabelClassName,b=e.isPending,_=e.isDisabled,g=e.isMultiple,N=t(\"file-input__container\",o),h=b||_,v=t(\"file-input__label\",f,{\"file-input__label--is-disabled\":h}),C=p||a.createElement(i,{customClassName:\"file-input__spinner\"});return a.createElement(\"div\",{className:N},a.createElement(\"input\",{\"data-testid\":r,type:\"file\",value:\"\",name:u,className:\"file-input\",onChange:n,id:c,disabled:h,accept:d,multiple:g}),a.createElement(\"label\",{ref:l,htmlFor:c,className:v,\"data-testid\":r+\".label\"},s,b&&C))}));module.exports=l;\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=e(require(\"react\")),a=e(require(\"classnames\"));module.exports=function(e){var i=e.testid,l=e.item,n=e.onSelect,s=e.isSelected,r=e.isDisabled,c=l.inputProps,d=c.name,o=c.value,u=c.htmlFor,m=l.customClassName,p=l.content,b=a(\"radio-input-label\",m,{\"radio-input-label--is-selected\":s,\"radio-input-label--is-disabled\":r});return t.createElement(\"label\",{\"data-testid\":i,htmlFor:u,className:b},t.createElement(\"input\",{type:\"radio\",id:u,name:d,value:o,className:\"radio-input\",onChange:function(e){n(l,e)},checked:s,disabled:r}),t.createElement(\"span\",{className:\"radio-input-label__icon\"}),p)};\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=require(\"react\"),r=e(t),n=e(require(\"classnames\")),u=require(\"./_tslib-b1014349.js\");require(\"./numberUtils-17dd20cc.js\");var o=require(\"./Input.js\");var i=r.forwardRef((function(e,i){var a=e.testid,c=e.placeholder,s=e.name,l=e.type,f=void 0===l?\"text\":l,d=e.customClassName,m=e.onFocus,v=e.onBlur,p=e.id,y=e.role,h=e.onKeyDown,b=e.onQueryChange,g=e.isDisabled,q=void 0!==g&&g,C=e.leftIcon,D=e.rightIcon,I=e.initialValue,_=void 0===I?\"\":I,j=e.value,T=e.queryChangeDebounceTimeout,w=void 0===T?250:T,E=u.__read(function(e,t,n){var o=u.__read(r.useState(t),2),i=o[0],a=o[1],c=r.useRef(i);return r.useEffect((function(){var t;return c.current!==i&&(t=setTimeout((function(){e(i)}),n),c.current=i),function(){clearTimeout(t)}}),[c,e,i,n]),[i,a]}(b,_,w),2),x=E[0],B=E[1];return t.useEffect((function(){\"string\"==typeof j&&B(j)}),[j,B]),r.createElement(o,{ref:i,customClassName:n(\"typeahead-input\",d),id:p,testid:a,name:s,type:f,placeholder:c,onChange:function(e){B(e.currentTarget.value)},onFocus:m,onBlur:v,onKeyDown:h,value:x,isDisabled:q,leftIcon:C,rightIcon:D,role:y})}));module.exports=i;\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var t=require(\"react\"),n=e(t),o=e(require(\"classnames\")),s=require(\"./keyboardEventConstants-5e9cc0de.js\"),i=require(\"./_tslib-b1014349.js\"),a=require(\"./Spinner.js\"),r=require(\"./Button.js\");function d(){return(d=Object.assign||function(e){for(var t=1;tn.createElement(\"svg\",d({width:\"10\",height:\"5\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},t),n.createElement(\"path\",{d:\"M5 5l5-5H0l5 5z\",fill:\"#222\"}));function c(e){var s=e.testid,i=e.option,a=e.selectedOption,r=e.onSelect,d=e.focusedOption,l=e.onFocus,c=e.onKeyDown,u=e.onMouseDown,p=e.onMouseUp,m=e.canSelectAlreadySelected,f=void 0!==m&&m,E=e.focusedItemRef,_=i.id,h=i.customClassName,w=i.icon,v=i.title,b=i.subtitle,O=i.CustomContent,D=Boolean(a&&_===a.id),g=!i.isDisabled&&(!D||f),S=o(\"dropdown-list-item\",h,{\"dropdown-list-item--is-selected\":D,\"dropdown-list-item--is-focused\":Boolean(d&&_===d.id),\"dropdown-list-item--can-be-selected\":g,\"dropdown-list-item--is-disabled\":i.isDisabled});return n.createElement(\"li\",{ref:E,\"data-testid\":s,id:_,role:\"option\",className:S,onClick:function(e){e.preventDefault(),e.stopPropagation(),g&&r(i,e)},onFocus:N,onMouseEnter:N,onMouseDown:u,onMouseUp:p,onKeyDown:function(e){c&&c(i,e)},\"aria-selected\":D},O||n.createElement(t.Fragment,null,n.createElement(\"div\",{className:\"dropdown-list-item__icon\"},w),n.createElement(\"div\",{className:\"dropdown-list-item__content\"},n.createElement(\"p\",{\"data-testid\":s+\".title\",className:\"dropdown-list-item__title\"},v),b&&n.createElement(\"p\",{\"data-testid\":s+\".subtitle\",className:\"dropdown-list-item__subtitle\"},b))));function N(e){l(i,e)}}function u(e){var s=e.testid,i=e.isVisible,a=e.options,r=e.customClassName,d=e.role,l=e.ariaLabelledBy,u=e.ariaHidden,p=e.isMultiSelect,m=e.selectedOption,f=e.focusedOption,E=e.onSelect,_=e.onFocus,h=e.onKeyDown,w=e.onMouseDown,v=e.onMouseUp,b=e.canSelectAlreadySelected,O=e.noOptionsMessage,D=t.useRef(null),g=t.useRef(null),S=o(\"dropdown-list\",r,{\"dropdown-list--is-visible\":i});return t.useLayoutEffect((function(){var e,t,n,o,s,a,r;i&&D.current&&g.current&&(D.current.scrollTop+=(e=D.current,t=g.current,o=e.clientHeight,s=e.scrollTop,a=t.clientHeight,r=0,(n=o-(t.offsetTop-s))o&&(r=o-n),r))}),[i,f]),n.createElement(\"ul\",{ref:D,\"data-testid\":s,role:d,\"aria-labelledby\":l,\"aria-hidden\":u,\"aria-multiselectable\":p,className:S},a.length?a.map((function(e,t){return n.createElement(c,{key:e.id,focusedItemRef:e.id===(null==f?void 0:f.id)?g:void 0,testid:s+\".item-\"+t,option:e,selectedOption:m,focusedOption:f,onSelect:E,onMouseDown:w,onMouseUp:v,onFocus:_,onKeyDown:h,canSelectAlreadySelected:b})})):n.createElement(\"li\",{className:\"dropdown-list-item dropdown-list__empty-message-item\"},n.createElement(\"p\",{\"data-testid\":s+\".empty-message\",className:\"dropdown-list__empty-message\"},O||\"No available options\")))}function p(e,t,n){var o=t.findIndex((function(e){return e.id===(n&&n.id)})),s=0;return o>-1?s=o:\"top\"===e&&(s=t.length-1),s}var m={id:\"DROPDOWN_DESELECT_OPTION\",title:\"\"},f=/^[a-z0-9]$/i;exports.CaretDownIcon=l,exports.Dropdown=function(e){var d=e.testid,c=e.header,E=e.placeholder,_=e.customClassName,h=e.position,w=void 0===h?\"bottom\":h,v=e.role,b=e.isMultiSelect,O=void 0!==b&&b,D=e.options,g=e.selectedOption,S=e.onSelect,N=e.canSelectAlreadySelected,y=void 0!==N&&N,M=e.hasHeaderBoxShadow,C=void 0!==M&&M,R=e.hasDeselectOption,T=void 0===R||R,L=e.hasError,B=e.isDisabled,x=e.isMenuOpenHook,K=e.headerWithoutButton,A=e.customSpinner,P=e.shouldCloseOnSelect,k=void 0===P||P,F=e.onMenuVisibilityChange,I=e.areOptionsFetching,H=void 0!==I&&I,Y=e.deselectOptionTitle,j=void 0===Y?\"\":Y,U=e.noOptionsMessage,V=e.headerButtonClassName,W=e.shouldJumpToQuery,q=void 0===W||W,z=e.shouldShowEmptyOptions,J=void 0===z||z,Q=e.canOpenDropdownMenu,$=void 0===Q||Q,G=t.useRef(null),X=i.__read(t.useState([]),2),Z=X[0],ee=X[1],te=t.useState(!1),ne=i.__read(x||te,2),oe=ne[0],se=ne[1],ie=i.__read(t.useState(!1),2),ae=ie[0],re=ie[1],de=i.__read(t.useState(\"\"),2),le=de[0],ce=de[1],ue=i.__read(t.useState(p(w,Z,g)),2),pe=ue[0],me=ue[1],fe=i.__read(t.useState(!1),2),Ee=fe[0],_e=fe[1],he=o(\"dropdown\",_,{\"dropdown--is-open\":oe,\"dropdown--has-selected-option\":Boolean(g||j),\"dropdown--has-header-box-shadow\":C,\"dropdown--has-error\":L,\"dropdown--is-disabled\":B||H}),we=oe&&(J||D.length>0),ve=A||n.createElement(a,{customClassName:\"dropdown__spinner\"});t.useEffect((function(){ee(D.length&&T?i.__spread([i.__assign(i.__assign({},m),{title:j})],D):D)}),[D,j,T]),t.useEffect((function(){var e;if(le&&oe){var t=function(e,t){return e.findIndex((function(e){return e.title.toLocaleLowerCase().startsWith(t.toLocaleLowerCase())}))}(Z,le);t>-1&&me(t),e=setTimeout((function(){ce(\"\")}),500)}return function(){clearTimeout(e)}}),[le,Z,oe]);var be,Oe,De,ge=n.createElement(\"div\",{className:\"dropdown__header-button__default-content\"},g&&g.icon,n.createElement(\"span\",{className:\"dropdown__header-button__text\"},g?g.title:j||E),H?ve:n.createElement(l,{\"aria-hidden\":!0})),Se=n.createElement(r,{testid:d+\".header-button\",customClassName:o(\"button\",\"dropdown__header-button\",V,{\"dropdown__header-button--has-header-box-shadow\":C}),isDisabled:B||H,onMouseDown:Ce,onMouseUp:Re,onClick:Me,tabIndex:-1,\"aria-haspopup\":v,\"aria-expanded\":oe,shouldFocus:Ee},c||ge);return K&&(Se=n.createElement(t.Fragment,null,K)),be=G.current,Oe=ye,De=t.useRef(Oe),t.useEffect((function(){De.current=Oe}),[Oe]),t.useEffect((function(){function e(e){be&&e.target instanceof HTMLElement&&!be.contains(e.target)&&De.current()}return document.addEventListener(\"mousedown\",e),document.addEventListener(\"touchstart\",e),function(){document.removeEventListener(\"mousedown\",e),document.removeEventListener(\"touchstart\",e)}}),[be]),t.useEffect((function(){oe?document.documentElement.classList.add(\"dropdown--is-menu-open\"):document.documentElement.classList.remove(\"dropdown--is-menu-open\"),F&&F(oe?\"open\":\"closed\")}),[oe,F]),n.createElement(\"div\",{ref:G,role:v,className:he,tabIndex:B?-1:0,onFocus:function(){document.hidden||ae||!$||B||se(!0)},onBlur:function(){document.hidden||ae||!oe||Me();_e(!1)},onKeyDown:function(e){var t,n=e.key;switch(n){case s.KEYBOARD_EVENT_KEY.ESCAPE:oe&&(e.stopPropagation(),Me());break;case s.KEYBOARD_EVENT_KEY.ENTER:oe&&(e.stopPropagation(),e.preventDefault(),(null===(t=Z[pe])||void 0===t?void 0:t.isDisabled)||Ne(Z[pe]));break;case s.KEYBOARD_EVENT_KEY.ARROW_DOWN:e.stopPropagation(),e.preventDefault(),me((pe+1)%Z.length);break;case s.KEYBOARD_EVENT_KEY.ARROW_UP:e.stopPropagation(),e.preventDefault(),me((pe||Z.length)-1);break;default:q&&n.match(f)&&ce(le+n)}}},Se,n.createElement(u,{testid:d,isVisible:we,customClassName:w,role:v,options:Z,selectedOption:g,focusedOption:Z[pe],onSelect:Ne,onFocus:function(e){me(Z.findIndex((function(t){return t.id===e.id})))},onMouseDown:Ce,onMouseUp:Re,ariaLabelledBy:d+\".header-button\",ariaHidden:!oe,isMultiSelect:O,canSelectAlreadySelected:y,noOptionsMessage:U}));function Ne(e,t){!B&&e&&(\"DROPDOWN_DESELECT_OPTION\"===e.id?S(null,t):S(e,t),me(p(w,Z,e))),k?Me():_e(!0)}function ye(){se(!1)}function Me(){oe?ye():B||se(!0)}function Ce(){re(!0)}function Re(){re(!1)}};\n","\"use strict\";var e=require(\"@walletconnect/client\"),t=require(\"algosdk\"),n=require(\"bowser\");function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var a=o(e),r=o(t),i=o(n);function s(e,t,n,o){return new(n||(n=Promise))((function(a,r){function i(e){try{l(o.next(e))}catch(e){r(e)}}function s(e){try{l(o.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((o=o.apply(e,t||[])).next())}))}class l extends Error{constructor(e,t,...n){super(...n),Error.captureStackTrace&&Error.captureStackTrace(this,l),this.name=\"PeraWalletConnectError\",this.data=e,this.message=t}}const c=new class{constructor(e){this.listener=void 0,this.channel=e.channel}setupListener({onReceiveMessage:e}){this.close(),this.listener=t=>{if(\"object\"==typeof t.data)try{t.data.channel===this.channel&&e(t)}catch(e){console.error(e)}},window.addEventListener(\"message\",this.listener)}sendMessage({message:e,targetWindow:t,origin:n,timeout:o=1e3}){setTimeout((()=>{const o={channel:this.channel,message:e};t.postMessage(o,{targetOrigin:n||\"*\"})}),o)}close(){this.listener&&(window.removeEventListener(\"message\",this.listener),this.listener=void 0)}}({channel:\"pera-web-wallet\"});function d(){const e=document.querySelector('meta[name=\"name\"]'),t=document.querySelector('meta[name=\"description\"]');let{title:n}=document,o=\"\";return e instanceof HTMLMetaElement&&(n=e.content),t instanceof HTMLMetaElement&&(o=t.content),{title:n,description:o,url:window.location.origin,favicon:u()[0]}}function u(){const e=document.getElementsByTagName(\"link\"),t=[];for(let n=0;n-1){const e=o.getAttribute(\"href\");if(e&&-1===e.toLowerCase().indexOf(\"https:\")&&-1===e.toLowerCase().indexOf(\"http:\")&&0!==e.indexOf(\"//\")){let n=`${window.location.protocol}//${window.location.host}`;if(0===e.indexOf(\"/\"))n+=e;else{const t=window.location.pathname.split(\"/\");t.pop();n+=`${t.join(\"/\")}/${e}`}t.push(n)}else if(0===(null==e?void 0:e.indexOf(\"//\"))){const n=window.location.protocol+e;t.push(n)}else e&&t.push(e)}}return t}function p(e){return new Promise(((t,n)=>{try{const o=window.open(e,\"_blank\");let a=0;const r=setInterval((()=>{if(a+=1,50===a)return clearInterval(r),void n(new l({type:\"MESSAGE_NOT_RECEIVED\"},\"Couldn't open Pera Wallet, please try again.\"));o&&(!0===o.closed&&(clearInterval(r),n(new l({type:\"OPERATION_CANCELLED\"},\"Operation cancelled by user\"))),c.sendMessage({message:{type:\"TAB_OPEN\"},origin:e,targetWindow:o}))}),700);c.setupListener({onReceiveMessage:e=>{\"TAB_OPEN_RECEIVED\"===e.data.message.type&&(clearInterval(r),t(o))}})}catch(e){n(e)}}))}function h(e){const t=document.createElement(\"div\");return t.setAttribute(\"id\",e),document.body.appendChild(t),t}function w(){h(\"pera-wallet-redirect-modal-wrapper\").innerHTML=\"\"}function g(){h(\"pera-wallet-sign-txn-toast-wrapper\").innerHTML=\"\"}function m(e){const t=document.getElementById(e);t&&t.remove()}const v=\"PeraWallet.Wallet\",f=\"walletconnect\";function b(){return\"undefined\"==typeof localStorage?void 0:localStorage}function y(e,t){var n;null===(n=b())||void 0===n||n.setItem(v,JSON.stringify({type:t||\"pera-wallet\",accounts:e,selectedAccount:e[0]}))}function N(){var e;const t=null===(e=b())||void 0===e?void 0:e.getItem(v);return t?JSON.parse(t):null}function T(){return new Promise(((e,t)=>{var n,o;try{null===(n=b())||void 0===n||n.removeItem(f),null===(o=b())||void 0===o||o.removeItem(v),e(void 0)}catch(e){t(e)}}))}function A(e){const t=e.slice();for(let e=t.length-1;e>0;e--){const n=Math.floor(Math.random()*(e+1));[t[e],t[n]]=[t[n],t[e]]}return t}function S(){return function(e,t={}){return fetch(e,t).then((e=>e.json())).then((e=>e))}(\"https://wc.perawallet.app/config.json\",{cache:\"no-store\"})}function _(){return s(this,void 0,void 0,(function*(){let e={bridgeURL:\"\",webWalletURL:\"\",isWebWalletAvailable:!1,shouldDisplayNewBadge:!1,shouldUseSound:!0,silent:!1,promoteMobile:!1};try{const t=yield S();void 0!==t.web_wallet&&t.web_wallet_url&&(e.isWebWalletAvailable=t.web_wallet),void 0!==t.display_new_badge&&(e.shouldDisplayNewBadge=t.display_new_badge),void 0!==t.use_sound&&(e.shouldUseSound=t.use_sound),void 0!==t.silent&&(e.silent=t.silent),void 0!==t.promote_mobile&&(e.promoteMobile=t.promote_mobile),e=Object.assign(Object.assign({},e),{bridgeURL:A(t.servers||[])[0]||\"\",webWalletURL:t.web_wallet_url||\"\"})}catch(e){console.log(e)}return e}))}function E(e){return Uint8Array.from(window.atob(e),(e=>e.charCodeAt(0)))}function C(e,t){return{id:Date.now()*Math.pow(10,3)+Math.floor(Math.random()*Math.pow(10,3)),jsonrpc:\"2.0\",method:e,params:t}}function I(){return\"undefined\"!=typeof navigator}function W(){return I()&&/Android/i.test(navigator.userAgent)}function O(){return I()&&/iPhone|iPod|Android/i.test(navigator.userAgent)}const L=W()?\"algorand://\":\"perawallet-wc://\";function M(e){return{ROOT:`https://${e}`,CONNECT:`https://${e}/connect`,TRANSACTION_SIGN:`https://${e}/transaction/sign`}}function R({method:e,signTxnRequestParams:t,signer:n,chainId:o,webWalletURL:a,resolve:r,reject:i}){const d=M(a);!function(){s(this,void 0,void 0,(function*(){try{const a=yield p(d.TRANSACTION_SIGN);if(a){let r;\"SIGN_TXN\"===e?r={type:\"SIGN_TXN\",txn:t}:\"SIGN_DATA\"===e&&n&&o&&(r={type:\"SIGN_DATA\",data:t,signer:n,chainId:o}),r&&c.sendMessage({message:r,origin:d.TRANSACTION_SIGN,targetWindow:a})}const s=setInterval((()=>{!0===(null==a?void 0:a.closed)&&(i(new l({type:`${e}_CANCELLED`},\"Transaction signing is cancelled by user.\")),clearInterval(s))}),2e3);c.setupListener({onReceiveMessage:t=>function({event:e,newPeraWalletTab:t,method:n,resolve:o,reject:a}){switch(e.data.message.type){case\"SIGN_TXN_CALLBACK\":null==t||t.close(),o(e.data.message.signedTxns.map((e=>E(e.signedTxn))));break;case\"SIGN_DATA_CALLBACK\":null==t||t.close(),o(e.data.message.signedData.map((e=>E(e.signedData))));break;case\"SIGN_TXN_NETWORK_MISMATCH\":a(new l({type:`${n}_NETWORK_MISMATCH`,detail:e.data.message.error},e.data.message.error||\"Network mismatch\"));break;case\"SIGN_TXN_CALLBACK_ERROR\":null==t||t.close(),a(new l({type:`${n}_CANCELLED`},e.data.message.error));break;case\"SESSION_DISCONNECTED\":null==t||t.close(),T(),a(new l({type:\"SESSION_DISCONNECTED\",detail:e.data.message.error},e.data.message.error))}}({event:t,newPeraWalletTab:a,method:e,resolve:r,reject:i})})}catch(e){i(e)}}))}()}function P({webWalletURL:e,chainId:t,resolve:n,reject:o}){const a=M(e);return function(){return s(this,void 0,void 0,(function*(){try{const e=yield p(a.CONNECT);e&&c.sendMessage({message:{type:\"CONNECT\",data:Object.assign(Object.assign({},d()),{chainId:t})},origin:a.CONNECT,targetWindow:e});const i=setInterval((()=>{!0===(null==e?void 0:e.closed)&&(o(new l({type:\"CONNECT_CANCELLED\"},\"Connect is cancelled by user\")),clearInterval(i),r())}),2e3);c.setupListener({onReceiveMessage:t=>function({event:e,newPeraWalletTab:t,resolve:n,reject:o}){if(n&&\"CONNECT_CALLBACK\"===e.data.message.type){const o=e.data.message.data.addresses;y(o,\"pera-wallet-web\"),n(o),m(\"pera-wallet-connect-modal-wrapper\"),null==t||t.close()}else\"CONNECT_NETWORK_MISMATCH\"===e.data.message.type&&(o(new l({type:\"CONNECT_NETWORK_MISMATCH\",detail:e.data.message.error},e.data.message.error||\"Your wallet is connected to a different network to this dApp. Update your wallet to the correct network (MainNet or TestNet) to continue.\")),m(\"pera-wallet-connect-modal-wrapper\"),null==t||t.close())}({event:t,newPeraWalletTab:e,resolve:n,reject:o})})}catch(e){r(),o(e)}}))};function r(){m(\"pera-wallet-connect-modal-wrapper\")}}function D({isWebWalletAvailable:e,shouldDisplayNewBadge:t,shouldUseSound:n,compactMode:o,promoteMobile:a}){return{open:(r={isWebWalletAvailable:e,shouldDisplayNewBadge:t,shouldUseSound:n,compactMode:o,promoteMobile:a},e=>{if(!document.getElementById(\"pera-wallet-connect-modal-wrapper\")){const t=h(\"pera-wallet-connect-modal-wrapper\"),n=`${e}&algorand=true`,{isWebWalletAvailable:o,shouldDisplayNewBadge:a,shouldUseSound:i,compactMode:s,promoteMobile:l}=r;t.innerHTML=``}}),close:()=>m(\"pera-wallet-connect-modal-wrapper\")};var r}\"undefined\"!=typeof window&&(window.global=window,window.Buffer=window.Buffer||require(\"buffer\").Buffer,Promise.resolve().then((function(){return require(\"./App-38248cd1.js\")}))),exports.PERA_DOWNLOAD_URL=\"https://perawallet.app/download/\",exports.PERA_WALLET_APP_DEEP_LINK=L,exports.PERA_WALLET_CONNECT_MODAL_ID=\"pera-wallet-connect-modal-wrapper\",exports.PERA_WALLET_MODAL_CLASSNAME=\"pera-wallet-modal\",exports.PERA_WALLET_REDIRECT_MODAL_ID=\"pera-wallet-redirect-modal-wrapper\",exports.PERA_WALLET_SIGN_TXN_MODAL_ID=\"pera-wallet-sign-txn-modal-wrapper\",exports.PERA_WALLET_SIGN_TXN_TOAST_ID=\"pera-wallet-sign-txn-toast-wrapper\",exports.PeraWalletConnect=class{constructor(e){this.bridge=(null==e?void 0:e.bridge)||\"\",this.connector=null,this.shouldShowSignTxnToast=void 0===(null==e?void 0:e.shouldShowSignTxnToast)||e.shouldShowSignTxnToast,this.chainId=null==e?void 0:e.chainId,this.compactMode=(null==e?void 0:e.compactMode)||!1}get platform(){return function(){const e=N();let t=null;return\"pera-wallet\"===(null==e?void 0:e.type)?t=\"mobile\":\"pera-wallet-web\"===(null==e?void 0:e.type)&&(t=\"web\"),t}()}get isConnected(){var e;return\"mobile\"===this.platform?!!this.connector:\"web\"===this.platform&&!!(null===(e=N())||void 0===e?void 0:e.accounts.length)}connect(){return new Promise(((e,t)=>s(this,void 0,void 0,(function*(){var n;try{if(null===(n=this.connector)||void 0===n?void 0:n.connected)try{yield this.connector.killSession()}catch(e){}const{isWebWalletAvailable:o,bridgeURL:r,webWalletURL:i,shouldDisplayNewBadge:s,shouldUseSound:c,promoteMobile:d}=yield _(),u=P({resolve:e,reject:t,webWalletURL:i,chainId:this.chainId,isCompactMode:this.compactMode});o&&(window.onWebWalletConnect=u),this.connector=new a.default({bridge:this.bridge||r||\"https://bridge.walletconnect.org\",qrcodeModal:D({isWebWalletAvailable:o,shouldDisplayNewBadge:s,shouldUseSound:c,compactMode:this.compactMode,promoteMobile:d})}),yield this.connector.createSession({chainId:this.chainId||4160}),function(e,t){var n,o,a,r;const i=document.getElementById(e),s=null===(o=null===(n=null==i?void 0:i.querySelector(e.replace(\"-wrapper\",\"\")))||void 0===n?void 0:n.shadowRoot)||void 0===o?void 0:o.querySelector(\".pera-wallet-modal\"),l=null===(r=null===(a=null==s?void 0:s.querySelector(\"pera-wallet-modal-header\"))||void 0===a?void 0:a.shadowRoot)||void 0===r?void 0:r.getElementById(\"pera-wallet-modal-header-close-button\");null==l||l.addEventListener(\"click\",(()=>{t(),m(e)}))}(\"pera-wallet-connect-modal-wrapper\",(()=>t(new l({type:\"CONNECT_MODAL_CLOSED\"},\"Connect modal is closed by user\")))),this.connector.on(\"connect\",((n,o)=>{var a,r;n&&t(n),e((null===(a=this.connector)||void 0===a?void 0:a.accounts)||[]),y((null===(r=this.connector)||void 0===r?void 0:r.accounts)||[])}))}catch(e){console.log(e),t(new l({type:\"SESSION_CONNECT\",detail:e},e.message||\"There was an error while connecting to Pera Wallet\"))}}))))}reconnectSession(){return new Promise(((e,t)=>s(this,void 0,void 0,(function*(){var n,o;try{const r=N();if(!r)return void e([]);if(\"pera-wallet-web\"===(null==r?void 0:r.type)){const{isWebWalletAvailable:n}=yield _();n?e(r.accounts||[]):t(new l({type:\"SESSION_RECONNECT\",detail:\"Pera Web is not available\"},\"Pera Web is not available\"))}this.connector&&e(this.connector.accounts||[]),this.bridge=(null===(n=function(){var e;const t=null===(e=b())||void 0===e?void 0:e.getItem(f);return t?JSON.parse(t):null}())||void 0===n?void 0:n.bridge)||\"\",this.bridge&&(this.connector=new a.default({bridge:this.bridge}),e((null===(o=this.connector)||void 0===o?void 0:o.accounts)||[])),this.isConnected||e([])}catch(e){yield this.disconnect(),t(new l({type:\"SESSION_RECONNECT\",detail:e},e.message||\"There was an error while reconnecting to Pera Wallet\"))}}))))}disconnect(){var e;return s(this,void 0,void 0,(function*(){let t;this.isConnected&&\"mobile\"===this.platform&&(t=null===(e=this.connector)||void 0===e?void 0:e.killSession(),null==t||t.then((()=>{this.connector=null}))),yield T()}))}signTransactionWithMobile(e){return s(this,void 0,void 0,(function*(){const t=C(\"algo_signTxn\",[e]);try{try{const{silent:e}=yield _(),n=(yield this.connector.sendCustomRequest(t,{forcePushNotification:!e})).filter(Boolean);return\"string\"==typeof n[0]?n.map(E):n.map((e=>Uint8Array.from(e)))}catch(e){return yield Promise.reject(new l({type:\"SIGN_TRANSACTIONS\",detail:e},e.message||\"Failed to sign transaction\"))}}finally{m(\"pera-wallet-redirect-modal-wrapper\"),m(\"pera-wallet-sign-txn-toast-wrapper\")}}))}signTransactionWithWeb(e,t){return new Promise(((n,o)=>R({signTxnRequestParams:e,webWalletURL:t,method:\"SIGN_TXN\",resolve:n,reject:o})))}signDataWithMobile({data:e,signer:t,chainId:n}){return s(this,void 0,void 0,(function*(){const o=C(\"algo_signData\",e.map((e=>Object.assign(Object.assign({},e),{signer:t,chainId:n}))));try{try{const{silent:e}=yield _(),t=(yield this.connector.sendCustomRequest(o,{forcePushNotification:!e})).filter(Boolean);return\"string\"==typeof t[0]?t.map(E):t.map((e=>Uint8Array.from(e)))}catch(e){return yield Promise.reject(new l({type:\"SIGN_TRANSACTIONS\",detail:e},e.message||\"Failed to sign transaction\"))}}finally{m(\"pera-wallet-redirect-modal-wrapper\"),m(\"pera-wallet-sign-txn-toast-wrapper\")}}))}signDataWithWeb({data:e,signer:t,chainId:n,webWalletURL:o}){return new Promise(((a,r)=>R({method:\"SIGN_DATA\",signTxnRequestParams:e,signer:t,chainId:n,webWalletURL:o,resolve:a,reject:r})))}signTransaction(e,t){return s(this,void 0,void 0,(function*(){if(\"mobile\"===this.platform&&(O()?w():!O()&&this.shouldShowSignTxnToast&&g(),!this.connector))throw new Error(\"PeraWalletConnect was not initialized correctly.\");const n=e.flatMap((e=>e.map((e=>function(e,t){let n;t&&!(e.signers||[]).includes(t)&&(n=[]);const o={txn:(a=e.txn,Buffer.from(r.default.encodeUnsignedTransaction(a)).toString(\"base64\"))};var a;return Array.isArray(n)&&(o.signers=n),e.authAddr&&(o.authAddr=e.authAddr),e.message&&(o.message=e.message),e.msig&&(o.msig=e.msig),o}(e,t)))));if(\"web\"===this.platform){const{webWalletURL:e}=yield _();return this.signTransactionWithWeb(n,e)}return this.signTransactionWithMobile(n)}))}signData(e,t){return s(this,void 0,void 0,(function*(){const n=this.chainId||4160;if(\"mobile\"===this.platform&&(O()?w():!O()&&this.shouldShowSignTxnToast&&g(),!this.connector))throw new Error(\"PeraWalletConnect was not initialized correctly.\");if(\"web\"===this.platform){const{webWalletURL:o}=yield _();return this.signDataWithWeb({data:e,signer:t,chainId:n,webWalletURL:o})}const o=e.map((e=>Object.assign(Object.assign({},e),{data:Buffer.from(e.data).toString(\"base64\")})));return this.signDataWithMobile({data:o,signer:t,chainId:n})}))}},exports.closePeraWalletSignTxnToast=function(){m(\"pera-wallet-sign-txn-toast-wrapper\")},exports.detectBrowser=function(){if(!I())return null;const{userAgent:e}=navigator;let t;return t=e.match(/DuckDuckGo/i)?\"DuckDuckGo\":e.match(/OPX/i)?\"Opera GX\":navigator.brave?\"Brave\":i.default.getParser(navigator.userAgent).getBrowserName(),t},exports.isAndroid=W,exports.isIOS=function(){return I()&&/iPhone|iPad|iPod/i.test(navigator.userAgent)},exports.isMobile=O,exports.removeModalWrapperFromDOM=m;\n","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nfunction _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\n\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === \"undefined\" &&\n typeof navigator !== \"undefined\" &&\n navigator.product === \"ReactNative\");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== \"undefined\" &&\n typeof process.versions !== \"undefined\" &&\n typeof process.versions.node !== \"undefined\");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map","import { getError, getErrorByCode, isReservedErrorCode } from \"./error\";\nimport { INTERNAL_ERROR, SERVER_ERROR } from \"./constants\";\nexport function payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nexport function getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nexport function formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: \"2.0\",\n method,\n params,\n };\n}\nexport function formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: \"2.0\",\n result,\n };\n}\nexport function formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: \"2.0\",\n error: formatErrorMessage(error, data),\n };\n}\nexport function formatErrorMessage(error, data) {\n if (typeof error === \"undefined\") {\n return getError(INTERNAL_ERROR);\n }\n if (typeof error === \"string\") {\n error = Object.assign(Object.assign({}, getError(SERVER_ERROR)), { message: error });\n }\n if (typeof data !== \"undefined\") {\n error.data = data;\n }\n if (isReservedErrorCode(error.code)) {\n error = getErrorByCode(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { browserAesDecrypt, browserAesEncrypt } from \"../lib/browser\";\nexport function aesCbcEncrypt(iv, key, data) {\n return browserAesEncrypt(iv, key, data);\n}\nexport function aesCbcDecrypt(iv, key, data) {\n return browserAesDecrypt(iv, key, data);\n}\n//# sourceMappingURL=aes.js.map","import { browserHmacSha256Sign, browserHmacSha512Sign } from \"../lib/browser\";\nimport { isConstantTime } from \"../helpers\";\nexport async function hmacSha256Sign(key, msg) {\n const result = await browserHmacSha256Sign(key, msg);\n return result;\n}\nexport async function hmacSha256Verify(key, msg, sig) {\n const expectedSig = await browserHmacSha256Sign(key, msg);\n const result = isConstantTime(expectedSig, sig);\n return result;\n}\nexport async function hmacSha512Sign(key, msg) {\n const result = await browserHmacSha512Sign(key, msg);\n return result;\n}\nexport async function hmacSha512Verify(key, msg, sig) {\n const expectedSig = await browserHmacSha512Sign(key, msg);\n const result = isConstantTime(expectedSig, sig);\n return result;\n}\n//# sourceMappingURL=hmac.js.map","export * from \"@walletconnect/environment\";\n//# sourceMappingURL=env.js.map","export function assert(condition, message) {\n if (!condition) {\n throw new Error(message || \"Assertion failed\");\n }\n}\nexport function isConstantTime(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n let res = 0;\n for (let i = 0; i < arr1.length; i++) {\n res |= arr1[i] ^ arr2[i];\n }\n return res === 0;\n}\n//# sourceMappingURL=validators.js.map",";(function (globalObject) {\r\n 'use strict';\r\n\r\n/*\r\n * bignumber.js v9.1.1\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\n var BigNumber,\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n /*\r\n * Create and return a BigNumber constructor.\r\n */\r\n function clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, P.lt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, P.gt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n function maxOrMin(args, method) {\r\n var n,\r\n i = 1,\r\n m = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n n = new BigNumber(args[i]);\r\n\r\n // If any number is NaN, return NaN.\r\n if (!n.s) {\r\n m = n;\r\n break;\r\n } else if (method.call(m, n)) {\r\n m = n;\r\n }\r\n }\r\n\r\n return m;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = n / pows10[d - j - 1] % 10 | 0;\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : n / pows10[d - j - 1] % 10 | 0;\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) {\r\n zc = xc;\r\n xc = yc;\r\n yc = zc;\r\n i = xcL;\r\n xcL = ycL;\r\n ycL = i;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n b = a;\r\n }\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) {\r\n i = g1;\r\n g1 = g2;\r\n g2 = i;\r\n len -= i;\r\n }\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n }\r\n\r\n\r\n // PRIVATE HELPER FUNCTIONS\r\n\r\n // These functions don't need access to variables,\r\n // e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\n function bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n }\r\n\r\n\r\n // Return a coefficient array as a string of base 10 digits.\r\n function coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n }\r\n\r\n\r\n // Compare the value of BigNumbers x and y.\r\n function compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n }\r\n\r\n\r\n /*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\n function intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n }\r\n\r\n\r\n // Assumes finite n.\r\n function isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n }\r\n\r\n\r\n function toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n }\r\n\r\n\r\n function toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // EXPORT\r\n\r\n\r\n BigNumber = clone();\r\n BigNumber['default'] = BigNumber.BigNumber = BigNumber;\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () { return BigNumber; });\r\n\r\n // Node.js and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = BigNumber;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalObject) {\r\n globalObject = typeof self != 'undefined' && self ? self : window;\r\n }\r\n\r\n globalObject.BigNumber = BigNumber;\r\n }\r\n})(this);\r\n","const { default: HTTPClient } = require('./client');\nconst { setSendTransactionHeaders } = require('./v2/algod/sendRawTransaction');\n/** @deprecated v1 algod APIs are deprecated, please use the v2 client */\nfunction Algod(token = '', baseServer = 'http://r2.algorand.network', port = 4180, headers = {}) {\n // workaround to allow backwards compatibility for multiple headers\n let tokenHeader = token;\n if (typeof tokenHeader === 'string') {\n tokenHeader = { 'X-Algo-API-Token': tokenHeader };\n }\n // Get client\n const c = new HTTPClient(tokenHeader, baseServer, port, headers);\n /**\n * Takes an object and convert its note field to Buffer, if exist.\n * @param o\n * @returns {*}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n function noteb64ToNote(o) {\n if (!(o.noteb64 === undefined || o.noteb64 === null)) {\n // eslint-disable-next-line no-param-reassign\n o.note = Buffer.from(o.noteb64, 'base64');\n }\n return o;\n }\n /**\n * status retrieves the StatusResponse from the running node\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.status = async (headerObj = {}) => {\n const res = await c.get('/v1/status', {}, headerObj);\n return res.body;\n };\n /**\n * healthCheck returns an empty object iff the node is running\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.healthCheck = async (headerObj = {}) => {\n const res = await c.get('/health', {}, headerObj);\n if (!res.ok) {\n throw new Error(`Health response: ${res.status}`);\n }\n return {};\n };\n /**\n * statusAfterBlock waits for round roundNumber to occur then returns the StatusResponse for this round.\n * This call blocks\n * @param roundNumber\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.statusAfterBlock = async (roundNumber, headerObj = {}) => {\n if (!Number.isInteger(roundNumber))\n throw Error('roundNumber should be an integer');\n const res = await c.get(`/v1/status/wait-for-block-after/${roundNumber}`, {}, headerObj);\n return res.body;\n };\n /**\n * pendingTransactions asks algod for a snapshot of current pending txns on the node, bounded by maxTxns.\n * If maxTxns = 0, fetches as many transactions as possible.\n * @param maxTxns - number\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.pendingTransactions = async (maxTxns, headerObj = {}) => {\n if (!Number.isInteger(maxTxns))\n throw Error('maxTxns should be an integer');\n const res = await c.get('/v1/transactions/pending', { max: maxTxns }, headerObj);\n if (res.statusCode === 200 &&\n res.body.truncatedTxns.transactions !== undefined) {\n for (let i = 0; i < res.body.truncatedTxns.transactions.length; i++) {\n res.body.truncatedTxns.transactions[i] = noteb64ToNote(res.body.truncatedTxns.transactions[i]);\n }\n }\n return res.body;\n };\n /**\n * versions retrieves the VersionResponse from the running node\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.versions = async (headerObj = {}) => {\n const res = await c.get('/versions', {}, headerObj);\n return res.body;\n };\n /**\n * LedgerSupply gets the supply details for the specified node's Ledger\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.ledgerSupply = async (headerObj = {}) => {\n const res = await c.get('/v1/ledger/supply', {}, headerObj);\n return res.body;\n };\n /**\n * transactionsByAddress returns all transactions for a PK [addr] in the [first, last] rounds range.\n * @param addr - string\n * @param first - number, optional\n * @param last - number, optional\n * @param maxTxns - number, optional\n * @param headers, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.transactionByAddress = async (addr, first = null, last = null, maxTxns = null, headerObj = {}) => {\n if (first !== null && !Number.isInteger(first)) {\n throw Error('first round should be an integer');\n }\n if (last !== null && !Number.isInteger(last)) {\n throw Error('last round should be an integer');\n }\n const res = await c.get(`/v1/account/${addr}/transactions`, { firstRound: first, lastRound: last, max: maxTxns }, headerObj);\n if (res.statusCode === 200 && res.body.transactions !== undefined) {\n for (let i = 0; i < res.body.transactions.length; i++) {\n res.body.transactions[i] = noteb64ToNote(res.body.transactions[i]);\n }\n }\n return res.body;\n };\n /**\n * transactionsByAddressAndDate returns all transactions for a PK [addr] in the [fromDate, toDate] date range.\n * The date is a string in the YYYY-MM-DD format.\n * @param addr - string\n * @param fromDate - string\n * @param toDate - string\n * @param maxTxns - number, optional\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.transactionByAddressAndDate = async (addr, fromDate, toDate, maxTxns = null, headerObj = {}) => {\n const res = await c.get(`/v1/account/${addr}/transactions`, { fromDate, toDate, max: maxTxns }, headerObj);\n if (res.statusCode === 200 && res.body.transactions !== undefined) {\n for (let i = 0; i < res.body.transactions.length; i++) {\n res.body.transactions[i] = noteb64ToNote(res.body.transactions[i]);\n }\n }\n return res.body;\n };\n /**\n * transactionById returns the a transaction information of a specific txid [txId]\n * Note - This method is allowed only when Indexer is enabled.\n * @param txid\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.transactionById = async (txid, headerObj = {}) => {\n const res = await c.get(`/v1/transaction/${txid}`, {}, headerObj);\n if (res.statusCode === 200) {\n res.body = noteb64ToNote(res.body);\n }\n return res.body;\n };\n /**\n * transactionInformation returns the transaction information of a specific txid and an address\n * @param addr\n * @param txid\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.transactionInformation = async (addr, txid, headerObj = {}) => {\n const res = await c.get(`/v1/account/${addr}/transaction/${txid}`, {}, headerObj);\n if (res.statusCode === 200) {\n res.body = noteb64ToNote(res.body);\n }\n return res.body;\n };\n /**\n * pendingTransactionInformation returns the transaction information for a specific txid of a pending transaction\n * @param txid\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.pendingTransactionInformation = async (txid, headerObj = {}) => {\n const res = await c.get(`/v1/transactions/pending/${txid}`, {}, headerObj);\n if (res.statusCode === 200) {\n res.body = noteb64ToNote(res.body);\n }\n return res.body;\n };\n /**\n * accountInformation returns the passed account's information\n * @param addr - string\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.accountInformation = async (addr, headerObj = {}) => {\n const res = await c.get(`/v1/account/${addr}`, {}, headerObj);\n return res.body;\n };\n /**\n * assetInformation returns the information for the asset with the passed creator and index\n * @param index - number\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.assetInformation = async (index, headerObj = {}) => {\n const res = await c.get(`/v1/asset/${index}`, {}, headerObj);\n return res.body;\n };\n /**\n * suggestedFee gets the recommended transaction fee from the node\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.suggestedFee = async (headerObj = {}) => {\n const res = await c.get('/v1/transactions/fee', {}, headerObj);\n return res.body;\n };\n /**\n * sendRawTransaction gets an encoded SignedTxn and broadcasts it to the network\n * @param txn - Uin8Array\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.sendRawTransaction = async (txn, headerObj = {}) => {\n const txHeaders = setSendTransactionHeaders(headerObj);\n const res = await c.post('/v1/transactions', Buffer.from(txn), txHeaders);\n return res.body;\n };\n /**\n * sendRawTransactions gets a list of encoded SignedTxns and broadcasts it to the network\n * @param txn - Array of Uin8Array\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.sendRawTransactions = async (txns, headerObj = {}) => {\n const txHeaders = setSendTransactionHeaders(headerObj);\n const merged = Array.prototype.concat(...txns.map((arr) => Array.from(arr)));\n const res = await c.post('/v1/transactions', Buffer.from(merged), txHeaders);\n return res.body;\n };\n /**\n * getTransactionParams returns to common needed parameters for a new transaction\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.getTransactionParams = async (headerObj = {}) => {\n const res = await c.get('/v1/transactions/params', {}, headerObj);\n return res.body;\n };\n /**\n * suggestParams returns to common needed parameters for a new transaction, in a format the transaction builder expects\n * @param headerObj, optional\n * @returns {Object}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.suggestParams = async (headerObj = {}) => {\n const result = await this.getTransactionParams(headerObj);\n return {\n flatFee: false,\n fee: result.fee,\n firstRound: result.lastRound,\n lastRound: result.lastRound + 1000,\n genesisID: result.genesisID,\n genesisHash: result.genesishashb64,\n };\n };\n /**\n * block gets the block info for the given round This call blocks\n * @param roundNumber\n * @param headerObj, optional\n * @returns {Promise<*>}\n * @deprecated v1 algod APIs are deprecated, please use the v2 client\n */\n this.block = async (roundNumber, headerObj = {}) => {\n if (!Number.isInteger(roundNumber))\n throw Error('roundNumber should be an integer');\n const res = await c.get(`/v1/block/${roundNumber}`, {}, headerObj);\n if (res.statusCode === 200 && res.body.txns.transactions !== undefined) {\n for (let i = 0; i < res.body.txns.transactions.length; i++) {\n res.body.txns.transactions[i] = noteb64ToNote(res.body.txns.transactions[i]);\n }\n }\n return res.body;\n };\n}\nmodule.exports = { Algod };\n//# sourceMappingURL=algod.js.map","import ServiceClient from './v2/serviceClient';\nimport * as txn from '../transaction';\nexport default class Kmd extends ServiceClient {\n constructor(token, baseServer = 'http://127.0.0.1', port = 7833, headers = {}) {\n super('X-KMD-API-Token', token, baseServer, port, headers);\n }\n /**\n * version returns a VersionResponse containing a list of kmd API versions supported by this running kmd instance.\n */\n async versions() {\n const res = await this.c.get('/versions');\n return res.body;\n }\n /**\n * listWallets returns a ListWalletsResponse containing the list of wallets known to kmd. Using a wallet ID\n * returned from this endpoint, you can initialize a wallet handle with client.InitWalletHandle\n */\n async listWallets() {\n const res = await this.c.get('/v1/wallets');\n return res.body;\n }\n /**\n * createWallet creates a wallet with the specified name, password, driver,\n * and master derivation key. If the master derivation key is blank, one is\n * generated internally to kmd. CreateWallet returns a CreateWalletResponse\n * containing information about the new wallet.\n * @param walletName\n * @param walletPassword\n * @param walletDriverName\n * @param walletMDK\n */\n async createWallet(walletName, walletPassword, walletMDK = new Uint8Array(), walletDriverName = 'sqlite') {\n const req = {\n wallet_name: walletName,\n wallet_driver_name: walletDriverName,\n wallet_password: walletPassword,\n master_derivation_key: Buffer.from(walletMDK).toString('base64'),\n };\n const res = await this.c.post('/v1/wallet', req);\n return res.body;\n }\n /**\n * initWalletHandle accepts a wallet ID and a wallet password, and returns an\n * initWalletHandleResponse containing a wallet handle token. This wallet\n * handle token can be used for subsequent operations on this wallet, like key\n * generation, transaction signing, etc.. WalletHandleTokens expire after a\n * configurable number of seconds, and must be renewed periodically with\n * RenewWalletHandle. It is good practice to call ReleaseWalletHandle when\n * you're done interacting with this wallet.\n * @param walletID\n * @param walletPassword\n */\n async initWalletHandle(walletID, walletPassword) {\n const req = {\n wallet_id: walletID,\n wallet_password: walletPassword,\n };\n const res = await this.c.post('/v1/wallet/init', req);\n return res.body;\n }\n /**\n * releaseWalletHandle invalidates the passed wallet handle token, making\n * it unusuable for subsequent wallet operations.\n * @param walletHandle\n */\n async releaseWalletHandle(walletHandle) {\n const req = {\n wallet_handle_token: walletHandle,\n };\n const res = await this.c.post('/v1/wallet/release', req);\n return res.body;\n }\n /**\n * renewWalletHandle accepts a wallet handle and attempts to renew it, moving\n * the expiration time to some number of seconds in the future. It returns a\n * RenewWalletHandleResponse containing the walletHandle and the number of\n * seconds until expiration\n * @param walletHandle\n */\n async renewWalletHandle(walletHandle) {\n const req = {\n wallet_handle_token: walletHandle,\n };\n const res = await this.c.post('/v1/wallet/renew', req);\n return res.body;\n }\n /**\n * renameWallet accepts a wallet ID, wallet password, and a new wallet name,\n * and renames the underlying wallet.\n * @param walletID\n * @param walletPassword\n * @param newWalletName\n */\n async renameWallet(walletID, walletPassword, newWalletName) {\n const req = {\n wallet_id: walletID,\n wallet_password: walletPassword,\n wallet_name: newWalletName,\n };\n const res = await this.c.post('/v1/wallet/rename', req);\n return res.body;\n }\n /**\n * getWallet accepts a wallet handle and returns high level information about\n * this wallet in a GetWalletResponse.\n * @param walletHandle\n */\n async getWallet(walletHandle) {\n const req = {\n wallet_handle_token: walletHandle,\n };\n const res = await this.c.post('/v1/wallet/info', req);\n return res.body;\n }\n /**\n * exportMasterDerivationKey accepts a wallet handle and a wallet password, and\n * returns an ExportMasterDerivationKeyResponse containing the master\n * derivation key. This key can be used as an argument to CreateWallet in\n * order to recover the keys generated by this wallet. The master derivation\n * key can be encoded as a sequence of words using the mnemonic library, and\n * @param walletHandle\n * @param walletPassword\n */\n async exportMasterDerivationKey(walletHandle, walletPassword) {\n const req = {\n wallet_handle_token: walletHandle,\n wallet_password: walletPassword,\n };\n const res = await this.c.post('/v1/master-key/export', req);\n return {\n master_derivation_key: Buffer.from(res.body.master_derivation_key, 'base64'),\n };\n }\n /**\n * importKey accepts a wallet handle and an ed25519 private key, and imports\n * the key into the wallet. It returns an ImportKeyResponse containing the\n * address corresponding to this private key.\n * @param walletHandle\n * @param secretKey\n */\n async importKey(walletHandle, secretKey) {\n const req = {\n wallet_handle_token: walletHandle,\n private_key: Buffer.from(secretKey).toString('base64'),\n };\n const res = await this.c.post('/v1/key/import', req);\n return res.body;\n }\n /**\n * exportKey accepts a wallet handle, wallet password, and address, and returns\n * an ExportKeyResponse containing the ed25519 private key corresponding to the\n * address stored in the wallet.\n * @param walletHandle\n * @param walletPassword\n * @param addr\n */\n async exportKey(walletHandle, walletPassword, addr) {\n const req = {\n wallet_handle_token: walletHandle,\n address: addr,\n wallet_password: walletPassword,\n };\n const res = await this.c.post('/v1/key/export', req);\n return { private_key: Buffer.from(res.body.private_key, 'base64') };\n }\n /**\n * generateKey accepts a wallet handle, and then generates the next key in the\n * wallet using its internal master derivation key. Two wallets with the same\n * master derivation key will generate the same sequence of keys.\n * @param walletHandle\n */\n async generateKey(walletHandle) {\n const req = {\n wallet_handle_token: walletHandle,\n display_mnemonic: false,\n };\n const res = await this.c.post('/v1/key', req);\n return res.body;\n }\n /**\n * deleteKey accepts a wallet handle, wallet password, and address, and deletes\n * the information about this address from the wallet (including address and\n * secret key). If DeleteKey is called on a key generated using GenerateKey,\n * the same key will not be generated again. However, if a wallet is recovered\n * using the master derivation key, a key generated in this way can be\n * recovered.\n * @param walletHandle\n * @param walletPassword\n * @param addr\n */\n async deleteKey(walletHandle, walletPassword, addr) {\n const req = {\n wallet_handle_token: walletHandle,\n address: addr,\n wallet_password: walletPassword,\n };\n const res = await this.c.delete('/v1/key', req);\n return res.body;\n }\n /**\n * ListKeys accepts a wallet handle and returns a ListKeysResponse containing\n * all of the addresses for which this wallet contains secret keys.\n * @param walletHandle\n */\n async listKeys(walletHandle) {\n const req = {\n wallet_handle_token: walletHandle,\n };\n const res = await this.c.post('/v1/key/list', req);\n return res.body;\n }\n /**\n * signTransaction accepts a wallet handle, wallet password, and a transaction,\n * and returns and SignTransactionResponse containing an encoded, signed\n * transaction. The transaction is signed using the key corresponding to the\n * Sender field.\n * @param walletHandle\n * @param walletPassword\n * @param transaction\n */\n async signTransaction(walletHandle, walletPassword, transaction) {\n const tx = txn.instantiateTxnIfNeeded(transaction);\n const req = {\n wallet_handle_token: walletHandle,\n wallet_password: walletPassword,\n transaction: Buffer.from(tx.toByte()).toString('base64'),\n };\n const res = await this.c.post('/v1/transaction/sign', req);\n if (res.status === 200) {\n return Buffer.from(res.body.signed_transaction, 'base64');\n }\n return res.body;\n }\n /**\n * signTransactionWithSpecificPublicKey accepts a wallet handle, wallet password, a transaction, and a public key,\n * and returns and SignTransactionResponse containing an encoded, signed\n * transaction. The transaction is signed using the key corresponding to the\n * publicKey arg.\n * @param walletHandle\n * @param walletPassword\n * @param transaction\n * @param publicKey - sign the txn with the key corresponding to publicKey (used for working with a rekeyed addr)\n */\n async signTransactionWithSpecificPublicKey(walletHandle, walletPassword, transaction, publicKey) {\n const tx = txn.instantiateTxnIfNeeded(transaction);\n const req = {\n wallet_handle_token: walletHandle,\n wallet_password: walletPassword,\n transaction: Buffer.from(tx.toByte()).toString('base64'),\n public_key: Buffer.from(publicKey).toString('base64'),\n };\n const res = await this.c.post('/v1/transaction/sign', req);\n if (res.status === 200) {\n return Buffer.from(res.body.signed_transaction, 'base64');\n }\n return res.body;\n }\n /**\n * listMultisig accepts a wallet handle and returns a ListMultisigResponse\n * containing the multisig addresses whose preimages are stored in this wallet.\n * A preimage is the information needed to reconstruct this multisig address,\n * including multisig version information, threshold information, and a list\n * of public keys.\n * @param walletHandle\n */\n async listMultisig(walletHandle) {\n const req = {\n wallet_handle_token: walletHandle,\n };\n const res = await this.c.post('/v1/multisig/list', req);\n return res.body;\n }\n /**\n * importMultisig accepts a wallet handle and the information required to\n * generate a multisig address. It derives this address, and stores all of the\n * information within the wallet. It returns a ImportMultisigResponse with the\n * derived address.\n * @param walletHandle\n * @param version\n * @param threshold\n * @param pks\n */\n async importMultisig(walletHandle, version, threshold, pks) {\n const req = {\n wallet_handle_token: walletHandle,\n multisig_version: version,\n threshold,\n pks,\n };\n const res = await this.c.post('/v1/multisig/import', req);\n return res.body;\n }\n /**\n * exportMultisig accepts a wallet handle, wallet password, and multisig\n * address, and returns an ExportMultisigResponse containing the stored\n * multisig preimage. The preimage contains all of the information necessary\n * to derive the multisig address, including version, threshold, and a list of\n * public keys.\n * @param walletHandle\n * @param walletPassword\n * @param addr\n */\n async exportMultisig(walletHandle, addr) {\n const req = {\n wallet_handle_token: walletHandle,\n address: addr,\n };\n const res = await this.c.post('/v1/multisig/export', req);\n return res.body;\n }\n /**\n * signMultisigTransaction accepts a wallet handle, wallet password,\n * transaction, public key (*not* an address), and an optional partial\n * MultisigSig. It looks up the secret key corresponding to the public key, and\n * returns a SignMultisigTransactionResponse containing a MultisigSig with a\n * signature by the secret key included.\n * @param walletHandle\n * @param pw\n * @param tx\n * @param pk\n * @param partial\n */\n async signMultisigTransaction(walletHandle, pw, transaction, pk, partial) {\n const tx = txn.instantiateTxnIfNeeded(transaction);\n const req = {\n wallet_handle_token: walletHandle,\n transaction: Buffer.from(tx.toByte()).toString('base64'),\n public_key: Buffer.from(pk).toString('base64'),\n partial_multisig: partial,\n wallet_password: pw,\n };\n const res = await this.c.post('/v1/multisig/sign', req);\n return res.body;\n }\n /**\n * deleteMultisig accepts a wallet handle, wallet password, and multisig\n * address, and deletes the information about this multisig address from the\n * wallet (including address and secret key).\n * @param walletHandle\n * @param walletPassword\n * @param addr\n */\n async deleteMultisig(walletHandle, walletPassword, addr) {\n const req = {\n wallet_handle_token: walletHandle,\n address: addr,\n wallet_password: walletPassword,\n };\n const res = await this.c.delete('/v1/multisig', req);\n return res.body;\n }\n}\n//# sourceMappingURL=kmd.js.map","import * as nacl from './nacl/naclWrappers';\nimport * as address from './encoding/address';\n/**\n * generateAccount returns a new Algorand address and its corresponding secret key\n */\nexport default function generateAccount() {\n const keys = nacl.keyPair();\n const encodedPk = address.encodeAddress(keys.publicKey);\n return { addr: encodedPk, sk: keys.secretKey };\n}\n//# sourceMappingURL=account.js.map","import { Application, ApplicationParams, ApplicationStateSchema, DryrunRequest, } from './client/v2/algod/models/types';\nimport { TransactionType } from './types/transactions';\nimport { encodeAddress, getApplicationAddress } from './encoding/address';\nconst defaultAppId = 1380011588;\nconst defaultMaxWidth = 30;\nfunction decodePrograms(ap) {\n // eslint-disable-next-line no-param-reassign\n ap.params['approval-program'] = Buffer.from(ap.params['approval-program'].toString(), 'base64');\n // eslint-disable-next-line no-param-reassign\n ap.params['clear-state-program'] = Buffer.from(ap.params['clear-state-program'].toString(), 'base64');\n return ap;\n}\n/**\n * createDryrun takes an Algod Client (from algod.AlgodV2Client) and an array of Signed Transactions\n * from (transaction.SignedTransaction) and creates a DryrunRequest object with relevant balances\n * @param client - the AlgodClient to make requests against\n * @param txns - the array of SignedTransaction to use for generating the DryrunRequest object\n * @param protocolVersion - the string representing the protocol version to use\n * @param latestTimestamp - the timestamp\n * @returns the DryrunRequest object constructed from the SignedTransactions passed\n */\nexport async function createDryrun({ client, txns, protocolVersion, latestTimestamp, round, sources, }) {\n const appInfos = [];\n const acctInfos = [];\n const apps = [];\n const assets = [];\n const accts = [];\n for (const t of txns) {\n if (t.txn.type === TransactionType.appl) {\n accts.push(encodeAddress(t.txn.from.publicKey));\n if (t.txn.appAccounts)\n accts.push(...t.txn.appAccounts.map((a) => encodeAddress(a.publicKey)));\n if (t.txn.appForeignApps) {\n apps.push(...t.txn.appForeignApps);\n accts.push(...t.txn.appForeignApps.map((aidx) => getApplicationAddress(aidx)));\n }\n if (t.txn.appForeignAssets)\n assets.push(...t.txn.appForeignAssets);\n // Create application,\n if (t.txn.appIndex === undefined || t.txn.appIndex === 0) {\n appInfos.push(new Application(defaultAppId, new ApplicationParams({\n creator: encodeAddress(t.txn.from.publicKey),\n approvalProgram: t.txn.appApprovalProgram,\n clearStateProgram: t.txn.appClearProgram,\n localStateSchema: new ApplicationStateSchema(t.txn.appLocalInts, t.txn.appLocalByteSlices),\n globalStateSchema: new ApplicationStateSchema(t.txn.appGlobalInts, t.txn.appGlobalByteSlices),\n })));\n }\n else {\n apps.push(t.txn.appIndex);\n accts.push(getApplicationAddress(t.txn.appIndex));\n }\n }\n }\n // Dedupe and add creator to accts array\n const assetPromises = [];\n for (const assetId of [...new Set(assets)]) {\n assetPromises.push(client\n .getAssetByID(assetId)\n .do()\n .then((assetInfo) => {\n accts.push(assetInfo.params.creator);\n }));\n }\n // Wait for assets to finish since we append to accts array\n await Promise.all(assetPromises);\n // Dedupe and get app info for all apps\n const appPromises = [];\n for (const appId of [...new Set(apps)]) {\n appPromises.push(client\n .getApplicationByID(appId)\n .do()\n .then((appInfo) => {\n const ai = decodePrograms(appInfo);\n appInfos.push(ai);\n accts.push(ai.params.creator);\n }));\n }\n await Promise.all(appPromises);\n const acctPromises = [];\n for (const acct of [...new Set(accts)]) {\n acctPromises.push(client\n .accountInformation(acct)\n .do()\n .then((acctInfo) => {\n if ('created-apps' in acctInfo) {\n // eslint-disable-next-line no-param-reassign\n acctInfo['created-apps'] = acctInfo['created-apps'].map((app) => decodePrograms(app));\n }\n acctInfos.push(acctInfo);\n }));\n }\n await Promise.all(acctPromises);\n return new DryrunRequest({\n txns: txns.map((st) => ({ ...st, txn: st.txn.get_obj_for_encoding() })),\n accounts: acctInfos,\n apps: appInfos,\n latestTimestamp,\n round,\n protocolVersion,\n sources,\n });\n}\nclass DryrunStackValue {\n constructor(sv) {\n this.type = 0;\n this.bytes = '';\n this.uint = 0;\n this.type = sv.type;\n this.bytes = sv.bytes;\n this.uint = sv.uint;\n }\n toString() {\n if (this.type === 1) {\n return `0x${Buffer.from(this.bytes, 'base64').toString('hex')}`;\n }\n return this.uint.toString();\n }\n}\nclass DryrunTraceLine {\n constructor(line) {\n this.error = '';\n this.line = 0;\n this.pc = 0;\n this.scratch = [];\n this.stack = [];\n this.error = line.error === undefined ? '' : line.error;\n this.line = line.line;\n this.pc = line.pc;\n this.scratch = line.scratch;\n this.stack = line.stack.map((sv) => new DryrunStackValue(sv));\n }\n}\nclass DryrunTrace {\n constructor(t) {\n this.trace = [];\n if (t == null)\n return;\n this.trace = t.map((line) => new DryrunTraceLine(line));\n }\n}\nfunction truncate(str, maxValueWidth) {\n if (str.length > maxValueWidth && maxValueWidth > 0) {\n return `${str.slice(0, maxValueWidth)}...`;\n }\n return str;\n}\nfunction scratchToString(prevScratch, currScratch) {\n if (currScratch.length === 0)\n return '';\n let newScratchIdx = null;\n for (let idx = 0; idx < currScratch.length; idx++) {\n if (idx > prevScratch.length) {\n newScratchIdx = idx;\n continue;\n }\n if (JSON.stringify(prevScratch[idx]) !== JSON.stringify(currScratch[idx])) {\n newScratchIdx = idx;\n }\n }\n if (newScratchIdx == null)\n return '';\n const newScratch = currScratch[newScratchIdx];\n if (newScratch.bytes.length > 0) {\n return `${newScratchIdx} = 0x${Buffer.from(newScratch.bytes, 'base64').toString('hex')}`;\n }\n return `${newScratchIdx} = ${newScratch.uint.toString()}`;\n}\nfunction stackToString(stack, reverse) {\n const svs = reverse ? stack.reverse() : stack;\n return `[${svs\n .map((sv) => {\n switch (sv.type) {\n case 1:\n return `0x${Buffer.from(sv.bytes, 'base64').toString('hex')}`;\n case 2:\n return `${sv.uint.toString()}`;\n default:\n return '';\n }\n })\n .join(', ')}]`;\n}\nclass DryrunTransactionResult {\n constructor(dtr) {\n this.disassembly = [];\n this.appCallMessages = [];\n this.localDeltas = [];\n this.globalDelta = [];\n this.cost = 0;\n this.logicSigMessages = [];\n this.logicSigDisassembly = [];\n this.logs = [];\n this.appCallTrace = undefined;\n this.logicSigTrace = undefined;\n this.required = ['disassembly'];\n this.optionals = [\n 'app-call-messages',\n 'local-deltas',\n 'global-delta',\n 'cost',\n 'logic-sig-messages',\n 'logic-sig-disassembly',\n 'logs',\n ];\n this.traces = ['app-call-trace', 'logic-sig-trace'];\n this.disassembly = dtr.disassembly;\n this.appCallMessages = dtr['app-call-messages'];\n this.localDeltas = dtr['local-deltas'];\n this.globalDelta = dtr['global-delta'];\n this.cost = dtr.cost;\n this.logicSigMessages = dtr['logic-sig-messages'];\n this.logicSigDisassembly = dtr['logic-sig-disassembly'];\n this.logs = dtr.logs;\n this.appCallTrace = new DryrunTrace(dtr['app-call-trace']);\n this.logicSigTrace = new DryrunTrace(dtr['logic-sig-trace']);\n }\n appCallRejected() {\n return (this.appCallMessages !== undefined &&\n this.appCallMessages.includes('REJECT'));\n }\n logicSigRejected() {\n return (this.logicSigMessages !== undefined &&\n this.logicSigMessages.includes('REJECT'));\n }\n static trace(drt, disassembly, spc) {\n const maxWidth = spc.maxValueWidth || defaultMaxWidth;\n // Create the array of arrays, each sub array contains N columns\n const lines = [['pc#', 'ln#', 'source', 'scratch', 'stack']];\n for (let idx = 0; idx < drt.trace.length; idx++) {\n const { line, error, pc, scratch, stack } = drt.trace[idx];\n const currScratch = scratch !== undefined ? scratch : [];\n const prevScratch = idx > 0 && drt.trace[idx - 1].scratch !== undefined\n ? drt.trace[idx - 1].scratch\n : [];\n const src = error === '' ? disassembly[line] : `!! ${error} !!`;\n lines.push([\n pc.toString().padEnd(3, ' '),\n line.toString().padEnd(3, ' '),\n truncate(src, maxWidth),\n truncate(scratchToString(prevScratch, currScratch), maxWidth),\n truncate(stackToString(stack, spc.topOfStackFirst), maxWidth),\n ]);\n }\n // Get the max length for each column\n const maxLengths = lines.reduce((prev, curr) => {\n const newVal = new Array(lines[0].length).fill(0);\n for (let idx = 0; idx < prev.length; idx++) {\n newVal[idx] =\n curr[idx].length > prev[idx] ? curr[idx].length : prev[idx];\n }\n return newVal;\n }, new Array(lines[0].length).fill(0));\n return `${lines\n .map((line) => line\n .map((v, idx) => v.padEnd(maxLengths[idx] + 1, ' '))\n .join('|')\n .trim())\n .join('\\n')}\\n`;\n }\n appTrace(spc) {\n if (this.appCallTrace === undefined || !this.disassembly)\n return '';\n let conf = spc;\n if (spc === undefined)\n conf = {\n maxValueWidth: defaultMaxWidth,\n topOfStackFirst: false,\n };\n return DryrunTransactionResult.trace(this.appCallTrace, this.disassembly, conf);\n }\n lsigTrace(spc) {\n if (this.logicSigTrace === undefined ||\n this.logicSigDisassembly === undefined)\n return '';\n let conf = spc;\n if (spc === undefined)\n conf = {\n maxValueWidth: defaultMaxWidth,\n topOfStackFirst: true,\n };\n return DryrunTransactionResult.trace(this.logicSigTrace, this.logicSigDisassembly, conf);\n }\n}\nexport class DryrunResult {\n constructor(drrResp) {\n this.error = '';\n this.protocolVersion = '';\n this.txns = [];\n this.error = drrResp.error;\n this.protocolVersion = drrResp['protocol-version'];\n this.txns = drrResp.txns.map((txn) => new DryrunTransactionResult(txn));\n }\n}\n//# sourceMappingURL=dryrun.js.map","import { ABITupleType, ABIUintType, ABIAddressType, ABIReferenceType, abiTypeIsTransaction, abiCheckTransactionType, abiTypeIsReference, } from './abi';\nimport { Transaction, decodeSignedTransaction } from './transaction';\nimport { makeApplicationCallTxnFromObject } from './makeTxn';\nimport { assignGroupID } from './group';\nimport { waitForConfirmation } from './wait';\nimport { isTransactionWithSigner, } from './signer';\nimport { OnApplicationComplete, } from './types/transactions/base';\n// First 4 bytes of SHA-512/256 hash of \"return\"\nconst RETURN_PREFIX = Buffer.from([21, 31, 124, 117]);\n// The maximum number of arguments for an application call transaction\nconst MAX_APP_ARGS = 16;\nexport var AtomicTransactionComposerStatus;\n(function (AtomicTransactionComposerStatus) {\n /** The atomic group is still under construction. */\n AtomicTransactionComposerStatus[AtomicTransactionComposerStatus[\"BUILDING\"] = 0] = \"BUILDING\";\n /** The atomic group has been finalized, but not yet signed. */\n AtomicTransactionComposerStatus[AtomicTransactionComposerStatus[\"BUILT\"] = 1] = \"BUILT\";\n /** The atomic group has been finalized and signed, but not yet submitted to the network. */\n AtomicTransactionComposerStatus[AtomicTransactionComposerStatus[\"SIGNED\"] = 2] = \"SIGNED\";\n /** The atomic group has been finalized, signed, and submitted to the network. */\n AtomicTransactionComposerStatus[AtomicTransactionComposerStatus[\"SUBMITTED\"] = 3] = \"SUBMITTED\";\n /** The atomic group has been finalized, signed, submitted, and successfully committed to a block. */\n AtomicTransactionComposerStatus[AtomicTransactionComposerStatus[\"COMMITTED\"] = 4] = \"COMMITTED\";\n})(AtomicTransactionComposerStatus || (AtomicTransactionComposerStatus = {}));\n/**\n * Add a value to an application call's foreign array. The addition will be as compact as possible,\n * and this function will return an index that can be used to reference `valueToAdd` in `array`.\n *\n * @param valueToAdd - The value to add to the array. If this value is already present in the array,\n * it will not be added again. Instead, the existing index will be returned.\n * @param array - The existing foreign array. This input may be modified to append `valueToAdd`.\n * @param zeroValue - If provided, this value indicated two things: the 0 value is special for this\n * array, so all indexes into `array` must start at 1; additionally, if `valueToAdd` equals\n * `zeroValue`, then `valueToAdd` will not be added to the array, and instead the 0 indexes will\n * be returned.\n * @returns An index that can be used to reference `valueToAdd` in `array`.\n */\nfunction populateForeignArray(valueToAdd, array, zeroValue) {\n if (zeroValue != null && valueToAdd === zeroValue) {\n return 0;\n }\n const offset = zeroValue == null ? 0 : 1;\n for (let i = 0; i < array.length; i++) {\n if (valueToAdd === array[i]) {\n return i + offset;\n }\n }\n array.push(valueToAdd);\n return array.length - 1 + offset;\n}\n/** A class used to construct and execute atomic transaction groups */\nexport class AtomicTransactionComposer {\n constructor() {\n this.status = AtomicTransactionComposerStatus.BUILDING;\n this.transactions = [];\n this.methodCalls = new Map();\n this.signedTxns = [];\n this.txIDs = [];\n }\n /**\n * Get the status of this composer's transaction group.\n */\n getStatus() {\n return this.status;\n }\n /**\n * Get the number of transactions currently in this atomic group.\n */\n count() {\n return this.transactions.length;\n }\n /**\n * Create a new composer with the same underlying transactions. The new composer's status will be\n * BUILDING, so additional transactions may be added to it.\n */\n clone() {\n const theClone = new AtomicTransactionComposer();\n theClone.transactions = this.transactions.map(({ txn, signer }) => ({\n // not quite a deep copy, but good enough for our purposes (modifying txn.group in buildGroup)\n txn: Transaction.from_obj_for_encoding({\n ...txn.get_obj_for_encoding(),\n // erase the group ID\n grp: undefined,\n }),\n signer,\n }));\n theClone.methodCalls = new Map(this.methodCalls);\n return theClone;\n }\n /**\n * Add a transaction to this atomic group.\n *\n * An error will be thrown if the transaction has a nonzero group ID, the composer's status is\n * not BUILDING, or if adding this transaction causes the current group to exceed MAX_GROUP_SIZE.\n */\n addTransaction(txnAndSigner) {\n if (this.status !== AtomicTransactionComposerStatus.BUILDING) {\n throw new Error('Cannot add transactions when composer status is not BUILDING');\n }\n if (this.transactions.length === AtomicTransactionComposer.MAX_GROUP_SIZE) {\n throw new Error(`Adding an additional transaction exceeds the maximum atomic group size of ${AtomicTransactionComposer.MAX_GROUP_SIZE}`);\n }\n if (txnAndSigner.txn.group && txnAndSigner.txn.group.some((v) => v !== 0)) {\n throw new Error('Cannot add a transaction with nonzero group ID');\n }\n this.transactions.push(txnAndSigner);\n }\n /**\n * Add a smart contract method call to this atomic group.\n *\n * An error will be thrown if the composer's status is not BUILDING, if adding this transaction\n * causes the current group to exceed MAX_GROUP_SIZE, or if the provided arguments are invalid\n * for the given method.\n */\n addMethodCall({ appID, method, methodArgs, sender, suggestedParams, onComplete, approvalProgram, clearProgram, numGlobalInts, numGlobalByteSlices, numLocalInts, numLocalByteSlices, extraPages, boxes, note, lease, rekeyTo, signer, }) {\n if (this.status !== AtomicTransactionComposerStatus.BUILDING) {\n throw new Error('Cannot add transactions when composer status is not BUILDING');\n }\n if (this.transactions.length + method.txnCount() >\n AtomicTransactionComposer.MAX_GROUP_SIZE) {\n throw new Error(`Adding additional transactions exceeds the maximum atomic group size of ${AtomicTransactionComposer.MAX_GROUP_SIZE}`);\n }\n if (appID === 0) {\n if (approvalProgram == null ||\n clearProgram == null ||\n numGlobalInts == null ||\n numGlobalByteSlices == null ||\n numLocalInts == null ||\n numLocalByteSlices == null) {\n throw new Error('One of the following required parameters for application creation is missing: approvalProgram, clearProgram, numGlobalInts, numGlobalByteSlices, numLocalInts, numLocalByteSlices');\n }\n }\n else if (onComplete === OnApplicationComplete.UpdateApplicationOC) {\n if (approvalProgram == null || clearProgram == null) {\n throw new Error('One of the following required parameters for OnApplicationComplete.UpdateApplicationOC is missing: approvalProgram, clearProgram');\n }\n if (numGlobalInts != null ||\n numGlobalByteSlices != null ||\n numLocalInts != null ||\n numLocalByteSlices != null ||\n extraPages != null) {\n throw new Error('One of the following application creation parameters were set on a non-creation call: numGlobalInts, numGlobalByteSlices, numLocalInts, numLocalByteSlices, extraPages');\n }\n }\n else if (approvalProgram != null ||\n clearProgram != null ||\n numGlobalInts != null ||\n numGlobalByteSlices != null ||\n numLocalInts != null ||\n numLocalByteSlices != null ||\n extraPages != null) {\n throw new Error('One of the following application creation parameters were set on a non-creation call: approvalProgram, clearProgram, numGlobalInts, numGlobalByteSlices, numLocalInts, numLocalByteSlices, extraPages');\n }\n if (methodArgs == null) {\n // eslint-disable-next-line no-param-reassign\n methodArgs = [];\n }\n if (methodArgs.length !== method.args.length) {\n throw new Error(`Incorrect number of method arguments. Expected ${method.args.length}, got ${methodArgs.length}`);\n }\n let basicArgTypes = [];\n let basicArgValues = [];\n const txnArgs = [];\n const refArgTypes = [];\n const refArgValues = [];\n const refArgIndexToBasicArgIndex = new Map();\n // TODO: Box encoding for ABI\n const boxReferences = !boxes ? [] : boxes;\n for (let i = 0; i < methodArgs.length; i++) {\n let argType = method.args[i].type;\n const argValue = methodArgs[i];\n if (abiTypeIsTransaction(argType)) {\n if (!isTransactionWithSigner(argValue) ||\n !abiCheckTransactionType(argType, argValue.txn)) {\n throw new Error(`Expected ${argType} transaction for argument at index ${i}`);\n }\n if (argValue.txn.group && argValue.txn.group.some((v) => v !== 0)) {\n throw new Error('Cannot add a transaction with nonzero group ID');\n }\n txnArgs.push(argValue);\n continue;\n }\n if (isTransactionWithSigner(argValue)) {\n throw new Error(`Expected non-transaction value for argument at index ${i}`);\n }\n if (abiTypeIsReference(argType)) {\n refArgIndexToBasicArgIndex.set(refArgTypes.length, basicArgTypes.length);\n refArgTypes.push(argType);\n refArgValues.push(argValue);\n // treat the reference as a uint8 for encoding purposes\n argType = new ABIUintType(8);\n }\n if (typeof argType === 'string') {\n throw new Error(`Unknown ABI type: ${argType}`);\n }\n basicArgTypes.push(argType);\n basicArgValues.push(argValue);\n }\n const resolvedRefIndexes = [];\n const foreignAccounts = [];\n const foreignApps = [];\n const foreignAssets = [];\n for (let i = 0; i < refArgTypes.length; i++) {\n const refType = refArgTypes[i];\n const refValue = refArgValues[i];\n let resolved = 0;\n switch (refType) {\n case ABIReferenceType.account: {\n const addressType = new ABIAddressType();\n const address = addressType.decode(addressType.encode(refValue));\n resolved = populateForeignArray(address, foreignAccounts, sender);\n break;\n }\n case ABIReferenceType.application: {\n const uint64Type = new ABIUintType(64);\n const refAppID = uint64Type.decode(uint64Type.encode(refValue));\n if (refAppID > Number.MAX_SAFE_INTEGER) {\n throw new Error(`Expected safe integer for application value, got ${refAppID}`);\n }\n resolved = populateForeignArray(Number(refAppID), foreignApps, appID);\n break;\n }\n case ABIReferenceType.asset: {\n const uint64Type = new ABIUintType(64);\n const refAssetID = uint64Type.decode(uint64Type.encode(refValue));\n if (refAssetID > Number.MAX_SAFE_INTEGER) {\n throw new Error(`Expected safe integer for asset value, got ${refAssetID}`);\n }\n resolved = populateForeignArray(Number(refAssetID), foreignAssets);\n break;\n }\n default:\n throw new Error(`Unknown reference type: ${refType}`);\n }\n resolvedRefIndexes.push(resolved);\n }\n for (let i = 0; i < resolvedRefIndexes.length; i++) {\n const basicArgIndex = refArgIndexToBasicArgIndex.get(i);\n basicArgValues[basicArgIndex] = resolvedRefIndexes[i];\n }\n if (basicArgTypes.length > MAX_APP_ARGS - 1) {\n const lastArgTupleTypes = basicArgTypes.slice(MAX_APP_ARGS - 2);\n const lastArgTupleValues = basicArgValues.slice(MAX_APP_ARGS - 2);\n basicArgTypes = basicArgTypes.slice(0, MAX_APP_ARGS - 2);\n basicArgValues = basicArgValues.slice(0, MAX_APP_ARGS - 2);\n basicArgTypes.push(new ABITupleType(lastArgTupleTypes));\n basicArgValues.push(lastArgTupleValues);\n }\n const appArgsEncoded = [method.getSelector()];\n for (let i = 0; i < basicArgTypes.length; i++) {\n appArgsEncoded.push(basicArgTypes[i].encode(basicArgValues[i]));\n }\n const appCall = {\n txn: makeApplicationCallTxnFromObject({\n from: sender,\n appIndex: appID,\n appArgs: appArgsEncoded,\n accounts: foreignAccounts,\n foreignApps,\n foreignAssets,\n boxes: boxReferences,\n onComplete: onComplete == null ? OnApplicationComplete.NoOpOC : onComplete,\n approvalProgram,\n clearProgram,\n numGlobalInts,\n numGlobalByteSlices,\n numLocalInts,\n numLocalByteSlices,\n extraPages,\n lease,\n note,\n rekeyTo,\n suggestedParams,\n }),\n signer,\n };\n this.transactions.push(...txnArgs, appCall);\n this.methodCalls.set(this.transactions.length - 1, method);\n }\n /**\n * Finalize the transaction group and returned the finalized transactions.\n *\n * The composer's status will be at least BUILT after executing this method.\n */\n buildGroup() {\n if (this.status === AtomicTransactionComposerStatus.BUILDING) {\n if (this.transactions.length === 0) {\n throw new Error('Cannot build a group with 0 transactions');\n }\n if (this.transactions.length > 1) {\n assignGroupID(this.transactions.map((txnWithSigner) => txnWithSigner.txn));\n }\n this.status = AtomicTransactionComposerStatus.BUILT;\n }\n return this.transactions;\n }\n /**\n * Obtain signatures for each transaction in this group. If signatures have already been obtained,\n * this method will return cached versions of the signatures.\n *\n * The composer's status will be at least SIGNED after executing this method.\n *\n * An error will be thrown if signing any of the transactions fails.\n *\n * @returns A promise that resolves to an array of signed transactions.\n */\n async gatherSignatures() {\n if (this.status >= AtomicTransactionComposerStatus.SIGNED) {\n return this.signedTxns;\n }\n // retrieve built transactions and verify status is BUILT\n const txnsWithSigners = this.buildGroup();\n const txnGroup = txnsWithSigners.map((txnWithSigner) => txnWithSigner.txn);\n const indexesPerSigner = new Map();\n for (let i = 0; i < txnsWithSigners.length; i++) {\n const { signer } = txnsWithSigners[i];\n if (!indexesPerSigner.has(signer)) {\n indexesPerSigner.set(signer, []);\n }\n indexesPerSigner.get(signer).push(i);\n }\n const orderedSigners = Array.from(indexesPerSigner);\n const batchedSigs = await Promise.all(orderedSigners.map(([signer, indexes]) => signer(txnGroup, indexes)));\n const signedTxns = txnsWithSigners.map(() => null);\n for (let signerIndex = 0; signerIndex < orderedSigners.length; signerIndex++) {\n const indexes = orderedSigners[signerIndex][1];\n const sigs = batchedSigs[signerIndex];\n for (let i = 0; i < indexes.length; i++) {\n signedTxns[indexes[i]] = sigs[i];\n }\n }\n if (!signedTxns.every((sig) => sig != null)) {\n throw new Error(`Missing signatures. Got ${signedTxns}`);\n }\n const txIDs = signedTxns.map((stxn, index) => {\n try {\n return decodeSignedTransaction(stxn).txn.txID();\n }\n catch (err) {\n throw new Error(`Cannot decode signed transaction at index ${index}. ${err}`);\n }\n });\n this.signedTxns = signedTxns;\n this.txIDs = txIDs;\n this.status = AtomicTransactionComposerStatus.SIGNED;\n return signedTxns;\n }\n /**\n * Send the transaction group to the network, but don't wait for it to be committed to a block. An\n * error will be thrown if submission fails.\n *\n * The composer's status must be SUBMITTED or lower before calling this method. If submission is\n * successful, this composer's status will update to SUBMITTED.\n *\n * Note: a group can only be submitted again if it fails.\n *\n * @param client - An Algodv2 client\n *\n * @returns A promise that, upon success, resolves to a list of TxIDs of the submitted transactions.\n */\n async submit(client) {\n if (this.status > AtomicTransactionComposerStatus.SUBMITTED) {\n throw new Error('Transaction group cannot be resubmitted');\n }\n const stxns = await this.gatherSignatures();\n await client.sendRawTransaction(stxns).do();\n this.status = AtomicTransactionComposerStatus.SUBMITTED;\n return this.txIDs;\n }\n /**\n * Send the transaction group to the network and wait until it's committed to a block. An error\n * will be thrown if submission or execution fails.\n *\n * The composer's status must be SUBMITTED or lower before calling this method, since execution is\n * only allowed once. If submission is successful, this composer's status will update to SUBMITTED.\n * If the execution is also successful, this composer's status will update to COMMITTED.\n *\n * Note: a group can only be submitted again if it fails.\n *\n * @param client - An Algodv2 client\n * @param waitRounds - The maximum number of rounds to wait for transaction confirmation\n *\n * @returns A promise that, upon success, resolves to an object containing the confirmed round for\n * this transaction, the txIDs of the submitted transactions, and an array of results containing\n * one element for each method call transaction in this group.\n */\n async execute(client, waitRounds) {\n if (this.status === AtomicTransactionComposerStatus.COMMITTED) {\n throw new Error('Transaction group has already been executed successfully');\n }\n const txIDs = await this.submit(client);\n this.status = AtomicTransactionComposerStatus.SUBMITTED;\n const firstMethodCallIndex = this.transactions.findIndex((_, index) => this.methodCalls.has(index));\n const indexToWaitFor = firstMethodCallIndex === -1 ? 0 : firstMethodCallIndex;\n const confirmedTxnInfo = await waitForConfirmation(client, txIDs[indexToWaitFor], waitRounds);\n this.status = AtomicTransactionComposerStatus.COMMITTED;\n const confirmedRound = confirmedTxnInfo['confirmed-round'];\n const methodResults = [];\n for (const [txnIndex, method] of this.methodCalls) {\n const txID = txIDs[txnIndex];\n const methodResult = {\n txID,\n rawReturnValue: new Uint8Array(),\n method,\n };\n try {\n const pendingInfo = txnIndex === firstMethodCallIndex\n ? confirmedTxnInfo\n : // eslint-disable-next-line no-await-in-loop\n await client.pendingTransactionInformation(txID).do();\n methodResult.txInfo = pendingInfo;\n if (method.returns.type !== 'void') {\n const logs = pendingInfo.logs || [];\n if (logs.length === 0) {\n throw new Error('App call transaction did not log a return value');\n }\n const lastLog = Buffer.from(logs[logs.length - 1], 'base64');\n if (lastLog.byteLength < 4 ||\n !lastLog.slice(0, 4).equals(RETURN_PREFIX)) {\n throw new Error('App call transaction did not log a return value');\n }\n methodResult.rawReturnValue = new Uint8Array(lastLog.slice(4));\n methodResult.returnValue = method.returns.type.decode(methodResult.rawReturnValue);\n }\n }\n catch (err) {\n methodResult.decodeError = err;\n }\n methodResults.push(methodResult);\n }\n return {\n confirmedRound,\n txIDs,\n methodResults,\n };\n }\n}\n/** The maximum size of an atomic transaction group. */\nAtomicTransactionComposer.MAX_GROUP_SIZE = 16;\n//# sourceMappingURL=composer.js.map","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar DISPLAY_NONE = \"none\";\nvar DISPLAY_CONTENTS = \"contents\";\n\nvar tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction isNotOverflowing(element, style) {\n return style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0;\n}\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n var displayValue = style.getPropertyValue(\"display\");\n return zeroSize ? displayValue !== DISPLAY_CONTENTS && isNotOverflowing(element, style) : displayValue === DISPLAY_NONE;\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","import JSONRequest from '../jsonrequest';\nexport default class AccountInformation extends JSONRequest {\n constructor(c, intDecoding, account) {\n super(c, intDecoding);\n this.account = account;\n this.account = account;\n }\n path() {\n return `/v2/accounts/${this.account}`;\n }\n /**\n * Exclude assets and application data from results\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await algodClient.accountInformation(address)\n * .exclude('all')\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n exclude(exclude) {\n this.query.exclude = exclude;\n return this;\n }\n}\n//# sourceMappingURL=accountInformation.js.map","import JSONRequest from '../jsonrequest';\nexport default class AccountAssetInformation extends JSONRequest {\n constructor(c, intDecoding, account, assetID) {\n super(c, intDecoding);\n this.account = account;\n this.assetID = assetID;\n this.account = account;\n this.assetID = assetID;\n }\n path() {\n return `/v2/accounts/${this.account}/assets/${this.assetID}`;\n }\n}\n//# sourceMappingURL=accountAssetInformation.js.map","import JSONRequest from '../jsonrequest';\nexport default class AccountApplicationInformation extends JSONRequest {\n constructor(c, intDecoding, account, applicationID) {\n super(c, intDecoding);\n this.account = account;\n this.applicationID = applicationID;\n this.account = account;\n this.applicationID = applicationID;\n }\n path() {\n return `/v2/accounts/${this.account}/applications/${this.applicationID}`;\n }\n}\n//# sourceMappingURL=accountApplicationInformation.js.map","import * as encoding from '../../../encoding/encoding';\nimport JSONRequest from '../jsonrequest';\n/**\n * block gets the block info for the given round. this call may block\n */\nexport default class Block extends JSONRequest {\n constructor(c, roundNumber) {\n super(c);\n if (!Number.isInteger(roundNumber))\n throw Error('roundNumber should be an integer');\n this.round = roundNumber;\n this.query = { format: 'msgpack' };\n }\n path() {\n return `/v2/blocks/${this.round}`;\n }\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n if (body && body.byteLength > 0) {\n return encoding.decode(body);\n }\n return undefined;\n }\n}\n//# sourceMappingURL=block.js.map","import JSONRequest from '../jsonrequest';\nexport default class Genesis extends JSONRequest {\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/genesis';\n }\n}\n//# sourceMappingURL=genesis.js.map","import JSONRequest from '../jsonrequest';\nexport default class GetAssetByID extends JSONRequest {\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n }\n path() {\n return `/v2/assets/${this.index}`;\n }\n}\n//# sourceMappingURL=getAssetByID.js.map","import JSONRequest from '../jsonrequest';\nexport default class GetApplicationByID extends JSONRequest {\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n }\n path() {\n return `/v2/applications/${this.index}`;\n }\n}\n//# sourceMappingURL=getApplicationByID.js.map","import JSONRequest from '../jsonrequest';\nexport default class GetBlockHash extends JSONRequest {\n constructor(c, intDecoding, roundNumber) {\n super(c, intDecoding);\n if (!Number.isInteger(roundNumber))\n throw Error('roundNumber should be an integer');\n this.round = roundNumber;\n }\n path() {\n return `/v2/blocks/${this.round}/hash`;\n }\n}\n//# sourceMappingURL=getBlockHash.js.map","import JSONRequest from '../jsonrequest';\nimport { BoxesResponse } from './models/types';\n/**\n * Given an application ID, return all the box names associated with the app.\n *\n * #### Example\n * ```typescript\n * const index = 60553466;\n * const boxesResponse = await algodClient.getApplicationBoxes(index).max(3).do();\n * const boxNames = boxesResponse.boxes.map(box => box.name);\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idboxes)\n * @param index - The application ID to look up.\n * @category GET\n */\nexport default class GetApplicationBoxes extends JSONRequest {\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n this.query.max = 0;\n }\n /**\n * @returns `/v2/applications/${index}/boxes`\n */\n path() {\n return `/v2/applications/${this.index}/boxes`;\n }\n /**\n * Limit results for pagination.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const boxesResult = await algodClient\n * .GetApplicationBoxes(1234)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n max(max) {\n this.query.max = max;\n return this;\n }\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n return BoxesResponse.from_obj_for_encoding(body);\n }\n}\n//# sourceMappingURL=getApplicationBoxes.js.map","import JSONRequest from '../jsonrequest';\n/**\n * healthCheck returns an empty object iff the node is running\n */\nexport default class HealthCheck extends JSONRequest {\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/health';\n }\n async do(headers = {}) {\n const res = await this.c.get(this.path(), {}, headers);\n if (!res.ok) {\n throw new Error(`Health response: ${res.status}`);\n }\n return {};\n }\n}\n//# sourceMappingURL=healthCheck.js.map","import JSONRequest from '../jsonrequest';\nimport * as encoding from '../../../encoding/encoding';\n/**\n * returns the transaction information for a specific txid of a pending transaction\n */\nexport default class PendingTransactionInformation extends JSONRequest {\n constructor(c, txid) {\n super(c);\n this.txid = txid;\n this.txid = txid;\n this.query.format = 'msgpack';\n }\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n if (body && body.byteLength > 0) {\n return encoding.decode(body);\n }\n return undefined;\n }\n path() {\n return `/v2/transactions/pending/${this.txid}`;\n }\n // max sets the maximum number of txs to return\n max(max) {\n this.query.max = max;\n return this;\n }\n}\n//# sourceMappingURL=pendingTransactionInformation.js.map","import JSONRequest from '../jsonrequest';\nimport * as encoding from '../../../encoding/encoding';\n/**\n * pendingTransactionsInformation returns transactions that are pending in the pool\n */\nexport default class PendingTransactions extends JSONRequest {\n constructor(c) {\n super(c);\n this.query.format = 'msgpack';\n }\n /* eslint-disable class-methods-use-this */\n path() {\n return '/v2/transactions/pending';\n }\n prepare(body) {\n if (body && body.byteLength > 0) {\n return encoding.decode(body);\n }\n return undefined;\n }\n /* eslint-enable class-methods-use-this */\n // max sets the maximum number of txs to return\n max(max) {\n this.query.max = max;\n return this;\n }\n}\n//# sourceMappingURL=pendingTransactions.js.map","import JSONRequest from '../jsonrequest';\nimport * as encoding from '../../../encoding/encoding';\n/**\n * returns all transactions for a PK [addr] in the [first, last] rounds range.\n */\nexport default class PendingTransactionsByAddress extends JSONRequest {\n constructor(c, address) {\n super(c);\n this.address = address;\n this.address = address;\n this.query.format = 'msgpack';\n }\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n if (body && body.byteLength > 0) {\n return encoding.decode(body);\n }\n return undefined;\n }\n path() {\n return `/v2/accounts/${this.address}/transactions/pending`;\n }\n // max sets the maximum number of txs to return\n max(max) {\n this.query.max = max;\n return this;\n }\n}\n//# sourceMappingURL=pendingTransactionsByAddress.js.map","import JSONRequest from '../jsonrequest';\nexport default class GetTransactionProof extends JSONRequest {\n constructor(c, intDecoding, round, txID) {\n super(c, intDecoding);\n this.round = round;\n this.txID = txID;\n this.round = round;\n this.txID = txID;\n }\n path() {\n return `/v2/blocks/${this.round}/transactions/${this.txID}/proof`;\n }\n /**\n * Exclude assets and application data from results\n * The type of hash function used to create the proof, must be one of: \"sha512_256\", \"sha256\"\n *\n * #### Example\n * ```typescript\n * const hashType = \"sha256\";\n * const round = 123456;\n * const txId = \"abc123;\n * const txProof = await algodClient.getTransactionProof(round, txId)\n * .hashType(hashType)\n * .do();\n * ```\n *\n * @param hashType\n * @category query\n */\n hashType(hashType) {\n this.query.hashtype = hashType;\n return this;\n }\n}\n//# sourceMappingURL=getTransactionProof.js.map","import JSONRequest from '../jsonrequest';\nexport default class Status extends JSONRequest {\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/status';\n }\n}\n//# sourceMappingURL=status.js.map","import JSONRequest from '../jsonrequest';\nexport default class StatusAfterBlock extends JSONRequest {\n constructor(c, intDecoding, round) {\n super(c, intDecoding);\n this.round = round;\n if (!Number.isInteger(round))\n throw Error('round should be an integer');\n this.round = round;\n }\n path() {\n return `/v2/status/wait-for-block-after/${this.round}`;\n }\n}\n//# sourceMappingURL=statusAfterBlock.js.map","import JSONRequest from '../jsonrequest';\n/**\n * Returns the common needed parameters for a new transaction, in a format the transaction builder expects\n */\nexport default class SuggestedParamsRequest extends JSONRequest {\n /* eslint-disable class-methods-use-this */\n path() {\n return '/v2/transactions/params';\n }\n prepare(body) {\n return {\n flatFee: false,\n fee: body.fee,\n firstRound: body['last-round'],\n lastRound: body['last-round'] + 1000,\n genesisID: body['genesis-id'],\n genesisHash: body['genesis-hash'],\n };\n }\n}\n//# sourceMappingURL=suggestedParams.js.map","import JSONRequest from '../jsonrequest';\nexport default class Supply extends JSONRequest {\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/ledger/supply';\n }\n}\n//# sourceMappingURL=supply.js.map","import JSONRequest from '../jsonrequest';\n/**\n * retrieves the VersionResponse from the running node\n */\nexport default class Versions extends JSONRequest {\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/versions';\n }\n}\n//# sourceMappingURL=versions.js.map","import JSONRequest from '../jsonrequest';\nexport default class LightBlockHeaderProof extends JSONRequest {\n constructor(c, intDecoding, round) {\n super(c, intDecoding);\n this.round = round;\n this.round = round;\n }\n path() {\n return `/v2/blocks/${this.round}/lightheader/proof`;\n }\n}\n//# sourceMappingURL=lightBlockHeaderProof.js.map","import JSONRequest from '../jsonrequest';\nexport default class StateProof extends JSONRequest {\n constructor(c, intDecoding, round) {\n super(c, intDecoding);\n this.round = round;\n this.round = round;\n }\n path() {\n return `/v2/stateproofs/${this.round}`;\n }\n}\n//# sourceMappingURL=stateproof.js.map","import ServiceClient from '../serviceClient';\nimport AccountInformation from './accountInformation';\nimport AccountAssetInformation from './accountAssetInformation';\nimport AccountApplicationInformation from './accountApplicationInformation';\nimport Block from './block';\nimport Compile from './compile';\nimport Dryrun from './dryrun';\nimport Genesis from './genesis';\nimport GetAssetByID from './getAssetByID';\nimport GetApplicationByID from './getApplicationByID';\nimport GetBlockHash from './getBlockHash';\nimport GetApplicationBoxByName from './getApplicationBoxByName';\nimport GetApplicationBoxes from './getApplicationBoxes';\nimport HealthCheck from './healthCheck';\nimport PendingTransactionInformation from './pendingTransactionInformation';\nimport PendingTransactions from './pendingTransactions';\nimport PendingTransactionsByAddress from './pendingTransactionsByAddress';\nimport GetTransactionProof from './getTransactionProof';\nimport SendRawTransaction from './sendRawTransaction';\nimport Status from './status';\nimport StatusAfterBlock from './statusAfterBlock';\nimport SuggestedParams from './suggestedParams';\nimport Supply from './supply';\nimport Versions from './versions';\nimport LightBlockHeaderProof from './lightBlockHeaderProof';\nimport StateProof from './stateproof';\n/**\n * Algod client connects an application to the Algorand blockchain. The algod client requires a valid algod REST endpoint IP address and algod token from an Algorand node that is connected to the network you plan to interact with.\n *\n * Algod is the main Algorand process for handling the blockchain. Messages between nodes are processed, the protocol steps are executed, and the blocks are written to disk. The algod process also exposes a REST API server that developers can use to communicate with the node and the network. Algod uses the data directory for storage and configuration information.\n *\n * #### Relevant Information\n * [How do I obtain an algod address and token?](https://developer.algorand.org/docs/archive/build-apps/setup/?from_query=algod#how-do-i-obtain-an-algod-address-and-token)\n *\n * [Run Algod in Postman OAS3](https://developer.algorand.org/docs/rest-apis/restendpoints/?from_query=algod#algod-indexer-and-kmd-rest-endpoints)\n */\nexport default class AlgodClient extends ServiceClient {\n /**\n * Create an AlgodClient from\n * * either a token, baseServer, port, and optional headers\n * * or a base client server for interoperability with external dApp wallets\n *\n * #### Example\n * ```typescript\n * const token = \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\";\n * const server = \"http://localhost\";\n * const port = 4001;\n * const algodClient = new algosdk.Algodv2(token, server, port);\n * ```\n * @remarks\n * The above configuration is for a sandbox private network.\n * For applications on production, you are encouraged to run your own node, or use an Algorand REST API provider with a dedicated API key.\n *\n * @param tokenOrBaseClient - The algod token from the Algorand node you are interacting with\n * @param baseServer - REST endpoint\n * @param port - Port number if specifically configured by the server\n * @param headers - Optional headers\n */\n constructor(tokenOrBaseClient, baseServer = 'http://r2.algorand.network', port = 4180, headers = {}) {\n super('X-Algo-API-Token', tokenOrBaseClient, baseServer, port, headers);\n }\n /**\n * Returns OK if healthy.\n *\n * #### Example\n * ```typescript\n * const health = await algodClient.healthCheck().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-health)\n * @category GET\n */\n healthCheck() {\n return new HealthCheck(this.c);\n }\n /**\n * Retrieves the supported API versions, binary build versions, and genesis information.\n *\n * #### Example\n * ```typescript\n * const versionsDetails = await algodClient.versionsCheck().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-versions)\n * @category GET\n */\n versionsCheck() {\n return new Versions(this.c);\n }\n /**\n * Broadcasts a raw transaction to the network.\n *\n * #### Example\n * ```typescript\n * const { txId } = await algodClient.sendRawTransaction(signedTxns).do();\n * const result = await waitForConfirmation(algodClient, txid, 3);\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2transactions)\n *\n * @remarks\n * Often used with {@linkcode waitForConfirmation}\n * @param stxOrStxs - Signed transactions\n * @category POST\n */\n sendRawTransaction(stxOrStxs) {\n return new SendRawTransaction(this.c, stxOrStxs);\n }\n /**\n * Returns the given account's status, balance and spendable amounts.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await algodClient.accountInformation(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddress)\n * @param account - The address of the account to look up.\n * @category GET\n */\n accountInformation(account) {\n return new AccountInformation(this.c, this.intDecoding, account);\n }\n /**\n * Returns the given account's asset information for a specific asset.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const index = 60553466;\n * const accountAssetInfo = await algodClient.accountAssetInformation(address, index).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddress)\n * @param account - The address of the account to look up.\n * @param index - The asset ID to look up.\n * @category GET\n */\n accountAssetInformation(account, index) {\n return new AccountAssetInformation(this.c, this.intDecoding, account, index);\n }\n /**\n * Returns the given account's application information for a specific application.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const index = 60553466;\n * const accountInfo = await algodClient.accountApplicationInformation(address, index).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddress)\n * @param account - The address of the account to look up.\n * @param index - The application ID to look up.\n * @category GET\n */\n accountApplicationInformation(account, index) {\n return new AccountApplicationInformation(this.c, this.intDecoding, account, index);\n }\n /**\n * Gets the block info for the given round.\n *\n * #### Example\n * ```typescript\n * const roundNumber = 18038133;\n * const block = await algodClient.block(roundNumber).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksround)\n * @param roundNumber - The round number of the block to get.\n * @category GET\n */\n block(roundNumber) {\n return new Block(this.c, roundNumber);\n }\n /**\n * Get the block hash for the block on the given round.\n *\n * #### Example\n * ```typescript\n * const roundNumber = 18038133;\n * const block = await algodClient.getBlockHash(roundNumber).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksroundhash)\n * @param roundNumber - The round number of the block to get.\n * @category GET\n */\n getBlockHash(roundNumber) {\n return new GetBlockHash(this.c, this.intDecoding, roundNumber);\n }\n /**\n * Returns the transaction information for a specific pending transaction.\n *\n * #### Example\n * ```typescript\n * const txId = \"DRJS6R745A7GFVMXEXWP4TGVDGKW7VILFTA7HC2BR2GRLHNY5CTA\";\n * const pending = await algodClient.pendingTransactionInformation(txId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionspendingtxid)\n *\n * @remarks\n *

\n * There are several cases when this might succeed:\n * - transaction committed (committed round > 0)\n * - transaction still in the pool (committed round = 0, pool error = \"\")\n * - transaction removed from pool due to error (committed round = 0, pool error != \"\")\n *\n * Or the transaction may have happened sufficiently long ago that the node no longer remembers it, and this will return an error.\n *\n * @param txid - The TxID string of the pending transaction to look up.\n * @category GET\n */\n pendingTransactionInformation(txid) {\n return new PendingTransactionInformation(this.c, txid);\n }\n /**\n * Returns the list of pending transactions in the pool, sorted by priority, in decreasing order, truncated at the end at MAX.\n * If MAX = 0, returns all pending transactions.\n *\n * #### Example 1\n * ```typescript\n * const pendingTxns = await algodClient.pendingTransactionsInformation().do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const maxTxns = 5;\n * const pendingTxns = await algodClient\n * .pendingTransactionsInformation()\n * .max(maxTxns)\n * .do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionspending)\n * @category GET\n */\n pendingTransactionsInformation() {\n return new PendingTransactions(this.c);\n }\n /**\n * Returns the list of pending transactions sent by the address, sorted by priority, in decreasing order, truncated at the end at MAX.\n * If MAX = 0, returns all pending transactions.\n *\n * #### Example 1\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const pendingTxnsByAddr = await algodClient.pendingTransactionByAddress(address).do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const maxTxns = 5;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const pendingTxns = await algodClient\n * .pendingTransactionByAddress(address)\n * .max(maxTxns)\n * .do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2accountsaddresstransactionspending)\n * @param address - The address of the sender.\n * @category GET\n */\n pendingTransactionByAddress(address) {\n return new PendingTransactionsByAddress(this.c, address);\n }\n /**\n * Retrieves the StatusResponse from the running node.\n *\n * #### Example\n * ```typescript\n * const status = await algodClient.status().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2status)\n * @category GET\n */\n status() {\n return new Status(this.c, this.intDecoding);\n }\n /**\n * Waits for a specific round to occur then returns the `StatusResponse` for that round.\n *\n * #### Example\n * ```typescript\n * const round = 18038133;\n * const statusAfterBlock = await algodClient.statusAfterBlock(round).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2statuswait-for-block-afterround)\n * @param round - The number of the round to wait for.\n * @category GET\n */\n statusAfterBlock(round) {\n return new StatusAfterBlock(this.c, this.intDecoding, round);\n }\n /**\n * Returns the common needed parameters for a new transaction.\n *\n * #### Example\n * ```typescript\n * const suggestedParams = await algodClient.getTransactionParams().do();\n * const amountInMicroAlgos = algosdk.algosToMicroalgos(2); // 2 Algos\n * const unsignedTxn = algosdk.makePaymentTxnWithSuggestedParamsFromObject({\n * from: senderAddress,\n * to: receiverAddress,\n * amount: amountInMicroAlgos,\n * suggestedParams: suggestedParams,\n * });\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2transactionsparams)\n *\n * @remarks\n * Often used with\n * {@linkcode makePaymentTxnWithSuggestedParamsFromObject}, {@linkcode algosToMicroalgos}\n * @category GET\n */\n getTransactionParams() {\n return new SuggestedParams(this.c);\n }\n /**\n * Returns the supply details for the specified node's ledger.\n *\n * #### Example\n * ```typescript\n * const supplyDetails = await algodClient.supply().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2ledgersupply)\n * @category GET\n */\n supply() {\n return new Supply(this.c, this.intDecoding);\n }\n /**\n * Compiles TEAL source code to binary, returns base64 encoded program bytes and base32 SHA512_256 hash of program bytes (Address style).\n *\n * #### Example\n * ```typescript\n * const source = \"TEAL SOURCE CODE\";\n * const compiledSmartContract = await algodClient.compile(source).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealcompile)\n * @remarks\n * This endpoint is only enabled when a node's configuration file sets `EnableDeveloperAPI` to true.\n * @param source\n * @category POST\n */\n compile(source) {\n return new Compile(this.c, source);\n }\n /**\n * Provides debugging information for a transaction (or group).\n *\n * Executes TEAL program(s) in context and returns debugging information about the execution. This endpoint is only enabled when a node's configureation file sets `EnableDeveloperAPI` to true.\n *\n * #### Example\n * ```typescript\n * const dryRunResult = await algodClient.dryrun(dr).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2tealdryrun)\n * @param dr\n * @category POST\n */\n dryrun(dr) {\n return new Dryrun(this.c, dr);\n }\n /**\n * Given an asset ID, return asset information including creator, name, total supply and\n * special addresses.\n *\n * #### Example\n * ```typescript\n * const asset_id = 163650;\n * const asset = await algodClient.getAssetByID(asset_id).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2assetsasset-id)\n * @param index - The asset ID to look up.\n * @category GET\n */\n getAssetByID(index) {\n return new GetAssetByID(this.c, this.intDecoding, index);\n }\n /**\n * Given an application ID, return the application information including creator, approval\n * and clear programs, global and local schemas, and global state.\n *\n * #### Example\n * ```typescript\n * const index = 60553466;\n * const app = await algodClient.getApplicationByID(index).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-id)\n * @param index - The application ID to look up.\n * @category GET\n */\n getApplicationByID(index) {\n return new GetApplicationByID(this.c, this.intDecoding, index);\n }\n /**\n * Given an application ID and the box name (key), return the value stored in the box.\n *\n * #### Example\n * ```typescript\n * const index = 60553466;\n * const boxName = Buffer.from(\"foo\");\n * const boxResponse = await algodClient.getApplicationBoxByName(index, boxName).do();\n * const boxValue = boxResponse.value;\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idbox)\n * @param index - The application ID to look up.\n * @category GET\n */\n getApplicationBoxByName(index, boxName) {\n return new GetApplicationBoxByName(this.c, this.intDecoding, index, boxName);\n }\n /**\n * Given an application ID, return all the box names associated with the app.\n *\n * #### Example\n * ```typescript\n * const index = 60553466;\n * const boxesResponse = await algodClient.getApplicationBoxes(index).max(3).do();\n * const boxNames = boxesResponse.boxes.map(box => box.name);\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idboxes)\n * @param index - The application ID to look up.\n * @category GET\n */\n getApplicationBoxes(index) {\n return new GetApplicationBoxes(this.c, this.intDecoding, index);\n }\n /**\n * Returns the entire genesis file.\n *\n * #### Example\n * ```typescript\n * const genesis = await algodClient.genesis().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-genesis)\n * @category GET\n */\n genesis() {\n return new Genesis(this.c, this.intDecoding);\n }\n /**\n * Returns a Merkle proof for a given transaction in a block.\n *\n * #### Example\n * ```typescript\n * const round = 18038133;\n * const txId = \"MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA\";\n * const proof = await algodClient.getTransactionProof(round, txId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksroundtransactionstxidproof)\n * @param round - The round in which the transaction appears.\n * @param txID - The transaction ID for which to generate a proof.\n * @category GET\n */\n getTransactionProof(round, txID) {\n return new GetTransactionProof(this.c, this.intDecoding, round, txID);\n }\n /**\n * Gets a proof for a given light block header inside a state proof commitment.\n *\n * #### Example\n * ```typescript\n * const round = 11111111;\n * const lightBlockHeaderProof = await algodClient.getLightBlockHeaderProof(round).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2#get-v2blocksroundlightheaderproof)\n * @param round\n */\n getLightBlockHeaderProof(round) {\n return new LightBlockHeaderProof(this.c, this.intDecoding, round);\n }\n /**\n * Gets a state proof that covers a given round.\n *\n * #### Example\n * ```typescript\n * const round = 11111111;\n * const stateProof = await algodClient.getStateProof(round).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2#get-v2stateproofsround)\n * @param round\n */\n getStateProof(round) {\n return new StateProof(this.c, this.intDecoding, round);\n }\n}\n//# sourceMappingURL=algod.js.map","import JSONRequest from '../jsonrequest';\n/**\n * Returns the health object for the service.\n * Returns 200 if healthy.\n *\n * #### Example\n * ```typescript\n * const health = await indexerClient.makeHealthCheck().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-health)\n * @category GET\n */\nexport default class MakeHealthCheck extends JSONRequest {\n /**\n * @returns `/health`\n */\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/health';\n }\n}\n//# sourceMappingURL=makeHealthCheck.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupAssetBalances extends JSONRequest {\n /**\n * Returns the list of accounts which hold the given asset and their balance.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetBalances = await indexerClient.lookupAssetBalances(assetId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idbalances)\n * @param index - The asset ID to look up.\n */\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n }\n /**\n * @returns `/v2/assets/${index}/balances`\n */\n path() {\n return `/v2/assets/${this.index}/balances`;\n }\n /**\n * Limit results for pagination.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const maxResults = 20;\n * const assetBalances = await indexerClient\n * .lookupAssetBalances(assetId)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Filtered results should have an asset balance greater than this value.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const minBalance = 1000000;\n * const assetBalances = await indexerClient\n * .lookupAssetBalances(assetId)\n * .currencyGreaterThan(minBalance)\n * .do();\n * ```\n * @param greater\n * @category query\n */\n currencyGreaterThan(greater) {\n this.query['currency-greater-than'] = greater;\n return this;\n }\n /**\n * Filtered results should have an asset balance less than this value.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const maxBalance = 2000000;\n * const assetBalances = await indexerClient\n * .lookupAssetBalances(assetId)\n * .currencyLessThan(maxBalance)\n * .do();\n * ```\n * @param lesser\n * @category query\n */\n currencyLessThan(lesser) {\n this.query['currency-less-than'] = lesser;\n return this;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const maxResults = 20;\n *\n * const assetBalancesPage1 = await indexerClient\n * .lookupAssetBalances(assetId)\n * .limit(maxResults)\n * .do();\n *\n * const assetBalancesPage2 = await indexerClient\n * .lookupAssetBalances(assetId)\n * .limit(maxResults)\n * .nextToken(assetBalancesPage1[\"next-token\"])\n * .do();\n * ```\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.\n *\n * #### Example 1\n * ```typescript\n * const assetId = 163650;\n * const assetBalances = await indexerClient\n * .lookupAssetBalances(assetId)\n * .includeAll(false)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetId = 163650;\n * const assetBalances = await indexerClient\n * .lookupAssetBalances(assetId)\n * .includeAll()\n * .do();\n * ```\n *\n * @param value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n}\n//# sourceMappingURL=lookupAssetBalances.js.map","import JSONRequest from '../jsonrequest';\nimport { base64StringFunnel } from './lookupAccountTransactions';\nexport default class LookupAssetTransactions extends JSONRequest {\n /**\n * Returns transactions relating to the given asset.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetTxns = await indexerClient.lookupAssetTransactions(assetId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idtransactions)\n * @param index - The asset ID to look up.\n */\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n }\n /**\n * @returns `/v2/assets/${index}/transactions`\n */\n path() {\n return `/v2/assets/${this.index}/transactions`;\n }\n /**\n * Specifies a prefix which must be contained in the note field.\n *\n * #### Example\n * ```typescript\n * const notePrefixBase64Encoded = \"Y3JlYXRl\";\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .notePrefix(notePrefixBase64Encoded)\n * .do();\n * ```\n *\n * @param prefix - base64 string or uint8array\n * @category query\n */\n notePrefix(prefix) {\n this.query['note-prefix'] = base64StringFunnel(prefix);\n return this;\n }\n /**\n * Type of transaction to filter with.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .txType(\"axfer\")\n * .do();\n * ```\n *\n * @param type - one of `pay`, `keyreg`, `acfg`, `axfer`, `afrz`, `appl`\n * @category query\n */\n txType(type) {\n this.query['tx-type'] = type;\n return this;\n }\n /**\n * Type of signature to filter with.\n * - sig: Standard\n * - msig: MultiSig\n * - lsig: LogicSig\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .sigType(\"lsig\")\n * .do();\n * ```\n *\n * @param type - one of `sig`, `msig`, `lsig`\n * @category query\n */\n sigType(type) {\n this.query['sig-type'] = type;\n return this;\n }\n /**\n * Lookup the specific transaction by ID.\n *\n * #### Example\n * ```typescript\n * const txId = \"MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA\";\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .txid(txId)\n * .do();\n * ```\n *\n * @param txid\n * @category query\n */\n txid(txid) {\n this.query.txid = txid;\n return this;\n }\n /**\n * Include results for the specified round.\n *\n * #### Example\n * ```typescript\n * const targetBlock = 18309917;\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .round(targetBlock)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Include results at or after the specified min-round.\n *\n * #### Example\n * ```typescript\n * const minRound = 18309917;\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .minRound(minRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n minRound(round) {\n this.query['min-round'] = round;\n return this;\n }\n /**\n * Include results at or before the specified max-round.\n *\n * #### Example\n * ```typescript\n * const maxRound = 18309917;\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .maxRound(maxRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n maxRound(round) {\n this.query['max-round'] = round;\n return this;\n }\n /**\n * @deprecated Redundant query parameter. Asset ID is already passed into the method.\n */\n assetID(id) {\n this.query['asset-id'] = id;\n return this;\n }\n /**\n * Maximum number of results to return.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Include results before the given time.\n *\n * #### Example\n * ```typescript\n * const beforeTime = \"2022-02-02T20:20:22.02Z\";\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .beforeTime(beforeTime)\n * .do();\n * ```\n *\n * @param before - rfc3339 string\n * @category query\n */\n beforeTime(before) {\n this.query['before-time'] = before;\n return this;\n }\n /**\n * Include results after the given time.\n *\n * #### Example\n * ```typescript\n * const afterTime = \"2022-10-21T00:00:11.55Z\";\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .afterTime(afterTime)\n * .do();\n * ```\n *\n * @param after - rfc3339 string\n * @category query\n */\n afterTime(after) {\n this.query['after-time'] = after;\n return this;\n }\n /**\n * Filtered results should have an amount greater than this value, as int, representing asset units.\n *\n * #### Example\n * ```typescript\n * const minBalance = 300000;\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .currencyGreaterThan(minBalance - 1)\n * .do();\n * ```\n *\n * @remarks\n * If you are looking for transactions with the currency amount greater than 0, simply construct the query without `currencyGreaterThan` because it doesn't accept `-1`, and passing the `0` `currency-greater-than` value would exclude transactions with a 0 amount.\n *\n * @param greater\n * @category query\n */\n currencyGreaterThan(greater) {\n this.query['currency-greater-than'] = greater;\n return this;\n }\n /**\n * Filtered results should have an amount less than this value, as int, representing asset units.\n *\n * #### Example\n * ```typescript\n * const maxBalance = 500000;\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .currencyLessThan(maxBalance + 1)\n * .do();\n * ```\n *\n * @param lesser\n * @category query\n */\n currencyLessThan(lesser) {\n this.query['currency-less-than'] = lesser;\n return this;\n }\n /**\n * Combined with address, defines what address to filter on, as string.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const role = \"sender\";\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .address(address)\n * .addressRole(role)\n * .do();\n * ```\n *\n * @param role - one of `sender`, `receiver`, `freeze-target`\n * @category query\n */\n addressRole(role) {\n this.query['address-role'] = role;\n return this;\n }\n /**\n * Only include transactions with this address in one of the transaction fields.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .address(address)\n * .do();\n * ```\n *\n * @param address\n * @category query\n */\n address(address) {\n this.query.address = address;\n return this;\n }\n /**\n * Whether or not to consider the `close-to` field as a receiver when filtering transactions, as bool. Set to `true` to ignore `close-to`.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .excludeCloseTo(true)\n * .do();\n * ```\n *\n * @param exclude\n * @category query\n */\n excludeCloseTo(exclude) {\n this.query['exclude-close-to'] = exclude;\n return this;\n }\n /**\n * The next page of results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n * const assetId = 163650;\n *\n * const assetTxnsPage1 = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .limit(maxResults)\n * .do();\n *\n * const assetTxnsPage2 = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .limit(maxResults)\n * .nextToken(assetTxnsPage1[\"next-token\"])\n * .do();\n * ```\n *\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Whether or not to include rekeying transactions.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetTxns = await indexerClient\n * .lookupAssetTransactions(assetId)\n * .rekeyTo(false)\n * .do();\n * ```\n *\n * @param rekeyTo\n * @category query\n */\n rekeyTo(rekeyTo) {\n this.query['rekey-to'] = rekeyTo;\n return this;\n }\n}\n//# sourceMappingURL=lookupAssetTransactions.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupBlock extends JSONRequest {\n /**\n * Returns the block for the passed round.\n *\n * #### Example\n * ```typescript\n * const targetBlock = 18309917;\n * const blockInfo = await indexerClient.lookupBlock(targetBlock).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2blocksround-number)\n * @param round - The number of the round to look up.\n * @category GET\n */\n constructor(c, intDecoding, round) {\n super(c, intDecoding);\n this.round = round;\n this.round = round;\n }\n /**\n * @returns `/v2/blocks/${round}`\n */\n path() {\n return `/v2/blocks/${this.round}`;\n }\n /**\n * Header only flag. When this is set to true, returned block does not contain the\n * transactions.\n */\n headerOnly(headerOnly) {\n this.query['header-only'] = headerOnly;\n return this;\n }\n}\n//# sourceMappingURL=lookupBlock.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupTransactionByID extends JSONRequest {\n /**\n * Returns information about the given transaction.\n *\n * #### Example\n * ```typescript\n * const txnId = \"MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA\";\n * const txnInfo = await indexerClient.lookupTransactionByID(txnId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactionstxid)\n * @param txID - The ID of the transaction to look up.\n * @category GET\n */\n constructor(c, intDecoding, txID) {\n super(c, intDecoding);\n this.txID = txID;\n this.txID = txID;\n }\n /**\n * @returns `/v2/transactions/${txID}`\n */\n path() {\n return `/v2/transactions/${this.txID}`;\n }\n}\n//# sourceMappingURL=lookupTransactionByID.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupAccountByID extends JSONRequest {\n /**\n * Returns information about the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await indexerClient.lookupAccountByID(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-id)\n * @param account - The address of the account to look up.\n * @category GET\n */\n constructor(c, intDecoding, account) {\n super(c, intDecoding);\n this.account = account;\n this.account = account;\n }\n /**\n * @returns `/v2/accounts/${account}`\n */\n path() {\n return `/v2/accounts/${this.account}`;\n }\n /**\n * Specify round to filter with.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const targetBlock = 18309917;\n * const accountInfo = await indexerClient\n * .lookupAccountByID(address)\n * .round(targetBlock)\n * .do();\n * ```\n * @param round\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.\n *\n * #### Example 1\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await indexerClient\n * .lookupAccountByID(address)\n * .includeAll(false)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await indexerClient\n * .lookupAccountByID(address)\n * .includeAll()\n * .do();\n * ```\n * @param value\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n /**\n * Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.\n *\n * #### Example 1\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await indexerClient\n * .lookupAccountByID(address)\n * .exclude(\"all\")\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await indexerClient\n * .lookupAccountByID(address)\n * .exclude(\"assets,created-assets\")\n * .do();\n * ```\n * @remarks By default, it behaves as exclude=none\n * @param exclude - Array of `all`, `assets`, `created-assets`, `apps-local-state`, `created-apps`, `none`\n * @category query\n */\n exclude(exclude) {\n this.query.exclude = exclude;\n return this;\n }\n}\n//# sourceMappingURL=lookupAccountByID.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupAccountAssets extends JSONRequest {\n /**\n * Returns asset about the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAssets = await indexerClient.lookupAccountAssets(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idassets)\n * @param account - The address of the account to look up.\n * @category GET\n */\n constructor(c, intDecoding, account) {\n super(c, intDecoding);\n this.account = account;\n this.account = account;\n }\n /**\n * @returns `/v2/accounts/${account}/assets`\n */\n path() {\n return `/v2/accounts/${this.account}/assets`;\n }\n /**\n * Add a limit for filter.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n * const accountAssets = await indexerClient\n * .lookupAccountAssets(address)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Specify round to filter with.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const targetBlock = 18309917;\n * const accountAssets = await indexerClient\n * .lookupAccountAssets(address)\n * .round(targetBlock)\n * .do();\n * ```\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n *\n * const accountAssetsPage1 = await indexerClient\n * .lookupAccountAssets(address)\n * .limit(maxResults)\n * .do();\n *\n * const accountAssetsPage2 = await indexerClient\n * .lookupAccountAssets(address)\n * .limit(maxResults)\n * .next(accountAssetsPage1[\"next-token\"])\n * .do();\n * ```\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAssets = await indexerClient\n * .lookupAccountAssets(address)\n * .includeAll(false)\n * .do();\n * ```\n * @param value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n /**\n * Specify an assetID to search for.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const assetAssets = await indexerClient\n * .lookupAccountAssets(address)\n * .assetId(assetId)\n * .do();\n * ```\n * @param index - the assetID\n * @category query\n */\n assetId(index) {\n this.query['asset-id'] = index;\n return this;\n }\n}\n//# sourceMappingURL=lookupAccountAssets.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupAccountCreatedAssets extends JSONRequest {\n /**\n * Returns asset information created by the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountCreatedAssets = await indexerClient.lookupAccountCreatedAssets(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idcreated-assets)\n * @param account - The address of the account to look up.\n * @category GET\n */\n constructor(c, intDecoding, account) {\n super(c, intDecoding);\n this.account = account;\n this.account = account;\n }\n /**\n * @returns `/v2/accounts/${account}/created-assets`\n */\n path() {\n return `/v2/accounts/${this.account}/created-assets`;\n }\n /**\n * Add a limit for filter.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n * const accountAssets = await indexerClient\n * .lookupAccountCreatedAssets(address)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Specify round to filter with.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const targetBlock = 18309917;\n * const accountAssets = await indexerClient\n * .lookupAccountCreatedAssets(address)\n * .round(targetBlock)\n * .do();\n * ```\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n *\n * const accountAssetsPage1 = await indexerClient\n * .lookupAccountCreatedAssets(address)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * const accountAssetsPage2 = await indexerClient\n * .lookupAccountCreatedAssets(address)\n * .limit(maxResults)\n * .next(accountAssetsPage1[\"next-token\"])\n * .do();\n * ```\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAssets = await indexerClient\n * .lookupAccountCreatedAssets(address)\n * .includeAll(false)\n * .do();\n * ```\n * @param value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n /**\n * Specify an assetID to search for.\n *\n * #### Example\n * ```typescript\n * const assetID = 163650;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const assetAssets = await indexerClient\n * .lookupAccountCreatedAssets(address)\n * .assetID(assetID)\n * .do();\n * ```\n * @param index - the assetID\n * @category query\n */\n assetID(index) {\n this.query['asset-id'] = index;\n return this;\n }\n}\n//# sourceMappingURL=lookupAccountCreatedAssets.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupAccountAppLocalStates extends JSONRequest {\n /**\n * Returns application local state about the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAppLocalStates = await indexerClient.lookupAccountAppLocalStates(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idapps-local-state)\n * @param account - The address of the account to look up.\n * @category GET\n */\n constructor(c, intDecoding, account) {\n super(c, intDecoding);\n this.account = account;\n this.account = account;\n }\n /**\n * @returns `/v2/accounts/${account}/apps-local-state`\n */\n path() {\n return `/v2/accounts/${this.account}/apps-local-state`;\n }\n /**\n * Add a limit for filter.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n * const accountAssets = await indexerClient\n * .lookupAccountAppLocalStates(address)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Specify round to filter with.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const targetBlock = 18309917;\n * const accountAssets = await indexerClient\n * .lookupAccountAppLocalStates(address)\n * .round(targetBlock)\n * .do();\n * ```\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n *\n * const accountAssetsPage1 = await indexerClient\n * .lookupAccountAppLocalStates(address)\n * .limit(maxResults)\n * .do();\n *\n * const accountAssetsPage2 = await indexerClient\n * .lookupAccountAppLocalStates(address)\n * .limit(maxResults)\n * .next(accountAssetsPage1[\"next-token\"])\n * .do();\n * ```\n * @param nextToken - provided by the previous results.\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAssets = await indexerClient\n * .lookupAccountAppLocalStates(address)\n * .includeAll(false)\n * .do();\n * ```\n * @param value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n /**\n * Specify an applicationID to search for.\n *\n * #### Example\n * ```typescript\n * const applicationID = 163650;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountApplications = await indexerClient\n * .lookupAccountAppLocalStates(address)\n * .applicationID(applicationID)\n * .do();\n * ```\n * @param index - the applicationID\n * @category query\n */\n applicationID(index) {\n this.query['application-id'] = index;\n return this;\n }\n}\n//# sourceMappingURL=lookupAccountAppLocalStates.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupAccountCreatedApplications extends JSONRequest {\n /**\n * Returns application information created by the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountCreatedApps = await indexerClient.lookupAccountCreatedApplications(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idcreated-applications)\n * @param account - The address of the account to look up.\n * @category GET\n */\n constructor(c, intDecoding, account) {\n super(c, intDecoding);\n this.account = account;\n this.account = account;\n }\n /**\n * @returns `/v2/accounts/${account}/created-applications`\n */\n path() {\n return `/v2/accounts/${this.account}/created-applications`;\n }\n /**\n * Add a limit for filter.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n * const accountAssets = await indexerClient\n * .lookupAccountCreatedApplications(address)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Specify round to filter with.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const targetBlock = 18309917;\n * const accountAssets = await indexerClient\n * .lookupAccountCreatedApplications(address)\n * .round(targetBlock)\n * .do();\n * ```\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const maxResults = 20;\n *\n * const accountAssetsPage1 = await indexerClient\n * .lookupAccountCreatedApplications(address)\n * .limit(maxResults)\n * .do();\n *\n * const accountAssetsPage2 = await indexerClient\n * .lookupAccountCreatedApplications(address)\n * .limit(maxResults)\n * .next(accountAssetsPage1[\"next-token\"])\n * .do();\n * ```\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAssets = await indexerClient\n * .lookupAccountCreatedApplications(address)\n * .includeAll(false)\n * .do();\n * ```\n * @param value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n /**\n * Specify an applicationID to search for.\n *\n * #### Example\n * ```typescript\n * const applicationID = 163650;\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountApplications = await indexerClient\n * .lookupAccountAppLocalStates(address)\n * .applicationID(applicationID)\n * .do();\n * ```\n * @param index - the applicationID\n * @category query\n */\n applicationID(index) {\n this.query['application-id'] = index;\n return this;\n }\n}\n//# sourceMappingURL=lookupAccountCreatedApplications.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupAssetByID extends JSONRequest {\n /**\n * Returns asset information of the queried asset.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetInfo = await indexerClient.lookupAssetByID(assetId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-id)\n * @param index - The asset ID to look up.\n */\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n }\n /**\n * @returns `/v2/assets/${index}`\n */\n path() {\n return `/v2/assets/${this.index}`;\n }\n /**\n * Includes all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example 1\n * ```typescript\n * const assetId = 163650;\n * const assetInfo = await indexerClient\n * .lookupAssetByID(assetId)\n * .includeAll(false)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetId = 163650;\n * const assetInfo = await indexerClient\n * .lookupAssetByID(assetId)\n * .includeAll()\n * .do();\n * ```\n *\n * @param value - default true when called without passing a value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n}\n//# sourceMappingURL=lookupAssetByID.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupApplications extends JSONRequest {\n /**\n * Returns information about the passed application.\n *\n * #### Example\n * ```typescript\n * const appId = 60553466;\n * const appInfo = await indexerClient.lookupApplications(appId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-id)\n * @param index - The ID of the application to look up.\n * @category GET\n */\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n }\n /**\n * @returns `/v2/applications/${index}`\n */\n path() {\n return `/v2/applications/${this.index}`;\n }\n /**\n * Includes all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example 1\n * ```typescript\n * const appId = 60553466;\n * const appInfo = await indexerClient\n * .lookupApplications(appId)\n * .includeAll(false)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const appId = 60553466;\n * const appInfo = await indexerClient\n * .lookupApplications(appId)\n * .includeAll()\n * .do();\n * ```\n *\n * @param value - default true when called without passing a value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n}\n//# sourceMappingURL=lookupApplications.js.map","import JSONRequest from '../jsonrequest';\nexport default class LookupApplicationLogs extends JSONRequest {\n /**\n * Returns log messages generated by the passed in application.\n *\n * #### Example\n * ```typescript\n * const appId = 60553466;\n * const appLogs = await indexerClient.lookupApplicationLogs(appId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idlogs)\n * @param appID - The ID of the application which generated the logs.\n * @category GET\n */\n constructor(c, intDecoding, appID) {\n super(c, intDecoding);\n this.appID = appID;\n this.appID = appID;\n }\n /**\n * @returns `/v2/applications/${appID}/logs`\n */\n path() {\n return `/v2/applications/${this.appID}/logs`;\n }\n /**\n * Limit results for pagination.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const appLogs = await indexerClient\n * .lookupApplicationLogs(appId)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Include results at or after the specified min-round.\n *\n * #### Example\n * ```typescript\n * const minRound = 18309917;\n * const appLogs = await indexerClient\n * .lookupApplicationLogs(appId)\n * .minRound(minRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n minRound(round) {\n this.query['min-round'] = round;\n return this;\n }\n /**\n * Include results at or before the specified max-round.\n *\n * #### Example\n * ```typescript\n * const maxRound = 18309917;\n * const appLogs = await indexerClient\n * .lookupApplicationLogs(appId)\n * .maxRound(maxRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n maxRound(round) {\n this.query['max-round'] = round;\n return this;\n }\n /**\n * The next page of results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n *\n * const appLogsPage1 = await indexerClient\n * .lookupApplicationLogs(appId)\n * .limit(maxResults)\n * .do();\n *\n * const appLogsPage2 = await indexerClient\n * .lookupApplicationLogs(appId)\n * .limit(maxResults)\n * .nextToken(appLogsPage1[\"next-token\"])\n * .do();\n * ```\n *\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Only include transactions with this sender address.\n *\n * #### Example\n * ```typescript\n * const sender = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const appLogs = await indexerClient\n * .lookupApplicationLogs(appId)\n * .sender(sender)\n * .do();\n * ```\n *\n * @param senderAddress\n * @category query\n */\n sender(senderAddress) {\n this.query['sender-address'] = senderAddress;\n return this;\n }\n /**\n * Lookup the specific transaction by ID.\n *\n * #### Example\n * ```typescript\n * const txId = \"MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA\";\n * const appLogs = await indexerClient\n * .lookupApplicationLogs(appId)\n * .txid(txId)\n * .do();\n * ```\n *\n * @param txid\n * @category query\n */\n txid(txid) {\n this.query.txid = txid;\n return this;\n }\n}\n//# sourceMappingURL=lookupApplicationLogs.js.map","import JSONRequest from '../jsonrequest';\n/**\n * Returns information about indexed accounts.\n *\n * #### Example\n * ```typescript\n * const accounts = await indexerClient.searchAccounts().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accounts)\n * @category GET\n */\nexport default class SearchAccounts extends JSONRequest {\n /**\n * @returns `/v2/accounts`\n */\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/accounts';\n }\n /**\n * Filtered results should have an amount greater than this value, as int, representing microAlgos, unless an asset-id is provided, in which case units are in the asset's units.\n *\n * #### Example 1\n * ```typescript\n * const minBalance = 300000;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .currencyGreaterThan(minBalance - 1)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetID = 163650;\n * const minBalance = 300000;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .assetID(assetID)\n * .currencyGreaterThan(minBalance - 1)\n * .do();\n * ```\n * @remarks\n * If you are looking for accounts with the currency amount greater than 0, simply construct the query without `currencyGreaterThan` because it doesn't accept `-1`, and passing the `0` `currency-greater-than` value would exclude accounts with a 0 amount.\n *\n * @param greater\n * @category query\n */\n currencyGreaterThan(greater) {\n this.query['currency-greater-than'] = greater;\n return this;\n }\n /**\n * Filtered results should have an amount less than this value, as int, representing microAlgos, unless an asset-id is provided, in which case units are in the asset's units.\n *\n * #### Example 1\n * ```typescript\n * const maxBalance = 500000;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .currencyLessThan(maxBalance + 1)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetID = 163650;\n * const maxBalance = 500000;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .assetID(assetID)\n * .currencyLessThan(maxBalance + 1)\n * .do();\n * ```\n *\n * @param lesser\n * @category query\n */\n currencyLessThan(lesser) {\n this.query['currency-less-than'] = lesser;\n return this;\n }\n /**\n * Maximum number of results to return.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Asset ID to filter with.\n *\n * #### Example\n * ```typescript\n * const assetID = 163650;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .assetID(assetID)\n * .do();\n * ```\n *\n * @param id\n * @category query\n */\n assetID(id) {\n this.query['asset-id'] = id;\n return this;\n }\n /**\n * The next page of results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n *\n * const accountsPage1 = await indexerClient\n * .searchAccounts()\n * .limit(maxResults)\n * .do();\n *\n * const accountsPage2 = await indexerClient\n * .searchAccounts()\n * .limit(maxResults)\n * .nextToken(accountsPage1[\"next-token\"])\n * .do();\n * ```\n *\n * @param nextToken - provided by the previous results\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Include results for the specified round.\n *\n * #### Example\n * ```typescript\n * const targetBlock = 18309917;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .round(targetBlock)\n * .do();\n * ```\n * @remarks For performance reasons, this parameter may be disabled on some configurations.\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Include accounts that use this spending key.\n *\n * #### Example\n * ```typescript\n * const authAddr = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accounts = await indexerClient\n * .searchAccounts()\n * .authAddr(authAddr)\n * .do();\n * ```\n *\n * @param authAddr\n */\n authAddr(authAddr) {\n this.query['auth-addr'] = authAddr;\n return this;\n }\n /**\n * Filter for this application.\n *\n * #### Example\n * ```typescript\n * const appId = 60553466;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .applicationID(appId)\n * .do();\n * ```\n *\n * @param applicationID\n * @category query\n */\n applicationID(applicationID) {\n this.query['application-id'] = applicationID;\n return this;\n }\n /**\n * Includes all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example 1\n * ```typescript\n * const assetId = 163650;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .includeAll(false)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetId = 163650;\n * const accounts = await indexerClient\n * .searchAccounts()\n * .includeAll()\n * .do();\n * ```\n *\n * @param value - default true when called without passing a value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n /**\n * Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.\n *\n * #### Example 1\n * ```typescript\n * const accounts = await indexerClient\n * .searchAccounts()\n * .exclude(\"all\")\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const accounts = await indexerClient\n * .searchAccounts()\n * .exclude(\"assets,created-assets\")\n * .do();\n * ```\n * @remarks By default, it behaves as exclude=none\n * @param exclude - Array of `all`, `assets`, `created-assets`, `apps-local-state`, `created-apps`, `none`\n * @category query\n */\n exclude(exclude) {\n this.query.exclude = exclude;\n return this;\n }\n}\n//# sourceMappingURL=searchAccounts.js.map","import JSONRequest from '../jsonrequest';\nimport { base64StringFunnel } from './lookupAccountTransactions';\n/**\n * Returns information about indexed transactions.\n *\n * #### Example\n * ```typescript\n * const txns = await indexerClient.searchForTransactions().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactions)\n * @category GET\n */\nexport default class SearchForTransactions extends JSONRequest {\n /**\n * @returns `/v2/transactions`\n */\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/transactions';\n }\n /**\n * Specifies a prefix which must be contained in the note field.\n *\n * #### Example\n * ```typescript\n * const notePrefixBase64Encoded = \"Y3JlYXRl\";\n * const txns = await indexerClient\n * .searchForTransactions()\n * .notePrefix(notePrefixBase64Encoded)\n * .do();\n * ```\n *\n * @param prefix - base64 string or uint8array\n * @category query\n */\n notePrefix(prefix) {\n this.query['note-prefix'] = base64StringFunnel(prefix);\n return this;\n }\n /**\n * Type of transaction to filter with.\n *\n * #### Example\n * ```typescript\n * const txns = await indexerClient\n * .searchForTransactions()\n * .txType(\"keyreg\")\n * .do();\n * ```\n *\n * @param type - one of `pay`, `keyreg`, `acfg`, `axfer`, `afrz`, `appl`, `stpf`\n * @category query\n */\n txType(type) {\n this.query['tx-type'] = type;\n return this;\n }\n /**\n * Type of signature to filter with.\n * - sig: Standard\n * - msig: MultiSig\n * - lsig: LogicSig\n *\n * #### Example\n * ```typescript\n * const txns = await indexerClient\n * .searchForTransactions()\n * .sigType(\"sig\")\n * .do();\n * ```\n *\n * @param type - one of `sig`, `msig`, `lsig`\n * @category query\n */\n sigType(type) {\n this.query['sig-type'] = type;\n return this;\n }\n /**\n * Lookup the specific transaction by ID.\n *\n * #### Example\n * ```typescript\n * const txId = \"MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA\";\n * const txns = await indexerClient\n * .searchForTransactions()\n * .txid(txId)\n * .do();\n * ```\n * @remarks Alternatively, use `indexerClient.lookupTransactionByID(txnId).do()`\n * @param txid\n * @category query\n */\n txid(txid) {\n this.query.txid = txid;\n return this;\n }\n /**\n * Include results for the specified round.\n *\n * #### Example\n * ```typescript\n * const targetBlock = 18309917;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .round(targetBlock)\n * .do();\n * ```\n * @remarks Alternatively, use `indexerClient.lookupBlock(targetBlock).do()`\n * @param round\n * @category query\n */\n round(round) {\n this.query.round = round;\n return this;\n }\n /**\n * Include results at or after the specified min-round.\n *\n * #### Example\n * ```typescript\n * const minRound = 18309917;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .minRound(minRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n minRound(round) {\n this.query['min-round'] = round;\n return this;\n }\n /**\n * Include results at or before the specified max-round.\n *\n * #### Example\n * ```typescript\n * const maxRound = 18309917;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .maxRound(maxRound)\n * .do();\n * ```\n *\n * @param round\n * @category query\n */\n maxRound(round) {\n this.query['max-round'] = round;\n return this;\n }\n /**\n * Asset ID to filter with.\n *\n * #### Example\n * ```typescript\n * const assetID = 163650;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .assetID(assetID)\n * .do();\n * ```\n * @remarks Alternatively, use `indexerClient.lookupAssetTransactions(assetId).do()`\n * @param id\n * @category query\n */\n assetID(id) {\n this.query['asset-id'] = id;\n return this;\n }\n /**\n * Maximum number of results to return.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Include results before the given time.\n *\n * #### Example\n * ```typescript\n * const beforeTime = \"2022-02-02T20:20:22.02Z\";\n * const txns = await indexerClient\n * .searchForTransactions()\n * .beforeTime(beforeTime)\n * .do();\n * ```\n *\n * @param before - rfc3339 string\n * @category query\n */\n beforeTime(before) {\n this.query['before-time'] = before;\n return this;\n }\n /**\n * Include results after the given time.\n *\n * #### Example\n * ```typescript\n * const afterTime = \"2022-10-21T00:00:11.55Z\";\n * const txns = await indexerClient\n * .searchForTransactions()\n * .afterTime(afterTime)\n * .do();\n * ```\n *\n * @param after - rfc3339 string\n * @category query\n */\n afterTime(after) {\n this.query['after-time'] = after;\n return this;\n }\n /**\n * Filtered results should have an amount greater than this value, as int, representing microAlgos, unless an asset-id is provided, in which case units are in the asset's units.\n *\n * #### Example 1\n * ```typescript\n * const minBalance = 300000;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .currencyGreaterThan(minBalance - 1)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetID = 163650;\n * const minBalance = 300000;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .assetID(assetID)\n * .currencyGreaterThan(minBalance - 1)\n * .do();\n * ```\n * @remarks\n * If you are looking for transactions with the currency amount greater than 0, simply construct the query without `currencyGreaterThan` because it doesn't accept `-1`, and passing the `0` `currency-greater-than` value would exclude transactions with a 0 amount.\n *\n * @param greater\n * @category query\n */\n currencyGreaterThan(greater) {\n this.query['currency-greater-than'] = greater;\n return this;\n }\n /**\n * Filtered results should have an amount less than this value, as int, representing microAlgos, unless an asset-id is provided, in which case units are in the asset's units.\n *\n * #### Example 1\n * ```typescript\n * const maxBalance = 500000;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .currencyLessThan(maxBalance + 1)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assetID = 163650;\n * const maxBalance = 500000;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .assetID(assetID)\n * .currencyLessThan(maxBalance + 1)\n * .do();\n * ```\n *\n * @param lesser\n * @category query\n */\n currencyLessThan(lesser) {\n this.query['currency-less-than'] = lesser;\n return this;\n }\n /**\n * Combined with address, defines what address to filter on, as string.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const role = \"freeze-target\";\n * const txns = await indexerClient\n * .searchForTransactions()\n * .address(address)\n * .addressRole(role)\n * .do();\n * ```\n *\n * @param role - one of `sender`, `receiver`, `freeze-target`\n * @category query\n */\n addressRole(role) {\n this.query['address-role'] = role;\n return this;\n }\n /**\n * Only include transactions with this address in one of the transaction fields.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const txns = await indexerClient\n * .searchForTransactions()\n * .address(address)\n * .do();\n * ```\n * @remarks Alternatively, use `indexerClient.lookupAccountTransactions(address).do()`\n * @param address\n * @category query\n */\n address(address) {\n this.query.address = address;\n return this;\n }\n /**\n * Whether or not to consider the `close-to` field as a receiver when filtering transactions, as bool. Set to `true` to ignore `close-to`.\n *\n * #### Example\n * ```typescript\n * const txns = await indexerClient\n * .searchForTransactions()\n * .excludeCloseTo(true)\n * .do();\n * ```\n *\n * @param exclude\n * @category query\n */\n excludeCloseTo(exclude) {\n this.query['exclude-close-to'] = exclude;\n return this;\n }\n /**\n * The next page of results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 25;\n *\n * const txnsPage1 = await indexerClient\n * .searchForTransactions()\n * .limit(maxResults)\n * .do();\n *\n * const txnsPage2 = await indexerClient\n * .searchForTransactions()\n * .limit(maxResults)\n * .nextToken(txnsPage1[\"next-token\"])\n * .do();\n * ```\n *\n * @param nextToken - provided by the previous results\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Whether or not to include rekeying transactions.\n *\n * #### Example\n * ```typescript\n * const txns = await indexerClient\n * .searchForTransactions()\n * .rekeyTo(false)\n * .do();\n * ```\n *\n * @param rekeyTo\n * @category query\n */\n rekeyTo(rekeyTo) {\n this.query['rekey-to'] = rekeyTo;\n return this;\n }\n /**\n * Filter for this application.\n *\n * #### Example\n * ```typescript\n * const appId = 60553466;\n * const txns = await indexerClient\n * .searchForTransactions()\n * .applicationID(appId)\n * .do();\n * ```\n *\n * @param applicationID\n * @category query\n */\n applicationID(applicationID) {\n this.query['application-id'] = applicationID;\n return this;\n }\n}\n//# sourceMappingURL=searchForTransactions.js.map","import JSONRequest from '../jsonrequest';\n/**\n * Returns information about indexed assets.\n *\n * #### Example\n * ```typescript\n * const assets = await indexerClient.searchForAssets().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assets)\n * @category GET\n */\nexport default class SearchForAssets extends JSONRequest {\n /**\n * @returns `/v2/assets`\n */\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/assets';\n }\n /**\n * Limit results for pagination.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const assets = await indexerClient\n * .searchForAssets()\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Filter just assets with the given creator address.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const assets = await indexerClient\n * .searchForAssets()\n * .creator(address)\n * .do();\n * ```\n *\n * @param creator\n * @category query\n */\n creator(creator) {\n this.query.creator = creator;\n return this;\n }\n /**\n * Filter just assets with the given name.\n *\n * #### Example\n * ```typescript\n * const name = \"Test Token\";\n * const assets = await indexerClient\n * .searchForAssets()\n * .name(name)\n * .do();\n * ```\n *\n * @param name\n * @category query\n */\n name(name) {\n this.query.name = name;\n return this;\n }\n /**\n * Filter just assets with the given unit.\n *\n * #### Example\n * ```typescript\n * const unit = \"test\";\n * const assets = await indexerClient\n * .searchForAssets()\n * .unit(unit)\n * .do();\n * ```\n *\n * @param unit\n * @category query\n */\n unit(unit) {\n this.query.unit = unit;\n return this;\n }\n /**\n * Asset ID for filter, as int.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assets = await indexerClient\n * .searchForAssets()\n * .index(assetId)\n * .do();\n * ```\n * @remarks Alternatively, use `indexerClient.lookupAssetByID(assetId).do();`\n * @param index\n * @category query\n */\n index(index) {\n this.query['asset-id'] = index;\n return this;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n *\n * const assetsPage1 = await indexerClient\n * .searchForAssets()\n * .limit(maxResults)\n * .do();\n *\n * const assetsPage2 = await indexerClient\n * .searchForAssets()\n * .limit(maxResults)\n * .nextToken(assetsPage1[\"next-token\"])\n * .do();\n * ```\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(nextToken) {\n this.query.next = nextToken;\n return this;\n }\n /**\n * Includes all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example 1\n * ```typescript\n * const assets = await indexerClient\n * .searchForAssets()\n * .includeAll(false)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const assets = await indexerClient\n * .searchForAssets()\n * .includeAll()\n * .do();\n * ```\n *\n * @param value - default true when called without passing a value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n}\n//# sourceMappingURL=searchForAssets.js.map","import JSONRequest from '../jsonrequest';\n/**\n * Returns information about indexed applications.\n *\n * #### Example\n * ```typescript\n * const apps = await indexerClient.searchForApplications().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applications)\n * @category GET\n */\nexport default class SearchForApplications extends JSONRequest {\n /**\n * @returns `/v2/applications`\n */\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/applications';\n }\n /**\n * Application ID for filter, as int\n *\n * #### Example\n * ```typescript\n * const appId = 60553466;\n * const apps = await indexerClient\n * .searchForApplications()\n * .index(appId)\n * .do();\n * ```\n * @remarks Alternatively, use `indexerClient.lookupApplications(appId).do()`\n * @param index\n * @category query\n */\n index(index) {\n this.query['application-id'] = index;\n return this;\n }\n /**\n * Creator for filter, as string\n *\n * #### Example\n * ```typescript\n * const creator = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const apps = await indexerClient\n * .searchForApplications()\n * .creator(creator)\n * .do();\n * ```\n * @param creator\n * @category query\n */\n creator(creator) {\n this.query.creator = creator;\n return this;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n *\n * const appsPage1 = await indexerClient\n * .searchForApplications()\n * .limit(maxResults)\n * .do();\n *\n * const appsPage2 = await indexerClient\n * .searchForApplications()\n * .limit(maxResults)\n * .nextToken(appsPage1[\"next-token\"])\n * .do();\n * ```\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(next) {\n this.query.next = next;\n return this;\n }\n /**\n * Limit results for pagination.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const apps = await indexerClient\n * .searchForApplications()\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n /**\n * Includes all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates\n *\n * #### Example 1\n * ```typescript\n * const apps = await indexerClient\n * .searchForApplications()\n * .includeAll(false)\n * .do();\n * ```\n *\n * #### Example 2\n * ```typescript\n * const apps = await indexerClient\n * .searchForApplications()\n * .includeAll()\n * .do();\n * ```\n *\n * @param value - default true when called without passing a value\n * @category query\n */\n includeAll(value = true) {\n this.query['include-all'] = value;\n return this;\n }\n}\n//# sourceMappingURL=searchForApplications.js.map","import JSONRequest from '../jsonrequest';\nimport { BoxesResponse } from './models/types';\nexport default class SearchForApplicationBoxes extends JSONRequest {\n /**\n * Returns information about indexed application boxes.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const appID = 1234;\n *\n * const responsePage1 = await indexerClient\n * .searchForApplicationBoxes(appID)\n * .limit(maxResults)\n * .do();\n * const boxNamesPage1 = responsePage1.boxes.map(box => box.name);\n *\n * const responsePage2 = await indexerClient\n * .searchForApplicationBoxes(appID)\n * .limit(maxResults)\n * .nextToken(responsePage1.nextToken)\n * .do();\n * const boxNamesPage2 = responsePage2.boxes.map(box => box.name);\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idboxes)\n * @oaram index - application index.\n * @category GET\n */\n constructor(c, intDecoding, index) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n }\n /**\n * @returns `/v2/applications/${index}/boxes`\n */\n path() {\n return `/v2/applications/${this.index}/boxes`;\n }\n /**\n * Specify the next page of results.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const appID = 1234;\n *\n * const responsePage1 = await indexerClient\n * .searchForApplicationBoxes(appID)\n * .limit(maxResults)\n * .do();\n * const boxNamesPage1 = responsePage1.boxes.map(box => box.name);\n *\n * const responsePage2 = await indexerClient\n * .searchForApplicationBoxes(appID)\n * .limit(maxResults)\n * .nextToken(responsePage1.nextToken)\n * .do();\n * const boxNamesPage2 = responsePage2.boxes.map(box => box.name);\n * ```\n * @param nextToken - provided by the previous results.\n * @category query\n */\n nextToken(next) {\n this.query.next = next;\n return this;\n }\n /**\n * Limit results for pagination.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const boxesResponse = await indexerClient\n * .searchForApplicationBoxes(1234)\n * .limit(maxResults)\n * .do();\n * ```\n *\n * @param limit - maximum number of results to return.\n * @category query\n */\n limit(limit) {\n this.query.limit = limit;\n return this;\n }\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n return BoxesResponse.from_obj_for_encoding(body);\n }\n}\n//# sourceMappingURL=searchForApplicationBoxes.js.map","import ServiceClient from '../serviceClient';\nimport MakeHealthCheck from './makeHealthCheck';\nimport LookupAssetBalances from './lookupAssetBalances';\nimport LookupAssetTransactions from './lookupAssetTransactions';\nimport LookupAccountTransactions from './lookupAccountTransactions';\nimport LookupBlock from './lookupBlock';\nimport LookupTransactionByID from './lookupTransactionByID';\nimport LookupAccountByID from './lookupAccountByID';\nimport LookupAccountAssets from './lookupAccountAssets';\nimport LookupAccountCreatedAssets from './lookupAccountCreatedAssets';\nimport LookupAccountAppLocalStates from './lookupAccountAppLocalStates';\nimport LookupAccountCreatedApplications from './lookupAccountCreatedApplications';\nimport LookupAssetByID from './lookupAssetByID';\nimport LookupApplications from './lookupApplications';\nimport LookupApplicationLogs from './lookupApplicationLogs';\nimport LookupApplicationBoxByIDandName from './lookupApplicationBoxByIDandName';\nimport SearchAccounts from './searchAccounts';\nimport SearchForTransactions from './searchForTransactions';\nimport SearchForAssets from './searchForAssets';\nimport SearchForApplications from './searchForApplications';\nimport SearchForApplicationBoxes from './searchForApplicationBoxes';\n/**\n * The Indexer provides a REST API interface of API calls to support searching the Algorand Blockchain.\n *\n * The Indexer REST APIs retrieve the blockchain data from a PostgreSQL compatible database that must be populated.\n *\n * This database is populated using the same indexer instance or a separate instance of the indexer which must connect to the algod process of a running Algorand node to read block data.\n *\n * This node must also be an Archival node to make searching the entire blockchain possible.\n *\n * #### Relevant Information\n * [Learn more about Indexer](https://developer.algorand.org/docs/get-details/indexer/)\n *\n * [Run Indexer in Postman OAS3](https://developer.algorand.org/docs/rest-apis/restendpoints/#algod-indexer-and-kmd-rest-endpoints)\n */\nexport default class IndexerClient extends ServiceClient {\n /**\n * Create an IndexerClient from\n * * either a token, baseServer, port, and optional headers\n * * or a base client server for interoperability with external dApp wallets\n *\n * #### Example\n * ```typescript\n * const token = \"\";\n * const server = \"http://localhost\";\n * const port = 8980;\n * const indexerClient = new algosdk.Indexer(token, server, port);\n * ```\n * @remarks\n * The above configuration is for a sandbox private network.\n * For applications on production, you are encouraged to run your own node with indexer, or use an Algorand REST API provider with a dedicated API key.\n *\n * @param tokenOrBaseClient - The API token for the Indexer API\n * @param baseServer - REST endpoint\n * @param port - Port number if specifically configured by the server\n * @param headers - Optional headers\n */\n constructor(tokenOrBaseClient, baseServer = 'http://127.0.0.1', port = 8080, headers = {}) {\n super('X-Indexer-API-Token', tokenOrBaseClient, baseServer, port, headers);\n }\n /**\n * Returns the health object for the service.\n * Returns 200 if healthy.\n *\n * #### Example\n * ```typescript\n * const health = await indexerClient.makeHealthCheck().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-health)\n * @category GET\n */\n makeHealthCheck() {\n return new MakeHealthCheck(this.c, this.intDecoding);\n }\n /**\n * Returns the list of accounts who hold the given asset and their balance.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetBalances = await indexerClient.lookupAssetBalances(assetId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idbalances)\n * @param index - The asset ID to look up.\n * @category GET\n */\n lookupAssetBalances(index) {\n return new LookupAssetBalances(this.c, this.intDecoding, index);\n }\n /**\n * Returns transactions relating to the given asset.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetTxns = await indexerClient.lookupAssetTransactions(assetId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-idtransactions)\n * @param index - The asset ID to look up.\n * @category GET\n */\n lookupAssetTransactions(index) {\n return new LookupAssetTransactions(this.c, this.intDecoding, index);\n }\n /**\n * Returns transactions relating to the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountTxns = await indexerClient.lookupAccountTransactions(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idtransactions)\n * @param account - The address of the account.\n * @category GET\n */\n lookupAccountTransactions(account) {\n return new LookupAccountTransactions(this.c, this.intDecoding, account);\n }\n /**\n * Returns the block for the passed round.\n *\n * #### Example\n * ```typescript\n * const targetBlock = 18309917;\n * const blockInfo = await indexerClient.lookupBlock(targetBlock).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2blocksround-number)\n * @param round - The number of the round to look up.\n * @category GET\n */\n lookupBlock(round) {\n return new LookupBlock(this.c, this.intDecoding, round);\n }\n /**\n * Returns information about the given transaction.\n *\n * #### Example\n * ```typescript\n * const txnId = \"MEUOC4RQJB23CQZRFRKYEI6WBO73VTTPST5A7B3S5OKBUY6LFUDA\";\n * const txnInfo = await indexerClient.lookupTransactionByID(txnId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactionstxid)\n * @param txID - The ID of the transaction to look up.\n * @category GET\n */\n lookupTransactionByID(txID) {\n return new LookupTransactionByID(this.c, this.intDecoding, txID);\n }\n /**\n * Returns information about the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountInfo = await indexerClient.lookupAccountByID(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-id)\n * @param account - The address of the account to look up.\n * @category GET\n */\n lookupAccountByID(account) {\n return new LookupAccountByID(this.c, this.intDecoding, account);\n }\n /**\n * Returns asset about the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAssets = await indexerClient.lookupAccountAssets(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idassets)\n * @param account - The address of the account to look up.\n * @category GET\n */\n lookupAccountAssets(account) {\n return new LookupAccountAssets(this.c, this.intDecoding, account);\n }\n /**\n * Returns asset information created by the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountCreatedAssets = await indexerClient.lookupAccountCreatedAssets(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idcreated-assets)\n * @param account - The address of the account to look up.\n * @category GET\n */\n lookupAccountCreatedAssets(account) {\n return new LookupAccountCreatedAssets(this.c, this.intDecoding, account);\n }\n /**\n * Returns application local state about the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountAppLocalStates = await indexerClient.lookupAccountAppLocalStates(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idapps-local-state)\n * @param account - The address of the account to look up.\n * @category GET\n */\n lookupAccountAppLocalStates(account) {\n return new LookupAccountAppLocalStates(this.c, this.intDecoding, account);\n }\n /**\n * Returns application information created by the given account.\n *\n * #### Example\n * ```typescript\n * const address = \"XBYLS2E6YI6XXL5BWCAMOA4GTWHXWENZMX5UHXMRNWWUQ7BXCY5WC5TEPA\";\n * const accountCreatedApps = await indexerClient.lookupAccountCreatedApplications(address).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accountsaccount-idcreated-applications)\n * @param account - The address of the account to look up.\n * @category GET\n */\n lookupAccountCreatedApplications(account) {\n return new LookupAccountCreatedApplications(this.c, this.intDecoding, account);\n }\n /**\n * Returns information about the passed asset.\n *\n * #### Example\n * ```typescript\n * const assetId = 163650;\n * const assetInfo = await indexerClient.lookupAssetByID(assetId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assetsasset-id)\n * @param index - The ID of the asset ot look up.\n * @category GET\n */\n lookupAssetByID(index) {\n return new LookupAssetByID(this.c, this.intDecoding, index);\n }\n /**\n * Returns information about the passed application.\n *\n * #### Example\n * ```typescript\n * const appId = 60553466;\n * const appInfo = await indexerClient.lookupApplications(appId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-id)\n * @param index - The ID of the application to look up.\n * @category GET\n */\n lookupApplications(index) {\n return new LookupApplications(this.c, this.intDecoding, index);\n }\n /**\n * Returns log messages generated by the passed in application.\n *\n * #### Example\n * ```typescript\n * const appId = 60553466;\n * const appLogs = await indexerClient.lookupApplicationLogs(appId).do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idlogs)\n * @param appID - The ID of the application which generated the logs.\n * @category GET\n */\n lookupApplicationLogs(appID) {\n return new LookupApplicationLogs(this.c, this.intDecoding, appID);\n }\n /**\n * Returns information about indexed accounts.\n *\n * #### Example\n * ```typescript\n * const accounts = await indexerClient.searchAccounts().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2accounts)\n * @category GET\n */\n searchAccounts() {\n return new SearchAccounts(this.c, this.intDecoding);\n }\n /**\n * Returns information about indexed transactions.\n *\n * #### Example\n * ```typescript\n * const txns = await indexerClient.searchForTransactions().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactions)\n * @category GET\n */\n searchForTransactions() {\n return new SearchForTransactions(this.c, this.intDecoding);\n }\n /**\n * Returns information about indexed assets.\n *\n * #### Example\n * ```typescript\n * const assets = await indexerClient.searchForAssets().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2assets)\n * @category GET\n */\n searchForAssets() {\n return new SearchForAssets(this.c, this.intDecoding);\n }\n /**\n * Returns information about indexed applications.\n *\n * #### Example\n * ```typescript\n * const apps = await indexerClient.searchForApplications().do();\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applications)\n * @category GET\n */\n searchForApplications() {\n return new SearchForApplications(this.c, this.intDecoding);\n }\n /**\n * Returns information about indexed application boxes.\n *\n * #### Example\n * ```typescript\n * const maxResults = 20;\n * const appID = 1234;\n *\n * const responsePage1 = await indexerClient\n * .searchForApplicationBoxes(appID)\n * .limit(maxResults)\n * .do();\n * const boxNamesPage1 = responsePage1.boxes.map(box => box.name);\n *\n * const responsePage2 = await indexerClient\n * .searchForApplicationBoxes(appID)\n * .limit(maxResults)\n * .nextToken(responsePage1.nextToken)\n * .do();\n * const boxNamesPage2 = responsePage2.boxes.map(box => box.name);\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idboxes)\n * @param appID - The ID of the application with boxes.\n * @category GET\n */\n searchForApplicationBoxes(appID) {\n return new SearchForApplicationBoxes(this.c, this.intDecoding, appID);\n }\n /**\n * Returns information about the application box given its name.\n *\n * #### Example\n * ```typescript\n * const boxName = Buffer.from(\"foo\");\n * const boxResponse = await indexerClient\n * .LookupApplicationBoxByIDandName(1234, boxName)\n * .do();\n * const boxValue = boxResponse.value;\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idbox)\n * @param appID - The ID of the application with boxes.\n * @category GET\n */\n lookupApplicationBoxByIDandName(appID, boxName) {\n return new LookupApplicationBoxByIDandName(this.c, this.intDecoding, appID, boxName);\n }\n}\n//# sourceMappingURL=indexer.js.map","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport default index;\n","import { useRef, useCallback } from 'react';\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\n\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = useRef();\n return useCallback(function (instance) {\n libRef.current = instance;\n\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n\n prevUserRef.current = userRef;\n\n if (!userRef) {\n return;\n }\n\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\nexport default useComposedRef;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport { useLayoutEffect, forwardRef, useRef, createElement } from 'react';\nimport useLatest from 'use-latest';\nimport useComposedRef from 'use-composed-ref';\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\n\n// export type CalculatedNodeHeights = [height: number, rowHeight: number];\n// https://github.com/microsoft/TypeScript/issues/28259\n\nvar hiddenTextarea = null;\n\nvar getHeight = function getHeight(node, sizingData) {\n var height = node.scrollHeight;\n\n if (sizingData.sizingStyle.boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n return height + sizingData.borderSize;\n } // remove padding, since height = content\n\n\n return height - sizingData.paddingSize;\n};\n\nfunction calculateNodeHeight(sizingData, value, minRows, maxRows) {\n if (minRows === void 0) {\n minRows = 1;\n }\n\n if (maxRows === void 0) {\n maxRows = Infinity;\n }\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tab-index', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n forceHiddenStyles(hiddenTextarea);\n }\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n var paddingSize = sizingData.paddingSize,\n borderSize = sizingData.borderSize,\n sizingStyle = sizingData.sizingStyle;\n var boxSizing = sizingStyle.boxSizing;\n Object.keys(sizingStyle).forEach(function (_key) {\n var key = _key;\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n forceHiddenStyles(hiddenTextarea);\n hiddenTextarea.value = value;\n var height = getHeight(hiddenTextarea, sizingData); // measure height of a textarea with a single row\n\n hiddenTextarea.value = 'x';\n var rowHeight = hiddenTextarea.scrollHeight - paddingSize;\n var minHeight = rowHeight * minRows;\n\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n var maxHeight = rowHeight * maxRows;\n\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n height = Math.min(maxHeight, height);\n return [height, rowHeight];\n}\n\nvar noop = function noop() {};\nvar pick = function pick(props, obj) {\n return props.reduce(function (acc, prop) {\n acc[prop] = obj[prop];\n return acc;\n }, {});\n};\n\nvar SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', // non-standard\n'tabSize', 'textIndent', // non-standard\n'textRendering', 'textTransform', 'width'];\nvar isIE = !!document.documentElement.currentStyle ;\n\nvar getSizingData = function getSizingData(node) {\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = pick(SIZING_STYLE, style);\n var boxSizing = sizingStyle.boxSizing; // probably node is detached from DOM, can't read computed dimensions\n\n if (boxSizing === '') {\n return null;\n } // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n\n\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);\n var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);\n return {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize\n };\n};\n\nvar useWindowResizeListener = function useWindowResizeListener(listener) {\n var latestListener = useLatest(listener);\n useLayoutEffect(function () {\n var handler = function handler(event) {\n latestListener.current(event);\n };\n\n window.addEventListener('resize', handler);\n return function () {\n window.removeEventListener('resize', handler);\n };\n }, []);\n};\n\nvar TextareaAutosize = function TextareaAutosize(_ref, userRef) {\n var cacheMeasurements = _ref.cacheMeasurements,\n maxRows = _ref.maxRows,\n minRows = _ref.minRows,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onHeightChange = _ref.onHeightChange,\n onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange,\n props = _objectWithoutPropertiesLoose(_ref, [\"cacheMeasurements\", \"maxRows\", \"minRows\", \"onChange\", \"onHeightChange\"]);\n\n if (process.env.NODE_ENV !== 'production' && props.style) {\n if ('maxHeight' in props.style) {\n throw new Error('Using `style.maxHeight` for is not supported. Please use `maxRows`.');\n }\n\n if ('minHeight' in props.style) {\n throw new Error('Using `style.minHeight` for is not supported. Please use `minRows`.');\n }\n }\n\n var isControlled = props.value !== undefined;\n var libRef = useRef(null);\n var ref = useComposedRef(libRef, userRef);\n var heightRef = useRef(0);\n var measurementsCacheRef = useRef();\n\n var resizeTextarea = function resizeTextarea() {\n var node = libRef.current;\n var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData(node);\n\n if (!nodeSizingData) {\n return;\n }\n\n measurementsCacheRef.current = nodeSizingData;\n\n var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || 'x', minRows, maxRows),\n height = _calculateNodeHeight[0],\n rowHeight = _calculateNodeHeight[1];\n\n if (heightRef.current !== height) {\n heightRef.current = height;\n node.style.setProperty('height', height + \"px\", 'important');\n onHeightChange(height, {\n rowHeight: rowHeight\n });\n }\n };\n\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n resizeTextarea();\n }\n\n onChange(event);\n };\n\n {\n useLayoutEffect(resizeTextarea);\n useWindowResizeListener(resizeTextarea);\n }\n\n return /*#__PURE__*/createElement(\"textarea\", _extends({}, props, {\n onChange: handleChange,\n ref: ref\n }));\n};\n\nvar index = /* #__PURE__ */forwardRef(TextareaAutosize);\n\nexport default index;\n","import * as React from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\n\nvar useLatest = function useLatest(value) {\n var ref = React.useRef(value);\n useIsomorphicLayoutEffect(function () {\n ref.current = value;\n });\n return ref;\n};\n\nexport { useLatest as default };\n","/** @type {Record} */\nlet char_to_integer = {};\n\n/** @type {Record} */\nlet integer_to_char = {};\n\n'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t.split('')\n\t.forEach(function (char, i) {\n\t\tchar_to_integer[char] = i;\n\t\tinteger_to_char[i] = char;\n\t});\n\n/** @param {string} string */\nexport function decode(string) {\n\t/** @type {number[]} */\n\tlet result = [];\n\n\tlet shift = 0;\n\tlet value = 0;\n\n\tfor (let i = 0; i < string.length; i += 1) {\n\t\tlet integer = char_to_integer[string[i]];\n\n\t\tif (integer === undefined) {\n\t\t\tthrow new Error('Invalid character (' + string[i] + ')');\n\t\t}\n\n\t\tconst has_continuation_bit = integer & 32;\n\n\t\tinteger &= 31;\n\t\tvalue += integer << shift;\n\n\t\tif (has_continuation_bit) {\n\t\t\tshift += 5;\n\t\t} else {\n\t\t\tconst should_negate = value & 1;\n\t\t\tvalue >>>= 1;\n\n\t\t\tif (should_negate) {\n\t\t\t\tresult.push(value === 0 ? -0x80000000 : -value);\n\t\t\t} else {\n\t\t\t\tresult.push(value);\n\t\t\t}\n\n\t\t\t// reset\n\t\t\tvalue = shift = 0;\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/** @param {number | number[]} value */\nexport function encode(value) {\n\tif (typeof value === 'number') {\n\t\treturn encode_integer(value);\n\t}\n\n\tlet result = '';\n\tfor (let i = 0; i < value.length; i += 1) {\n\t\tresult += encode_integer(value[i]);\n\t}\n\n\treturn result;\n}\n\n/** @param {number} num */\nfunction encode_integer(num) {\n\tlet result = '';\n\n\tif (num < 0) {\n\t\tnum = (-num << 1) | 1;\n\t} else {\n\t\tnum <<= 1;\n\t}\n\n\tdo {\n\t\tlet clamped = num & 31;\n\t\tnum >>>= 5;\n\n\t\tif (num > 0) {\n\t\t\tclamped |= 32;\n\t\t}\n\n\t\tresult += integer_to_char[clamped];\n\t} while (num > 0);\n\n\treturn result;\n}\n","import * as vlq from 'vlq';\nexport class SourceMap {\n constructor({ version, sources, names, mappings, }) {\n this.version = version;\n this.sources = sources;\n this.names = names;\n this.mappings = mappings;\n if (this.version !== 3)\n throw new Error(`Only version 3 is supported, got ${this.version}`);\n if (this.mappings === undefined)\n throw new Error('mapping undefined, cannot build source map without `mapping`');\n const pcList = this.mappings.split(';').map((m) => {\n const decoded = vlq.decode(m);\n if (decoded.length > 2)\n return decoded[2];\n return undefined;\n });\n this.pcToLine = {};\n this.lineToPc = {};\n let lastLine = 0;\n for (const [pc, lineDelta] of pcList.entries()) {\n // If the delta is not undefined, the lastLine should be updated with\n // lastLine + the delta\n if (lineDelta !== undefined) {\n lastLine += lineDelta;\n }\n if (!(lastLine in this.lineToPc))\n this.lineToPc[lastLine] = [];\n this.lineToPc[lastLine].push(pc);\n this.pcToLine[pc] = lastLine;\n }\n }\n getLineForPc(pc) {\n return this.pcToLine[pc];\n }\n getPcsForLine(line) {\n return this.lineToPc[line];\n }\n}\n//# sourceMappingURL=sourcemap.js.map","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\nexport { BrowserInfo };\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexport { NodeInfo };\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\nexport { SearchBotDeviceInfo };\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexport { BotInfo };\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\nexport { ReactNativeInfo };\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FBAV\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n var versionParts = match[1] && match[1].split(/[._]/).slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArrays(versionParts, createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length));\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n","/**\n * Convert a typed array to a Buffer without a copy\n *\n * Author: Feross Aboukhadijeh \n * License: MIT\n *\n * `npm install typedarray-to-buffer`\n */\n\nvar isTypedArray = require('is-typedarray').strict\n\nmodule.exports = function typedarrayToBuffer (arr) {\n if (isTypedArray(arr)) {\n // To avoid a copy, use the typed array's underlying ArrayBuffer to back new Buffer\n var buf = Buffer.from(arr.buffer)\n if (arr.byteLength !== arr.buffer.byteLength) {\n // Respect the \"view\", i.e. byteOffset and byteLength, without doing a copy\n buf = buf.slice(arr.byteOffset, arr.byteOffset + arr.byteLength)\n }\n return buf\n } else {\n // Pass through all other types to `Buffer.from`\n return Buffer.from(arr)\n }\n}\n","class NetworkMonitor {\n constructor() {\n this._eventEmitters = [];\n if (typeof window !== \"undefined\" && typeof window.addEventListener !== \"undefined\") {\n window.addEventListener(\"online\", () => this.trigger(\"online\"));\n window.addEventListener(\"offline\", () => this.trigger(\"offline\"));\n }\n }\n on(event, callback) {\n this._eventEmitters.push({\n event,\n callback,\n });\n }\n trigger(event) {\n let eventEmitters = [];\n if (event) {\n eventEmitters = this._eventEmitters.filter((eventEmitter) => eventEmitter.event === event);\n }\n eventEmitters.forEach((eventEmitter) => {\n eventEmitter.callback();\n });\n }\n}\nexport default NetworkMonitor;\n//# sourceMappingURL=network.js.map","/*\n * [js-sha512]{@link https://github.com/emn178/js-sha512}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA512_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA512_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA512_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA512_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428A2F98, 0xD728AE22, 0x71374491, 0x23EF65CD,\n 0xB5C0FBCF, 0xEC4D3B2F, 0xE9B5DBA5, 0x8189DBBC,\n 0x3956C25B, 0xF348B538, 0x59F111F1, 0xB605D019,\n 0x923F82A4, 0xAF194F9B, 0xAB1C5ED5, 0xDA6D8118,\n 0xD807AA98, 0xA3030242, 0x12835B01, 0x45706FBE,\n 0x243185BE, 0x4EE4B28C, 0x550C7DC3, 0xD5FFB4E2,\n 0x72BE5D74, 0xF27B896F, 0x80DEB1FE, 0x3B1696B1,\n 0x9BDC06A7, 0x25C71235, 0xC19BF174, 0xCF692694,\n 0xE49B69C1, 0x9EF14AD2, 0xEFBE4786, 0x384F25E3,\n 0x0FC19DC6, 0x8B8CD5B5, 0x240CA1CC, 0x77AC9C65,\n 0x2DE92C6F, 0x592B0275, 0x4A7484AA, 0x6EA6E483,\n 0x5CB0A9DC, 0xBD41FBD4, 0x76F988DA, 0x831153B5,\n 0x983E5152, 0xEE66DFAB, 0xA831C66D, 0x2DB43210,\n 0xB00327C8, 0x98FB213F, 0xBF597FC7, 0xBEEF0EE4,\n 0xC6E00BF3, 0x3DA88FC2, 0xD5A79147, 0x930AA725,\n 0x06CA6351, 0xE003826F, 0x14292967, 0x0A0E6E70,\n 0x27B70A85, 0x46D22FFC, 0x2E1B2138, 0x5C26C926,\n 0x4D2C6DFC, 0x5AC42AED, 0x53380D13, 0x9D95B3DF,\n 0x650A7354, 0x8BAF63DE, 0x766A0ABB, 0x3C77B2A8,\n 0x81C2C92E, 0x47EDAEE6, 0x92722C85, 0x1482353B,\n 0xA2BFE8A1, 0x4CF10364, 0xA81A664B, 0xBC423001,\n 0xC24B8B70, 0xD0F89791, 0xC76C51A3, 0x0654BE30,\n 0xD192E819, 0xD6EF5218, 0xD6990624, 0x5565A910,\n 0xF40E3585, 0x5771202A, 0x106AA070, 0x32BBD1B8,\n 0x19A4C116, 0xB8D2D0C8, 0x1E376C08, 0x5141AB53,\n 0x2748774C, 0xDF8EEB99, 0x34B0BCB5, 0xE19B48A8,\n 0x391C0CB3, 0xC5C95A63, 0x4ED8AA4A, 0xE3418ACB,\n 0x5B9CCA4F, 0x7763E373, 0x682E6FF3, 0xD6B2B8A3,\n 0x748F82EE, 0x5DEFB2FC, 0x78A5636F, 0x43172F60,\n 0x84C87814, 0xA1F0AB72, 0x8CC70208, 0x1A6439EC,\n 0x90BEFFFA, 0x23631E28, 0xA4506CEB, 0xDE82BDE9,\n 0xBEF9A3F7, 0xB2C67915, 0xC67178F2, 0xE372532B,\n 0xCA273ECE, 0xEA26619C, 0xD186B8C7, 0x21C0C207,\n 0xEADA7DD6, 0xCDE0EB1E, 0xF57D4F7F, 0xEE6ED178,\n 0x06F067AA, 0x72176FBA, 0x0A637DC5, 0xA2C898A6,\n 0x113F9804, 0xBEF90DAE, 0x1B710B35, 0x131C471B,\n 0x28DB77F5, 0x23047D84, 0x32CAAB7B, 0x40C72493,\n 0x3C9EBE0A, 0x15C9BEBC, 0x431D67C4, 0x9C100D4C,\n 0x4CC5D4BE, 0xCB3E42B6, 0x597F299C, 0xFC657E2A,\n 0x5FCB6FAB, 0x3AD6FAEC, 0x6C44198C, 0x4A475817\n ];\n\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA512_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, bits) {\n return function (message) {\n return new Sha512(bits, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (bits) {\n var method = createOutputMethod('hex', bits);\n method.create = function () {\n return new Sha512(bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, bits);\n }\n return method;\n };\n\n var createHmacOutputMethod = function (outputType, bits) {\n return function (key, message) {\n return new HmacSha512(key, bits, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (bits) {\n var method = createHmacOutputMethod('hex', bits);\n method.create = function (key) {\n return new HmacSha512(key, bits);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, bits);\n }\n return method;\n };\n\n function Sha512(bits, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[1] = blocks[2] = blocks[3] = blocks[4] =\n blocks[5] = blocks[6] = blocks[7] = blocks[8] =\n blocks[9] = blocks[10] = blocks[11] = blocks[12] =\n blocks[13] = blocks[14] = blocks[15] = blocks[16] =\n blocks[17] = blocks[18] = blocks[19] = blocks[20] =\n blocks[21] = blocks[22] = blocks[23] = blocks[24] =\n blocks[25] = blocks[26] = blocks[27] = blocks[28] =\n blocks[29] = blocks[30] = blocks[31] = blocks[32] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (bits == 384) {\n this.h0h = 0xCBBB9D5D;\n this.h0l = 0xC1059ED8;\n this.h1h = 0x629A292A;\n this.h1l = 0x367CD507;\n this.h2h = 0x9159015A;\n this.h2l = 0x3070DD17;\n this.h3h = 0x152FECD8;\n this.h3l = 0xF70E5939;\n this.h4h = 0x67332667;\n this.h4l = 0xFFC00B31;\n this.h5h = 0x8EB44A87;\n this.h5l = 0x68581511;\n this.h6h = 0xDB0C2E0D;\n this.h6l = 0x64F98FA7;\n this.h7h = 0x47B5481D;\n this.h7l = 0xBEFA4FA4;\n } else if (bits == 256) {\n this.h0h = 0x22312194;\n this.h0l = 0xFC2BF72C;\n this.h1h = 0x9F555FA3;\n this.h1l = 0xC84C64C2;\n this.h2h = 0x2393B86B;\n this.h2l = 0x6F53B151;\n this.h3h = 0x96387719;\n this.h3l = 0x5940EABD;\n this.h4h = 0x96283EE2;\n this.h4l = 0xA88EFFE3;\n this.h5h = 0xBE5E1E25;\n this.h5l = 0x53863992;\n this.h6h = 0x2B0199FC;\n this.h6l = 0x2C85B8AA;\n this.h7h = 0x0EB72DDC;\n this.h7l = 0x81C52CA2;\n } else if (bits == 224) {\n this.h0h = 0x8C3D37C8;\n this.h0l = 0x19544DA2;\n this.h1h = 0x73E19966;\n this.h1l = 0x89DCD4D6;\n this.h2h = 0x1DFAB7AE;\n this.h2l = 0x32FF9C82;\n this.h3h = 0x679DD514;\n this.h3l = 0x582F9FCF;\n this.h4h = 0x0F6D2B69;\n this.h4l = 0x7BD44DA8;\n this.h5h = 0x77E36F73;\n this.h5l = 0x04C48942;\n this.h6h = 0x3F9D85A8;\n this.h6l = 0x6A1D36C8;\n this.h7h = 0x1112E6AD;\n this.h7l = 0x91D692A1;\n } else { // 512\n this.h0h = 0x6A09E667;\n this.h0l = 0xF3BCC908;\n this.h1h = 0xBB67AE85;\n this.h1l = 0x84CAA73B;\n this.h2h = 0x3C6EF372;\n this.h2l = 0xFE94F82B;\n this.h3h = 0xA54FF53A;\n this.h3l = 0x5F1D36F1;\n this.h4h = 0x510E527F;\n this.h4l = 0xADE682D1;\n this.h5h = 0x9B05688C;\n this.h5l = 0x2B3E6C1F;\n this.h6h = 0x1F83D9AB;\n this.h6l = 0xFB41BD6B;\n this.h7h = 0x5BE0CD19;\n this.h7l = 0x137E2179;\n }\n this.bits = bits;\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n }\n\n Sha512.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[1] = blocks[2] = blocks[3] = blocks[4] =\n blocks[5] = blocks[6] = blocks[7] = blocks[8] =\n blocks[9] = blocks[10] = blocks[11] = blocks[12] =\n blocks[13] = blocks[14] = blocks[15] = blocks[16] =\n blocks[17] = blocks[18] = blocks[19] = blocks[20] =\n blocks[21] = blocks[22] = blocks[23] = blocks[24] =\n blocks[25] = blocks[26] = blocks[27] = blocks[28] =\n blocks[29] = blocks[30] = blocks[31] = blocks[32] = 0;\n }\n\n if(notString) {\n for (i = this.start; index < length && i < 128; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 128; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 128) {\n this.block = blocks[32];\n this.start = i - 128;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha512.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[32] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[32];\n if (i >= 112) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[1] = blocks[2] = blocks[3] = blocks[4] =\n blocks[5] = blocks[6] = blocks[7] = blocks[8] =\n blocks[9] = blocks[10] = blocks[11] = blocks[12] =\n blocks[13] = blocks[14] = blocks[15] = blocks[16] =\n blocks[17] = blocks[18] = blocks[19] = blocks[20] =\n blocks[21] = blocks[22] = blocks[23] = blocks[24] =\n blocks[25] = blocks[26] = blocks[27] = blocks[28] =\n blocks[29] = blocks[30] = blocks[31] = blocks[32] = 0;\n }\n blocks[30] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[31] = this.bytes << 3;\n this.hash();\n };\n\n Sha512.prototype.hash = function () {\n var h0h = this.h0h, h0l = this.h0l, h1h = this.h1h, h1l = this.h1l,\n h2h = this.h2h, h2l = this.h2l, h3h = this.h3h, h3l = this.h3l,\n h4h = this.h4h, h4l = this.h4l, h5h = this.h5h, h5l = this.h5l,\n h6h = this.h6h, h6l = this.h6l, h7h = this.h7h, h7l = this.h7l,\n blocks = this.blocks, j, s0h, s0l, s1h, s1l, c1, c2, c3, c4,\n abh, abl, dah, dal, cdh, cdl, bch, bcl,\n majh, majl, t1h, t1l, t2h, t2l, chh, chl;\n\n for (j = 32; j < 160; j += 2) {\n t1h = blocks[j - 30];\n t1l = blocks[j - 29];\n s0h = ((t1h >>> 1) | (t1l << 31)) ^ ((t1h >>> 8) | (t1l << 24)) ^ (t1h >>> 7);\n s0l = ((t1l >>> 1) | (t1h << 31)) ^ ((t1l >>> 8) | (t1h << 24)) ^ ((t1l >>> 7) | t1h << 25);\n\n t1h = blocks[j - 4];\n t1l = blocks[j - 3];\n s1h = ((t1h >>> 19) | (t1l << 13)) ^ ((t1l >>> 29) | (t1h << 3)) ^ (t1h >>> 6);\n s1l = ((t1l >>> 19) | (t1h << 13)) ^ ((t1h >>> 29) | (t1l << 3)) ^ ((t1l >>> 6) | t1h << 26);\n\n t1h = blocks[j - 32];\n t1l = blocks[j - 31];\n t2h = blocks[j - 14];\n t2l = blocks[j - 13];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (s0l & 0xFFFF) + (s1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (s0l >>> 16) + (s1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (s0h & 0xFFFF) + (s1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (s0h >>> 16) + (s1h >>> 16) + (c3 >>> 16);\n\n blocks[j] = (c4 << 16) | (c3 & 0xFFFF);\n blocks[j + 1] = (c2 << 16) | (c1 & 0xFFFF);\n }\n\n var ah = h0h, al = h0l, bh = h1h, bl = h1l, ch = h2h, cl = h2l, dh = h3h, dl = h3l, eh = h4h, el = h4l, fh = h5h, fl = h5l, gh = h6h, gl = h6l, hh = h7h, hl = h7l;\n bch = bh & ch;\n bcl = bl & cl;\n for (j = 0; j < 160; j += 8) {\n s0h = ((ah >>> 28) | (al << 4)) ^ ((al >>> 2) | (ah << 30)) ^ ((al >>> 7) | (ah << 25));\n s0l = ((al >>> 28) | (ah << 4)) ^ ((ah >>> 2) | (al << 30)) ^ ((ah >>> 7) | (al << 25));\n\n s1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((el >>> 9) | (eh << 23));\n s1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((eh >>> 9) | (el << 23));\n\n abh = ah & bh;\n abl = al & bl;\n majh = abh ^ (ah & ch) ^ bch;\n majl = abl ^ (al & cl) ^ bcl;\n\n chh = (eh & fh) ^ (~eh & gh);\n chl = (el & fl) ^ (~el & gl);\n\n t1h = blocks[j];\n t1l = blocks[j + 1];\n t2h = K[j];\n t2l = K[j + 1];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (hl & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (hl >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (hh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (hh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (dl & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (dl >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (dh & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (dh >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n hh = (c4 << 16) | (c3 & 0xFFFF);\n hl = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n dh = (c4 << 16) | (c3 & 0xFFFF);\n dl = (c2 << 16) | (c1 & 0xFFFF);\n\n s0h = ((dh >>> 28) | (dl << 4)) ^ ((dl >>> 2) | (dh << 30)) ^ ((dl >>> 7) | (dh << 25));\n s0l = ((dl >>> 28) | (dh << 4)) ^ ((dh >>> 2) | (dl << 30)) ^ ((dh >>> 7) | (dl << 25));\n\n s1h = ((hh >>> 14) | (hl << 18)) ^ ((hh >>> 18) | (hl << 14)) ^ ((hl >>> 9) | (hh << 23));\n s1l = ((hl >>> 14) | (hh << 18)) ^ ((hl >>> 18) | (hh << 14)) ^ ((hh >>> 9) | (hl << 23));\n\n dah = dh & ah;\n dal = dl & al;\n majh = dah ^ (dh & bh) ^ abh;\n majl = dal ^ (dl & bl) ^ abl;\n\n chh = (hh & eh) ^ (~hh & fh);\n chl = (hl & el) ^ (~hl & fl);\n\n t1h = blocks[j + 2];\n t1l = blocks[j + 3];\n t2h = K[j + 2];\n t2l = K[j + 3];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (gl & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (gl >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (gh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (gh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (cl & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (cl >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (ch & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (ch >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n gh = (c4 << 16) | (c3 & 0xFFFF);\n gl = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n ch = (c4 << 16) | (c3 & 0xFFFF);\n cl = (c2 << 16) | (c1 & 0xFFFF);\n\n s0h = ((ch >>> 28) | (cl << 4)) ^ ((cl >>> 2) | (ch << 30)) ^ ((cl >>> 7) | (ch << 25));\n s0l = ((cl >>> 28) | (ch << 4)) ^ ((ch >>> 2) | (cl << 30)) ^ ((ch >>> 7) | (cl << 25));\n\n s1h = ((gh >>> 14) | (gl << 18)) ^ ((gh >>> 18) | (gl << 14)) ^ ((gl >>> 9) | (gh << 23));\n s1l = ((gl >>> 14) | (gh << 18)) ^ ((gl >>> 18) | (gh << 14)) ^ ((gh >>> 9) | (gl << 23));\n\n cdh = ch & dh;\n cdl = cl & dl;\n majh = cdh ^ (ch & ah) ^ dah;\n majl = cdl ^ (cl & al) ^ dal;\n\n chh = (gh & hh) ^ (~gh & eh);\n chl = (gl & hl) ^ (~gl & el);\n\n t1h = blocks[j + 4];\n t1l = blocks[j + 5];\n t2h = K[j + 4];\n t2l = K[j + 5];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (fl & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (fl >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (fh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (fh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (bl & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (bl >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (bh & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (bh >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n fh = (c4 << 16) | (c3 & 0xFFFF);\n fl = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n bh = (c4 << 16) | (c3 & 0xFFFF);\n bl = (c2 << 16) | (c1 & 0xFFFF);\n\n s0h = ((bh >>> 28) | (bl << 4)) ^ ((bl >>> 2) | (bh << 30)) ^ ((bl >>> 7) | (bh << 25));\n s0l = ((bl >>> 28) | (bh << 4)) ^ ((bh >>> 2) | (bl << 30)) ^ ((bh >>> 7) | (bl << 25));\n\n s1h = ((fh >>> 14) | (fl << 18)) ^ ((fh >>> 18) | (fl << 14)) ^ ((fl >>> 9) | (fh << 23));\n s1l = ((fl >>> 14) | (fh << 18)) ^ ((fl >>> 18) | (fh << 14)) ^ ((fh >>> 9) | (fl << 23));\n\n bch = bh & ch;\n bcl = bl & cl;\n majh = bch ^ (bh & dh) ^ cdh;\n majl = bcl ^ (bl & dl) ^ cdl;\n\n chh = (fh & gh) ^ (~fh & hh);\n chl = (fl & gl) ^ (~fl & hl);\n\n t1h = blocks[j + 6];\n t1l = blocks[j + 7];\n t2h = K[j + 6];\n t2l = K[j + 7];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (el & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (el >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (eh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (eh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (al & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (al >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (ah & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (ah >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n eh = (c4 << 16) | (c3 & 0xFFFF);\n el = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n ah = (c4 << 16) | (c3 & 0xFFFF);\n al = (c2 << 16) | (c1 & 0xFFFF);\n }\n\n c1 = (h0l & 0xFFFF) + (al & 0xFFFF);\n c2 = (h0l >>> 16) + (al >>> 16) + (c1 >>> 16);\n c3 = (h0h & 0xFFFF) + (ah & 0xFFFF) + (c2 >>> 16);\n c4 = (h0h >>> 16) + (ah >>> 16) + (c3 >>> 16);\n\n this.h0h = (c4 << 16) | (c3 & 0xFFFF);\n this.h0l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h1l & 0xFFFF) + (bl & 0xFFFF);\n c2 = (h1l >>> 16) + (bl >>> 16) + (c1 >>> 16);\n c3 = (h1h & 0xFFFF) + (bh & 0xFFFF) + (c2 >>> 16);\n c4 = (h1h >>> 16) + (bh >>> 16) + (c3 >>> 16);\n\n this.h1h = (c4 << 16) | (c3 & 0xFFFF);\n this.h1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h2l & 0xFFFF) + (cl & 0xFFFF);\n c2 = (h2l >>> 16) + (cl >>> 16) + (c1 >>> 16);\n c3 = (h2h & 0xFFFF) + (ch & 0xFFFF) + (c2 >>> 16);\n c4 = (h2h >>> 16) + (ch >>> 16) + (c3 >>> 16);\n\n this.h2h = (c4 << 16) | (c3 & 0xFFFF);\n this.h2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h3l & 0xFFFF) + (dl & 0xFFFF);\n c2 = (h3l >>> 16) + (dl >>> 16) + (c1 >>> 16);\n c3 = (h3h & 0xFFFF) + (dh & 0xFFFF) + (c2 >>> 16);\n c4 = (h3h >>> 16) + (dh >>> 16) + (c3 >>> 16);\n\n this.h3h = (c4 << 16) | (c3 & 0xFFFF);\n this.h3l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h4l & 0xFFFF) + (el & 0xFFFF);\n c2 = (h4l >>> 16) + (el >>> 16) + (c1 >>> 16);\n c3 = (h4h & 0xFFFF) + (eh & 0xFFFF) + (c2 >>> 16);\n c4 = (h4h >>> 16) + (eh >>> 16) + (c3 >>> 16);\n\n this.h4h = (c4 << 16) | (c3 & 0xFFFF);\n this.h4l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h5l & 0xFFFF) + (fl & 0xFFFF);\n c2 = (h5l >>> 16) + (fl >>> 16) + (c1 >>> 16);\n c3 = (h5h & 0xFFFF) + (fh & 0xFFFF) + (c2 >>> 16);\n c4 = (h5h >>> 16) + (fh >>> 16) + (c3 >>> 16);\n\n this.h5h = (c4 << 16) | (c3 & 0xFFFF);\n this.h5l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h6l & 0xFFFF) + (gl & 0xFFFF);\n c2 = (h6l >>> 16) + (gl >>> 16) + (c1 >>> 16);\n c3 = (h6h & 0xFFFF) + (gh & 0xFFFF) + (c2 >>> 16);\n c4 = (h6h >>> 16) + (gh >>> 16) + (c3 >>> 16);\n\n this.h6h = (c4 << 16) | (c3 & 0xFFFF);\n this.h6l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h7l & 0xFFFF) + (hl & 0xFFFF);\n c2 = (h7l >>> 16) + (hl >>> 16) + (c1 >>> 16);\n c3 = (h7h & 0xFFFF) + (hh & 0xFFFF) + (c2 >>> 16);\n c4 = (h7h >>> 16) + (hh >>> 16) + (c3 >>> 16);\n\n this.h7h = (c4 << 16) | (c3 & 0xFFFF);\n this.h7l = (c2 << 16) | (c1 & 0xFFFF);\n };\n\n Sha512.prototype.hex = function () {\n this.finalize();\n\n var h0h = this.h0h, h0l = this.h0l, h1h = this.h1h, h1l = this.h1l,\n h2h = this.h2h, h2l = this.h2l, h3h = this.h3h, h3l = this.h3l,\n h4h = this.h4h, h4l = this.h4l, h5h = this.h5h, h5l = this.h5l,\n h6h = this.h6h, h6l = this.h6l, h7h = this.h7h, h7l = this.h7l,\n bits = this.bits;\n\n var hex = HEX_CHARS[(h0h >> 28) & 0x0F] + HEX_CHARS[(h0h >> 24) & 0x0F] +\n HEX_CHARS[(h0h >> 20) & 0x0F] + HEX_CHARS[(h0h >> 16) & 0x0F] +\n HEX_CHARS[(h0h >> 12) & 0x0F] + HEX_CHARS[(h0h >> 8) & 0x0F] +\n HEX_CHARS[(h0h >> 4) & 0x0F] + HEX_CHARS[h0h & 0x0F] +\n HEX_CHARS[(h0l >> 28) & 0x0F] + HEX_CHARS[(h0l >> 24) & 0x0F] +\n HEX_CHARS[(h0l >> 20) & 0x0F] + HEX_CHARS[(h0l >> 16) & 0x0F] +\n HEX_CHARS[(h0l >> 12) & 0x0F] + HEX_CHARS[(h0l >> 8) & 0x0F] +\n HEX_CHARS[(h0l >> 4) & 0x0F] + HEX_CHARS[h0l & 0x0F] +\n HEX_CHARS[(h1h >> 28) & 0x0F] + HEX_CHARS[(h1h >> 24) & 0x0F] +\n HEX_CHARS[(h1h >> 20) & 0x0F] + HEX_CHARS[(h1h >> 16) & 0x0F] +\n HEX_CHARS[(h1h >> 12) & 0x0F] + HEX_CHARS[(h1h >> 8) & 0x0F] +\n HEX_CHARS[(h1h >> 4) & 0x0F] + HEX_CHARS[h1h & 0x0F] +\n HEX_CHARS[(h1l >> 28) & 0x0F] + HEX_CHARS[(h1l >> 24) & 0x0F] +\n HEX_CHARS[(h1l >> 20) & 0x0F] + HEX_CHARS[(h1l >> 16) & 0x0F] +\n HEX_CHARS[(h1l >> 12) & 0x0F] + HEX_CHARS[(h1l >> 8) & 0x0F] +\n HEX_CHARS[(h1l >> 4) & 0x0F] + HEX_CHARS[h1l & 0x0F] +\n HEX_CHARS[(h2h >> 28) & 0x0F] + HEX_CHARS[(h2h >> 24) & 0x0F] +\n HEX_CHARS[(h2h >> 20) & 0x0F] + HEX_CHARS[(h2h >> 16) & 0x0F] +\n HEX_CHARS[(h2h >> 12) & 0x0F] + HEX_CHARS[(h2h >> 8) & 0x0F] +\n HEX_CHARS[(h2h >> 4) & 0x0F] + HEX_CHARS[h2h & 0x0F] +\n HEX_CHARS[(h2l >> 28) & 0x0F] + HEX_CHARS[(h2l >> 24) & 0x0F] +\n HEX_CHARS[(h2l >> 20) & 0x0F] + HEX_CHARS[(h2l >> 16) & 0x0F] +\n HEX_CHARS[(h2l >> 12) & 0x0F] + HEX_CHARS[(h2l >> 8) & 0x0F] +\n HEX_CHARS[(h2l >> 4) & 0x0F] + HEX_CHARS[h2l & 0x0F] +\n HEX_CHARS[(h3h >> 28) & 0x0F] + HEX_CHARS[(h3h >> 24) & 0x0F] +\n HEX_CHARS[(h3h >> 20) & 0x0F] + HEX_CHARS[(h3h >> 16) & 0x0F] +\n HEX_CHARS[(h3h >> 12) & 0x0F] + HEX_CHARS[(h3h >> 8) & 0x0F] +\n HEX_CHARS[(h3h >> 4) & 0x0F] + HEX_CHARS[h3h & 0x0F];\n if (bits >= 256) {\n hex += HEX_CHARS[(h3l >> 28) & 0x0F] + HEX_CHARS[(h3l >> 24) & 0x0F] +\n HEX_CHARS[(h3l >> 20) & 0x0F] + HEX_CHARS[(h3l >> 16) & 0x0F] +\n HEX_CHARS[(h3l >> 12) & 0x0F] + HEX_CHARS[(h3l >> 8) & 0x0F] +\n HEX_CHARS[(h3l >> 4) & 0x0F] + HEX_CHARS[h3l & 0x0F];\n }\n if (bits >= 384) {\n hex += HEX_CHARS[(h4h >> 28) & 0x0F] + HEX_CHARS[(h4h >> 24) & 0x0F] +\n HEX_CHARS[(h4h >> 20) & 0x0F] + HEX_CHARS[(h4h >> 16) & 0x0F] +\n HEX_CHARS[(h4h >> 12) & 0x0F] + HEX_CHARS[(h4h >> 8) & 0x0F] +\n HEX_CHARS[(h4h >> 4) & 0x0F] + HEX_CHARS[h4h & 0x0F] +\n HEX_CHARS[(h4l >> 28) & 0x0F] + HEX_CHARS[(h4l >> 24) & 0x0F] +\n HEX_CHARS[(h4l >> 20) & 0x0F] + HEX_CHARS[(h4l >> 16) & 0x0F] +\n HEX_CHARS[(h4l >> 12) & 0x0F] + HEX_CHARS[(h4l >> 8) & 0x0F] +\n HEX_CHARS[(h4l >> 4) & 0x0F] + HEX_CHARS[h4l & 0x0F] +\n HEX_CHARS[(h5h >> 28) & 0x0F] + HEX_CHARS[(h5h >> 24) & 0x0F] +\n HEX_CHARS[(h5h >> 20) & 0x0F] + HEX_CHARS[(h5h >> 16) & 0x0F] +\n HEX_CHARS[(h5h >> 12) & 0x0F] + HEX_CHARS[(h5h >> 8) & 0x0F] +\n HEX_CHARS[(h5h >> 4) & 0x0F] + HEX_CHARS[h5h & 0x0F] +\n HEX_CHARS[(h5l >> 28) & 0x0F] + HEX_CHARS[(h5l >> 24) & 0x0F] +\n HEX_CHARS[(h5l >> 20) & 0x0F] + HEX_CHARS[(h5l >> 16) & 0x0F] +\n HEX_CHARS[(h5l >> 12) & 0x0F] + HEX_CHARS[(h5l >> 8) & 0x0F] +\n HEX_CHARS[(h5l >> 4) & 0x0F] + HEX_CHARS[h5l & 0x0F];\n }\n if (bits == 512) {\n hex += HEX_CHARS[(h6h >> 28) & 0x0F] + HEX_CHARS[(h6h >> 24) & 0x0F] +\n HEX_CHARS[(h6h >> 20) & 0x0F] + HEX_CHARS[(h6h >> 16) & 0x0F] +\n HEX_CHARS[(h6h >> 12) & 0x0F] + HEX_CHARS[(h6h >> 8) & 0x0F] +\n HEX_CHARS[(h6h >> 4) & 0x0F] + HEX_CHARS[h6h & 0x0F] +\n HEX_CHARS[(h6l >> 28) & 0x0F] + HEX_CHARS[(h6l >> 24) & 0x0F] +\n HEX_CHARS[(h6l >> 20) & 0x0F] + HEX_CHARS[(h6l >> 16) & 0x0F] +\n HEX_CHARS[(h6l >> 12) & 0x0F] + HEX_CHARS[(h6l >> 8) & 0x0F] +\n HEX_CHARS[(h6l >> 4) & 0x0F] + HEX_CHARS[h6l & 0x0F] +\n HEX_CHARS[(h7h >> 28) & 0x0F] + HEX_CHARS[(h7h >> 24) & 0x0F] +\n HEX_CHARS[(h7h >> 20) & 0x0F] + HEX_CHARS[(h7h >> 16) & 0x0F] +\n HEX_CHARS[(h7h >> 12) & 0x0F] + HEX_CHARS[(h7h >> 8) & 0x0F] +\n HEX_CHARS[(h7h >> 4) & 0x0F] + HEX_CHARS[h7h & 0x0F] +\n HEX_CHARS[(h7l >> 28) & 0x0F] + HEX_CHARS[(h7l >> 24) & 0x0F] +\n HEX_CHARS[(h7l >> 20) & 0x0F] + HEX_CHARS[(h7l >> 16) & 0x0F] +\n HEX_CHARS[(h7l >> 12) & 0x0F] + HEX_CHARS[(h7l >> 8) & 0x0F] +\n HEX_CHARS[(h7l >> 4) & 0x0F] + HEX_CHARS[h7l & 0x0F];\n }\n return hex;\n };\n\n Sha512.prototype.toString = Sha512.prototype.hex;\n\n Sha512.prototype.digest = function () {\n this.finalize();\n\n var h0h = this.h0h, h0l = this.h0l, h1h = this.h1h, h1l = this.h1l,\n h2h = this.h2h, h2l = this.h2l, h3h = this.h3h, h3l = this.h3l,\n h4h = this.h4h, h4l = this.h4l, h5h = this.h5h, h5l = this.h5l,\n h6h = this.h6h, h6l = this.h6l, h7h = this.h7h, h7l = this.h7l,\n bits = this.bits;\n\n var arr = [\n (h0h >> 24) & 0xFF, (h0h >> 16) & 0xFF, (h0h >> 8) & 0xFF, h0h & 0xFF,\n (h0l >> 24) & 0xFF, (h0l >> 16) & 0xFF, (h0l >> 8) & 0xFF, h0l & 0xFF,\n (h1h >> 24) & 0xFF, (h1h >> 16) & 0xFF, (h1h >> 8) & 0xFF, h1h & 0xFF,\n (h1l >> 24) & 0xFF, (h1l >> 16) & 0xFF, (h1l >> 8) & 0xFF, h1l & 0xFF,\n (h2h >> 24) & 0xFF, (h2h >> 16) & 0xFF, (h2h >> 8) & 0xFF, h2h & 0xFF,\n (h2l >> 24) & 0xFF, (h2l >> 16) & 0xFF, (h2l >> 8) & 0xFF, h2l & 0xFF,\n (h3h >> 24) & 0xFF, (h3h >> 16) & 0xFF, (h3h >> 8) & 0xFF, h3h & 0xFF\n ];\n\n if (bits >= 256) {\n arr.push((h3l >> 24) & 0xFF, (h3l >> 16) & 0xFF, (h3l >> 8) & 0xFF, h3l & 0xFF);\n }\n if (bits >= 384) {\n arr.push(\n (h4h >> 24) & 0xFF, (h4h >> 16) & 0xFF, (h4h >> 8) & 0xFF, h4h & 0xFF,\n (h4l >> 24) & 0xFF, (h4l >> 16) & 0xFF, (h4l >> 8) & 0xFF, h4l & 0xFF,\n (h5h >> 24) & 0xFF, (h5h >> 16) & 0xFF, (h5h >> 8) & 0xFF, h5h & 0xFF,\n (h5l >> 24) & 0xFF, (h5l >> 16) & 0xFF, (h5l >> 8) & 0xFF, h5l & 0xFF\n );\n }\n if (bits == 512) {\n arr.push(\n (h6h >> 24) & 0xFF, (h6h >> 16) & 0xFF, (h6h >> 8) & 0xFF, h6h & 0xFF,\n (h6l >> 24) & 0xFF, (h6l >> 16) & 0xFF, (h6l >> 8) & 0xFF, h6l & 0xFF,\n (h7h >> 24) & 0xFF, (h7h >> 16) & 0xFF, (h7h >> 8) & 0xFF, h7h & 0xFF,\n (h7l >> 24) & 0xFF, (h7l >> 16) & 0xFF, (h7l >> 8) & 0xFF, h7l & 0xFF\n );\n }\n return arr;\n };\n\n Sha512.prototype.array = Sha512.prototype.digest;\n\n Sha512.prototype.arrayBuffer = function () {\n this.finalize();\n\n var bits = this.bits;\n var buffer = new ArrayBuffer(bits / 8);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0h);\n dataView.setUint32(4, this.h0l);\n dataView.setUint32(8, this.h1h);\n dataView.setUint32(12, this.h1l);\n dataView.setUint32(16, this.h2h);\n dataView.setUint32(20, this.h2l);\n dataView.setUint32(24, this.h3h);\n\n if (bits >= 256) {\n dataView.setUint32(28, this.h3l);\n }\n if (bits >= 384) {\n dataView.setUint32(32, this.h4h);\n dataView.setUint32(36, this.h4l);\n dataView.setUint32(40, this.h5h);\n dataView.setUint32(44, this.h5l);\n }\n if (bits == 512) {\n dataView.setUint32(48, this.h6h);\n dataView.setUint32(52, this.h6l);\n dataView.setUint32(56, this.h7h);\n dataView.setUint32(60, this.h7l);\n }\n return buffer;\n };\n\n Sha512.prototype.clone = function () {\n var hash = new Sha512(this.bits, false);\n this.copyTo(hash);\n return hash;\n };\n\n Sha512.prototype.copyTo = function (hash) {\n var i = 0, attrs = [\n 'h0h', 'h0l', 'h1h', 'h1l', 'h2h', 'h2l', 'h3h', 'h3l', 'h4h', 'h4l', 'h5h', 'h5l', 'h6h', 'h6l', 'h7h', 'h7l',\n 'start', 'bytes', 'hBytes', 'finalized', 'hashed', 'lastByteIndex'\n ];\n for (i = 0; i < attrs.length; ++i) {\n hash[attrs[i]] = this[attrs[i]];\n }\n for (i = 0; i < this.blocks.length; ++i) {\n hash.blocks[i] = this.blocks[i];\n }\n };\n\n function HmacSha512(key, bits, sharedMemory) {\n var notString, type = typeof key;\n if (type !== 'string') {\n if (type === 'object') {\n if (key === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var length = key.length;\n if (!notString) {\n var bytes = [], length = key.length, index = 0, code;\n for (var i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >> 12));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >> 18));\n bytes[index++] = (0x80 | ((code >> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n }\n\n if (key.length > 128) {\n key = (new Sha512(bits, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (var i = 0; i < 128; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha512.call(this, bits, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha512.prototype = new Sha512();\n\n HmacSha512.prototype.finalize = function () {\n Sha512.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha512.call(this, this.bits, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha512.prototype.finalize.call(this);\n }\n };\n\n HmacSha512.prototype.clone = function () {\n var hash = new HmacSha512([], this.bits, false);\n this.copyTo(hash);\n hash.inner = this.inner;\n for (var i = 0; i < this.oKeyPad.length; ++i) {\n hash.oKeyPad[i] = this.oKeyPad[i];\n }\n return hash;\n };\n\n var exports = createMethod(512);\n exports.sha512 = exports;\n exports.sha384 = createMethod(384);\n exports.sha512_256 = createMethod(256);\n exports.sha512_224 = createMethod(224);\n exports.sha512.hmac = createHmacMethod(512);\n exports.sha384.hmac = createHmacMethod(384);\n exports.sha512_256.hmac = createHmacMethod(256);\n exports.sha512_224.hmac = createHmacMethod(224);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha512 = exports.sha512;\n root.sha384 = exports.sha384;\n root.sha512_256 = exports.sha512_256;\n root.sha512_224 = exports.sha512_224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","var json_stringify = require('./lib/stringify.js').stringify;\nvar json_parse = require('./lib/parse.js');\n\nmodule.exports = function(options) {\n return {\n parse: json_parse(options),\n stringify: json_stringify\n }\n};\n//create the default method members with no options applied for backwards compatibility\nmodule.exports.parse = json_parse();\nmodule.exports.stringify = json_stringify;\n","function translateBoxReference(reference, foreignApps, appIndex) {\n const referenceId = reference.appIndex;\n const referenceName = reference.name;\n const isOwnReference = referenceId === 0 || referenceId === appIndex;\n let index = 0;\n if (foreignApps != null) {\n // Foreign apps start from index 1; index 0 is its own app ID.\n index = foreignApps.indexOf(referenceId) + 1;\n }\n // Check if the app referenced is itself after checking the foreign apps array.\n // If index is zero, then the app ID was not found in the foreign apps array\n // or the foreign apps array was null.\n if (index === 0 && !isOwnReference) {\n // Error if the app is trying to reference a foreign app that was not in\n // its own foreign apps array.\n throw new Error(`Box ref with appId ${referenceId} not in foreign-apps`);\n }\n return { i: index, n: referenceName };\n}\n/**\n * translateBoxReferences translates an array of BoxReferences with app IDs\n * into an array of EncodedBoxReferences with foreign indices.\n */\nexport function translateBoxReferences(references, foreignApps, appIndex) {\n if (references == null)\n return [];\n return references.map((bx) => translateBoxReference(bx, foreignApps, appIndex));\n}\n//# sourceMappingURL=boxStorage.js.map","const dynamicFeeTemplate = require('./dynamicfee');\nconst htlcTemplate = require('./htlc');\nconst limitOrderTemplate = require('./limitorder');\nconst splitTemplate = require('./split');\nconst periodicPayTemplate = require('./periodicpayment');\nmodule.exports = {\n DynamicFee: dynamicFeeTemplate.DynamicFee,\n getDynamicFeeTransactions: dynamicFeeTemplate.getDynamicFeeTransactions,\n signDynamicFee: dynamicFeeTemplate.signDynamicFee,\n HTLC: htlcTemplate.HTLC,\n signTransactionWithHTLCUnlock: htlcTemplate.signTransactionWithHTLCUnlock,\n LimitOrder: limitOrderTemplate.LimitOrder,\n getSwapAssetsTransaction: limitOrderTemplate.getSwapAssetsTransaction,\n Split: splitTemplate.Split,\n getSplitFundsTransaction: splitTemplate.getSplitFundsTransaction,\n PeriodicPayment: periodicPayTemplate.PeriodicPayment,\n getPeriodicPaymentWithdrawalTransaction: periodicPayTemplate.getPeriodicPaymentWithdrawalTransaction,\n};\n//# sourceMappingURL=index.js.map","import * as address from './encoding/address';\nimport * as encoding from './encoding/encoding';\nimport * as nacl from './nacl/naclWrappers';\nimport * as utils from './utils/utils';\n/**\n * Bid enables construction of Algorand Auctions Bids\n * */\nexport default class Bid {\n constructor({ bidderKey, bidAmount, bidID, auctionKey, auctionID, maxPrice, }) {\n this.name = 'Bid';\n this.tag = Buffer.from([97, 66]); // \"aB\"\n const decodedBidderKey = address.decodeAddress(bidderKey);\n const decodedAuctionKey = address.decodeAddress(auctionKey);\n if (!Number.isSafeInteger(bidAmount) || bidAmount < 0)\n throw Error('Bid amount must be positive and 2^53-1');\n if (!Number.isSafeInteger(bidID) || bidID < 0)\n throw Error('BidID must be positive and 2^53-1');\n if (!Number.isSafeInteger(auctionID) || auctionID < 0)\n throw Error('auctionID must be positive');\n Object.assign(this, {\n bidderKey: decodedBidderKey,\n bidAmount,\n bidID,\n auctionKey: decodedAuctionKey,\n auctionID,\n maxPrice,\n });\n }\n // eslint-disable-next-line camelcase\n get_obj_for_encoding() {\n return {\n bidder: Buffer.from(this.bidderKey.publicKey),\n cur: this.bidAmount,\n price: this.maxPrice,\n id: this.bidID,\n auc: Buffer.from(this.auctionKey.publicKey),\n aid: this.auctionID,\n };\n }\n signBid(sk) {\n const encodedMsg = encoding.encode(this.get_obj_for_encoding());\n const toBeSigned = Buffer.from(utils.concatArrays(this.tag, encodedMsg));\n const sig = nacl.sign(toBeSigned, sk);\n // construct signed message\n const sBid = {\n sig: Buffer.from(sig),\n bid: this.get_obj_for_encoding(),\n };\n const note = {\n t: 'b',\n b: sBid,\n };\n return new Uint8Array(encoding.encode(note));\n }\n}\n//# sourceMappingURL=bid.js.map","import { fetch } from 'cross-fetch';\nclass URLTokenBaseHTTPError extends Error {\n constructor(message, response) {\n super(message);\n this.response = response;\n this.name = 'URLTokenBaseHTTPError';\n this.response = response;\n }\n}\n/**\n * Implementation of BaseHTTPClient that uses a URL and a token\n * and make the REST queries using fetch.\n * This is the default implementation of BaseHTTPClient.\n */\nexport class URLTokenBaseHTTPClient {\n constructor(tokenHeader, baseServer, port, defaultHeaders = {}) {\n this.defaultHeaders = defaultHeaders;\n // Append a trailing slash so we can use relative paths. Without the trailing\n // slash, the last path segment will be replaced by the relative path. See\n // usage in `addressWithPath`.\n const fixedBaseServer = baseServer.endsWith('/')\n ? baseServer\n : `${baseServer}/`;\n const baseServerURL = new URL(fixedBaseServer);\n if (typeof port !== 'undefined') {\n baseServerURL.port = port.toString();\n }\n if (baseServerURL.protocol.length === 0) {\n throw new Error('Invalid base server URL, protocol must be defined.');\n }\n this.baseURL = baseServerURL;\n this.tokenHeader = tokenHeader;\n }\n /**\n * Compute the URL for a path relative to the instance's address\n * @param relativePath - A path string\n * @param query - An optional key-value object of query parameters to add to the URL. If the\n * relativePath already has query parameters on it, the additional parameters defined here will\n * be added to the URL without modifying those (unless a key collision occurs).\n * @returns A URL string\n */\n getURL(relativePath, query) {\n let fixedRelativePath;\n if (relativePath.startsWith('./')) {\n fixedRelativePath = relativePath;\n }\n else if (relativePath.startsWith('/')) {\n fixedRelativePath = `.${relativePath}`;\n }\n else {\n fixedRelativePath = `./${relativePath}`;\n }\n const address = new URL(fixedRelativePath, this.baseURL);\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n address.searchParams.set(key, value);\n }\n }\n return address.toString();\n }\n static formatFetchResponseHeaders(headers) {\n const headersObj = {};\n headers.forEach((key, value) => {\n headersObj[key] = value;\n });\n return headersObj;\n }\n static async checkHttpError(res) {\n if (res.ok) {\n return;\n }\n let body = null;\n let bodyErrorMessage = null;\n try {\n body = new Uint8Array(await res.arrayBuffer());\n const decoded = JSON.parse(Buffer.from(body).toString());\n if (decoded.message) {\n bodyErrorMessage = decoded.message;\n }\n }\n catch (_) {\n // ignore any error that happened while we are parsing the error response\n }\n let message = `Network request error. Received status ${res.status} (${res.statusText})`;\n if (bodyErrorMessage) {\n message += `: ${bodyErrorMessage}`;\n }\n throw new URLTokenBaseHTTPError(message, {\n body,\n status: res.status,\n headers: URLTokenBaseHTTPClient.formatFetchResponseHeaders(res.headers),\n });\n }\n static async formatFetchResponse(res) {\n await this.checkHttpError(res);\n return {\n body: new Uint8Array(await res.arrayBuffer()),\n status: res.status,\n headers: URLTokenBaseHTTPClient.formatFetchResponseHeaders(res.headers),\n };\n }\n async get(relativePath, query, requestHeaders = {}) {\n // Expand headers for use in fetch\n const headers = {\n ...this.tokenHeader,\n ...this.defaultHeaders,\n ...requestHeaders,\n };\n const res = await fetch(this.getURL(relativePath, query), {\n mode: 'cors',\n headers,\n });\n return URLTokenBaseHTTPClient.formatFetchResponse(res);\n }\n async post(relativePath, data, query, requestHeaders = {}) {\n // Expand headers for use in fetch\n const headers = {\n ...this.tokenHeader,\n ...this.defaultHeaders,\n ...requestHeaders,\n };\n const res = await fetch(this.getURL(relativePath, query), {\n method: 'POST',\n mode: 'cors',\n body: data,\n headers,\n });\n return URLTokenBaseHTTPClient.formatFetchResponse(res);\n }\n async delete(relativePath, data, query, requestHeaders = {}) {\n // Expand headers for use in fetch\n const headers = {\n ...this.tokenHeader,\n ...this.defaultHeaders,\n ...requestHeaders,\n };\n const res = await fetch(this.getURL(relativePath, query), {\n method: 'DELETE',\n mode: 'cors',\n body: data,\n headers,\n });\n return URLTokenBaseHTTPClient.formatFetchResponse(res);\n }\n}\n//# sourceMappingURL=urlTokenBaseHTTPClient.js.map","import JSONRequest from '../jsonrequest';\nimport * as encoding from '../../../encoding/encoding';\nimport { setHeaders } from './compile';\nexport default class Dryrun extends JSONRequest {\n constructor(c, dr) {\n super(c);\n this.blob = encoding.encode(dr.get_obj_for_encoding(true));\n }\n // eslint-disable-next-line class-methods-use-this\n path() {\n return '/v2/teal/dryrun';\n }\n /**\n * Executes dryrun\n * @param headers - A headers object\n */\n async do(headers = {}) {\n const txHeaders = setHeaders(headers);\n const res = await this.c.post(this.path(), Buffer.from(this.blob), txHeaders);\n return res.body;\n }\n}\n//# sourceMappingURL=dryrun.js.map","import JSONRequest from '../jsonrequest';\nimport { Box } from './models/types';\n/**\n * Given an application ID and the box name (key), return the value stored in the box.\n *\n * #### Example\n * ```typescript\n * const index = 60553466;\n * const boxName = Buffer.from(\"foo\");\n * const boxResponse = await algodClient.getApplicationBoxByName(index, boxName).do();\n * const boxValue = boxResponse.value;\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2applicationsapplication-idbox)\n * @param index - The application ID to look up.\n * @category GET\n */\nexport default class GetApplicationBoxByName extends JSONRequest {\n constructor(c, intDecoding, index, name) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n // Encode name in base64 format and append the encoding prefix.\n const encodedName = Buffer.from(name).toString('base64');\n this.query.name = encodeURI(`b64:${encodedName}`);\n }\n /**\n * @returns `/v2/applications/${index}/box`\n */\n path() {\n return `/v2/applications/${this.index}/box`;\n }\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n return Box.from_obj_for_encoding(body);\n }\n}\n//# sourceMappingURL=getApplicationBoxByName.js.map","import JSONRequest from '../jsonrequest';\nimport { Box } from './models/types';\nexport default class LookupApplicationBoxByIDandName extends JSONRequest {\n /**\n * Returns information about indexed application boxes.\n *\n * #### Example\n * ```typescript\n * const boxName = Buffer.from(\"foo\");\n * const boxResponse = await indexerClient\n * .LookupApplicationBoxByIDandName(1234, boxName)\n * .do();\n * const boxValue = boxResponse.value;\n * ```\n *\n * [Response data schema details](https://developer.algorand.org/docs/rest-apis/indexer/#get-v2applicationsapplication-idbox)\n * @oaram index - application index.\n * @category GET\n */\n constructor(c, intDecoding, index, boxName) {\n super(c, intDecoding);\n this.index = index;\n this.index = index;\n // Encode query in base64 format and append the encoding prefix.\n const encodedName = Buffer.from(boxName).toString('base64');\n this.query.name = encodeURI(`b64:${encodedName}`);\n }\n /**\n * @returns `/v2/applications/${index}/box`\n */\n path() {\n return `/v2/applications/${this.index}/box`;\n }\n // eslint-disable-next-line class-methods-use-this\n prepare(body) {\n return Box.from_obj_for_encoding(body);\n }\n}\n//# sourceMappingURL=lookupApplicationBoxByIDandName.js.map","function e(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&\"undefined\"!=typeof document){var a=document.head||document.getElementsByTagName(\"head\")[0],o=document.createElement(\"style\");o.type=\"text/css\",\"top\"===n&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}e(\":root {\\n --gray-800: #242424;\\n}\");e(\".pera-onramp-modal-wrapper {\\n position: fixed;\\n top: 0;\\n right: 0;\\n left: 0;\\n bottom: 0;\\n z-index: 999999;\\n width: 100vw;\\n min-height: calc(100 * var(--vh));\\n background-color: rgba(0, 0, 0, 0.7);\\n}\\n\\n@media only screen and (max-width: 706px) {\\n .pera-onramp-modal-wrapper {\\n overflow-y: hidden;\\n min-height: 100%;\\n }\\n}\");class t extends Error{constructor(e,n,...a){super(...a),Error.captureStackTrace&&Error.captureStackTrace(this,t),this.name=\"PeraOnrampError\",this.data=e,this.message=n}}const n={ADDRESS:\"account-address\",AVAILABLE_ASSETS:\"available-assets\",PLATFORM:\"platform\",OPT_IN_ENABLED:\"opt-in-enabled\"},a={CLASSNAME:\"pera-onramp-modal\",QUERY_SELECTOR:\".pera-onramp-modal\"},o={CLASSNAME:\"pera-onramp-modal__onramp-iframe\",QUERY_SELECTOR:\".pera-onramp-modal__onramp-iframe\"},r={CLASSNAME:\"pera-onramp-modal__close-button\",QUERY_SELECTOR:\".pera-onramp-modal__close-button\"},s={CLASSNAME:\"pera-onramp-modal__close-button-icon\",QUERY_SELECTOR:\".pera-onramp-modal__close-button-icon\"};function i(){return window.location.origin.includes(\"web.perawallet.app\")}var l=\".pera-onramp-modal {\\n position: relative;\\n top: 0;\\n left: 50%;\\n width: 706px;\\n height: 703px;\\n border-radius: 24px;\\n background-color: transparent;\\n transform: translate(-50%, 80px);\\n animation: 0.5s PeraOnrampModalSlideIn ease-out;\\n}\\n.pera-onramp-modal--web-wallet {\\n width: 437px;\\n}\\n\\n.pera-onramp-modal__onramp-iframe {\\n width: 100%;\\n height: 100%;\\n border: none;\\n border-radius: inherit;\\n animation: 0.7s PeraOnrampIframeAnimation ease-in-out;\\n}\\n\\n.pera-onramp-modal__close-button {\\n position: absolute;\\n top: -52px;\\n right: -52px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n width: 40px;\\n height: 40px;\\n padding: 8px;\\n background: var(--gray-800);\\n border: none;\\n border-radius: 8px;\\n cursor: pointer;\\n}\\n\\n.pera-onramp-modal__close-button-icon {\\n width: 20px;\\n height: 20px;\\n}\\n\\n@media only screen and (max-width: 706px) {\\n .pera-onramp-modal {\\n top: 40px;\\n left: 0;\\n bottom: 0;\\n width: 100%;\\n height: calc(100% - 40px);\\n transform: unset;\\n animation: 0.5s PeraOnrampModalMobileSlideIn ease-out;\\n }\\n\\n .pera-onramp-modal__onramp-iframe {\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 0;\\n }\\n\\n .pera-onramp-modal__close-button {\\n top: 18px;\\n right: 18px;\\n width: 24px;\\n height: 24px;\\n background: transparent;\\n border-radius: 0;\\n }\\n\\n .pera-onramp-modal__close-button-icon {\\n width: 24px;\\n height: 24px;\\n }\\n}\\n@keyframes PeraOnrampIframeAnimation {\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n}\\n@keyframes PeraOnrampModalSlideIn {\\n 0% {\\n opacity: 0;\\n transform: translate(-50%, 104px);\\n }\\n 100% {\\n opacity: 1;\\n transform: translate(-50%, 80px);\\n }\\n}\\n@keyframes PeraOnrampModalMobileSlideIn {\\n 0% {\\n top: 30%;\\n opacity: 0;\\n }\\n 100% {\\n top: 40px;\\n opacity: 1;\\n }\\n}\";e(l);function d(){document.documentElement.style.setProperty(\"--vh\",.01*window.innerHeight+\"px\")}const c=document.createElement(\"template\");class p extends HTMLElement{constructor(){if(super(),this.attachShadow({mode:\"open\"}),this.render(),this.shadowRoot){const e=document.createElement(\"style\");e.textContent=l,this.shadowRoot.append(c.content.cloneNode(!0),e)}}getGenericAttribute(e){return this.getAttribute(n[e])}connectedCallback(){if(this.shadowRoot){const e=this.shadowRoot.querySelector(r.QUERY_SELECTOR);!function({baseUrl:e,iframe:t,accountAddress:a,availableAssets:o,platform:r,optInEnabled:s}){const l=new URL(e);l.searchParams.set(n.ADDRESS,a),l.searchParams.set(n.AVAILABLE_ASSETS,o),i()?l.searchParams.set(n.PLATFORM,\"web-wallet\"):l.searchParams.set(n.PLATFORM,r),l.searchParams.set(n.OPT_IN_ENABLED,s),t.setAttribute(\"src\",l.toString())}({baseUrl:\"https://onramp.perawallet.app/widget\",iframe:this.shadowRoot.querySelector(o.QUERY_SELECTOR),accountAddress:this.getGenericAttribute(\"ADDRESS\"),availableAssets:this.getGenericAttribute(\"AVAILABLE_ASSETS\"),platform:this.getGenericAttribute(\"PLATFORM\"),optInEnabled:this.getGenericAttribute(\"OPT_IN_ENABLED\")}),e.addEventListener(\"click\",(()=>{this.closeModal()})),this.render()}}render(){c.innerHTML=`\\n
\\n \\n\\n \\n
\\n `}closeModal(){const e=document.querySelector(\".pera-onramp-modal-wrapper\");e&&e.remove()}}window.addEventListener(\"DOMContentLoaded\",(()=>{d()})),window.addEventListener(\"resize\",(()=>{d()}));const m=new class{constructor(e){this.listener=void 0,this.channel=e.channel}setupListener({onReceiveMessage:e}){this.close(),this.listener=t=>{if(\"object\"==typeof t.data)try{t.data.channel===this.channel&&e(t)}catch(e){console.error(e)}},window.addEventListener(\"message\",this.listener)}sendMessage({message:e,targetWindow:t,origin:n,timeout:a=1e3}){setTimeout((()=>{const a={channel:this.channel,message:e};t.postMessage(a,{targetOrigin:n||\"*\"})}),a)}close(){this.listener&&(window.removeEventListener(\"message\",this.listener),this.listener=void 0)}}({channel:\"pera-onramp\"}),h=[\"ALGO\",\"USDC-A\",\"USDT-A\"];class u{constructor(e){this.availableAssets=h,(null==e?void 0:e.availableAssets)&&(null==e?void 0:e.availableAssets.length)&&(this.availableAssets=e.availableAssets),this.optInEnabled=(null==e?void 0:e.optInEnabled)||!1,this.platform=(null==e?void 0:e.platform)||\"package\",this.messagePromise=new Promise(((e,t)=>{this.messageResolve=e,this.messageReject=t})),m.setupListener({onReceiveMessage:e=>{const{message:t}=e.data;\"CONTINUE_CLICKED_AFTER_ADD_FUNDS_COMPLETED\"===t.type&&this.messageResolve(\"ADDING_FUNDS_COMPLETED\")}})}addFunds({accountAddress:e}){var n,s;!function({accountAddress:e,availableAssets:n,optInEnabled:a,platform:r,messageReject:s}){if(!document.body.contains(document.querySelector(\"pera-onramp-modal\"))){const i=document.createElement(\"div\");i.className=\"pera-onramp-modal-wrapper\";const l=document.createElement(\"pera-onramp-modal\");l.setAttribute(\"account-address\",e),l.setAttribute(\"available-assets\",n),l.setAttribute(\"opt-in-enabled\",a),l.setAttribute(\"platform\",r),document.addEventListener(\"click\",(e=>{var n;e.target===(null===(n=l.shadowRoot)||void 0===n?void 0:n.querySelector(o.QUERY_SELECTOR))||e.target!==document.querySelector(\".pera-onramp-modal-wrapper\")&&e.target!==document.querySelector(\"pera-onramp-modal\")||(i.remove(),s(new t({type:\"MODAL_CLOSED_BY_USER\",detail:\"Modal closed by user\"},\"Modal closed by user\")))})),i.appendChild(l),document.body.appendChild(i)}}({accountAddress:e,availableAssets:this.availableAssets.join(\",\"),optInEnabled:this.optInEnabled.toString(),platform:this.platform,messageReject:this.messageReject});return(null===(s=null===(n=document.querySelector(\"pera-onramp-modal\"))||void 0===n?void 0:n.shadowRoot)||void 0===s?void 0:s.querySelector(`${a.QUERY_SELECTOR} ${r.QUERY_SELECTOR}`)).addEventListener(\"click\",(()=>{this.messageReject(new t({type:\"MODAL_CLOSED_BY_USER\",detail:\"Modal closed by user\"},\"Modal closed by user\"))})),this.messagePromise}on(e){m.setupListener({onReceiveMessage:t=>{const{message:n}=t.data;\"OPT_IN_REQUEST\"===n.type&&e.OPT_IN_REQUEST&&e.OPT_IN_REQUEST({accountAddress:n.accountAddress,assetID:n.assetID}),\"ADD_FUNDS_COMPLETED\"===n.type&&e.ADD_FUNDS_COMPLETED&&e.ADD_FUNDS_COMPLETED(),\"ADD_FUNDS_FAILED\"===n.type&&e.ADD_FUNDS_FAILED&&e.ADD_FUNDS_FAILED(),\"CONTINUE_CLICKED_AFTER_ADD_FUNDS_COMPLETED\"===n.type&&this.messageResolve(\"ADDING_FUNDS_COMPLETED\")}})}close(){const e=document.querySelector(\".pera-onramp-modal-wrapper\");e&&(e.remove(),this.messageReject(new t({type:\"MODAL_CLOSED_PROGRAMMATICALLY\",detail:\"Modal closed programmatically\"},\"Modal closed programmatically\")))}}\"undefined\"!=typeof window&&customElements.define(\"pera-onramp-modal\",p);export{u as PeraOnramp};\n","//Defined basic methods related to channels\r\nimport algosdk from \"algosdk\";\r\nimport { NOTIBOY_APP_INDEX, DAPP_ESCROW, NOTIBOY_SC_ADDR, CHANNEL_CREATION_FEE, USER_BOX_CREATION_FEE, ASA_ASSET, LOCAL_INTS, GLOBAL_INTS, LOCAL_BYTES, GLOBAL_BYTES, APP_ARG_NULL, NOTIBOY_BOX_NAME, CHANNEL_NOOP_TXNS, MAX_MAIN_BOX_MSG_SIZE, } from \"./constants\";\r\nimport RPC from \"./rpc\";\r\nimport Notification from \"./notifications\";\r\nimport Channel from \"./channel\";\r\nexport default class SDK extends RPC {\r\n //Get notifications from a channel\r\n notification() {\r\n return new Notification(this.client, this.indexer);\r\n }\r\n isValidAddress(address) {\r\n return algosdk.isValidAddress(address);\r\n }\r\n //Channel Creation\r\n async createChannel(sender) {\r\n //Reading teal code\r\n const tealProgram = Channel();\r\n const programBytes = this.convertToIntArray(tealProgram);\r\n const compiledTeal = await this.client.compile(programBytes).do();\r\n const compiledBytes = new Uint8Array(Buffer.from(compiledTeal.result, \"base64\"));\r\n //Fetching prameters\r\n const onComplete = algosdk.OnApplicationComplete.NoOpOC;\r\n const params = await this.client.getTransactionParams().do();\r\n //Return the transaction for signing\r\n return algosdk.makeApplicationCreateTxnFromObject({\r\n onComplete: onComplete,\r\n from: sender,\r\n suggestedParams: params,\r\n approvalProgram: compiledBytes,\r\n clearProgram: compiledBytes,\r\n numLocalInts: LOCAL_INTS,\r\n numLocalByteSlices: LOCAL_BYTES,\r\n numGlobalInts: GLOBAL_INTS,\r\n numGlobalByteSlices: GLOBAL_BYTES,\r\n appArgs: APP_ARG_NULL,\r\n });\r\n }\r\n //Opt-in to Notiboy smart contract by creator address & and payment of one-time fee\r\n async channelContractOptin(sender, creatorAppIndex, channelName) {\r\n const boxNameArray = this.convertToIntArray(NOTIBOY_BOX_NAME);\r\n const boxes = [\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n ];\r\n if (this.encodeString(channelName).length > 10)\r\n throw Error;\r\n const appArgs = [\r\n this.convertToIntArray(\"dapp\"),\r\n this.encodeString(channelName),\r\n ];\r\n const params = await this.client.getTransactionParams().do();\r\n //channel creation fee\r\n const paymentTxn = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({\r\n from: sender,\r\n assetIndex: ASA_ASSET,\r\n suggestedParams: params,\r\n to: DAPP_ESCROW,\r\n amount: CHANNEL_CREATION_FEE,\r\n });\r\n //Optin\r\n const optinTransaction = algosdk.makeApplicationOptInTxnFromObject({\r\n from: sender,\r\n suggestedParams: params,\r\n appIndex: NOTIBOY_APP_INDEX,\r\n appArgs: appArgs,\r\n foreignAssets: [ASA_ASSET],\r\n foreignApps: [creatorAppIndex],\r\n });\r\n //Noop Txns\r\n const noopTxns = this.createNoopTransactions(CHANNEL_NOOP_TXNS, sender, params, NOTIBOY_APP_INDEX, boxes, []);\r\n //Group Transactions\r\n const basicTxns = [paymentTxn, optinTransaction];\r\n const groupTxns = basicTxns.concat(noopTxns);\r\n algosdk.assignGroupID(groupTxns);\r\n return groupTxns;\r\n }\r\n //Channel Deletion (first we have to close-out and then delete the SC)\r\n async channelDelete(sender, creatorAppIndex) {\r\n //Fetching prameters\r\n const params = await this.client.getTransactionParams().do();\r\n //Return the transaction for signing\r\n return algosdk.makeApplicationDeleteTxnFromObject({\r\n from: sender,\r\n appIndex: creatorAppIndex,\r\n suggestedParams: params,\r\n });\r\n }\r\n //Channel Opt-out from Notiboy contract\r\n async channelContractOptout(sender, creatorAppIndex, channelName, channelBoxIndex) {\r\n const boxNameArray = this.convertToIntArray(NOTIBOY_BOX_NAME);\r\n const boxes = [\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n ];\r\n const appArgs = [\r\n this.convertToIntArray(\"dapp\"),\r\n this.encodeString(channelName),\r\n algosdk.bigIntToBytes(channelBoxIndex, 8),\r\n ];\r\n const params = await this.client.getTransactionParams().do();\r\n //closeOut\r\n const closeOutTransaction = algosdk.makeApplicationCloseOutTxnFromObject({\r\n from: sender,\r\n appIndex: NOTIBOY_APP_INDEX,\r\n suggestedParams: params,\r\n foreignApps: [creatorAppIndex],\r\n appArgs: appArgs,\r\n });\r\n //Noop Txns\r\n const noopTxns = this.createNoopTransactions(CHANNEL_NOOP_TXNS, sender, params, NOTIBOY_APP_INDEX, boxes, []);\r\n //Group Transactions\r\n const basicTxns = [closeOutTransaction];\r\n const groupTxns = basicTxns.concat(noopTxns);\r\n algosdk.assignGroupID(groupTxns);\r\n return groupTxns;\r\n }\r\n //User opt-in to Notiboy SC\r\n async userContractOptin(sender) {\r\n const boxNameArray = algosdk.decodeAddress(sender).publicKey;\r\n const boxes = [\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n ];\r\n const appArgs = [this.convertToIntArray(\"user\")];\r\n const params = await this.client.getTransactionParams().do();\r\n const paymentTxn = algosdk.makePaymentTxnWithSuggestedParamsFromObject({\r\n from: sender,\r\n suggestedParams: params,\r\n to: NOTIBOY_SC_ADDR,\r\n amount: USER_BOX_CREATION_FEE,\r\n });\r\n //Optin\r\n const optinTransaction = algosdk.makeApplicationOptInTxnFromObject({\r\n from: sender,\r\n suggestedParams: params,\r\n appIndex: NOTIBOY_APP_INDEX,\r\n appArgs: appArgs,\r\n boxes: boxes,\r\n });\r\n //Group Transactions\r\n const groupTxns = [paymentTxn, optinTransaction];\r\n algosdk.assignGroupID(groupTxns);\r\n return groupTxns;\r\n }\r\n //User opt-in to a channel\r\n async userChannelOptin(sender, channelAppIndex) {\r\n const params = await this.client.getTransactionParams().do();\r\n const optinTransaction = algosdk.makeApplicationOptInTxnFromObject({\r\n from: sender,\r\n suggestedParams: params,\r\n appIndex: channelAppIndex,\r\n });\r\n return optinTransaction;\r\n }\r\n //User Opt-out of channel\r\n async userChannelOptout(sender, channelAppIndex) {\r\n const params = await this.client.getTransactionParams().do();\r\n const optOutTransaction = algosdk.makeApplicationCloseOutTxnFromObject({\r\n from: sender,\r\n suggestedParams: params,\r\n appIndex: channelAppIndex,\r\n });\r\n return optOutTransaction;\r\n }\r\n //Read channel list\r\n async getChannelList() {\r\n try {\r\n const boxResponse = await this.client\r\n .getApplicationBoxByName(NOTIBOY_APP_INDEX, this.convertToIntArray(NOTIBOY_BOX_NAME))\r\n .do();\r\n const value = boxResponse.value;\r\n //Getting each channel details as chunk\r\n const chunks = [];\r\n const channels = [];\r\n for (let i = 0; i < value.length; i += MAX_MAIN_BOX_MSG_SIZE) {\r\n chunks.push(value.slice(i, i + MAX_MAIN_BOX_MSG_SIZE));\r\n }\r\n for (let i = 0; i < chunks.length; i++) {\r\n if (this.checkIsZeroValue(chunks[i])) {\r\n continue;\r\n }\r\n else {\r\n const channel = this.parseMainBoxChunk(chunks[i], i);\r\n channels.push(channel);\r\n }\r\n }\r\n return channels;\r\n }\r\n catch (error) {\r\n return [];\r\n }\r\n }\r\n //Get counter for personal and public notification\r\n async getCounter(sender) {\r\n try {\r\n const localState = await this.indexer\r\n .lookupAccountAppLocalStates(sender)\r\n .applicationID(NOTIBOY_APP_INDEX)\r\n .do();\r\n if (localState[\"apps-local-states\"] == undefined)\r\n return { personalNotification: 0, publicNotification: 0 };\r\n const transactionDetails = localState[\"apps-local-states\"][0][\"key-value\"];\r\n return this.readCounter(transactionDetails);\r\n }\r\n catch (error) {\r\n return { personalNotification: 0, publicNotification: 0 };\r\n }\r\n }\r\n //Get channel smart contract appIndex related to an address from address local state\r\n async getAddressAppIndex(sender) {\r\n try {\r\n const localState = await this.indexer\r\n .lookupAccountAppLocalStates(sender)\r\n .applicationID(NOTIBOY_APP_INDEX)\r\n .do();\r\n if (localState[\"apps-local-states\"] == undefined)\r\n return {\r\n channelAppIndex: 0,\r\n channelName: \"Null\",\r\n };\r\n const transactionDetails = localState[\"apps-local-states\"][0][\"key-value\"];\r\n return this.readAppIndex(transactionDetails);\r\n }\r\n catch (error) {\r\n return {\r\n channelAppIndex: 0,\r\n channelName: \"Null\",\r\n };\r\n }\r\n }\r\n //Get opt-in state of an address to notiboy SC\r\n async getNotiboyOptinState(address) {\r\n try {\r\n const accountInfo = await this.indexer.lookupAccountByID(address).do();\r\n if (accountInfo[\"account\"][\"apps-local-state\"] == undefined)\r\n return false;\r\n for (let i = 0; i < accountInfo[\"account\"][\"apps-local-state\"].length; i++) {\r\n if (accountInfo[\"account\"][\"apps-local-state\"][i].id === NOTIBOY_APP_INDEX) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n //Get opt-in state of an address to channel SC\r\n async getChannelScOptinState(address, channelAppIndex) {\r\n try {\r\n const accountInfo = await this.indexer.lookupAccountByID(address).do();\r\n if (accountInfo[\"account\"][\"apps-local-state\"] == undefined)\r\n return false;\r\n for (let i = 0; i < accountInfo[\"account\"][\"apps-local-state\"].length; i++) {\r\n if (accountInfo[\"account\"][\"apps-local-state\"][i].id === channelAppIndex) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n //Get opt-in address list\r\n async getOptinAddressList(channelAppIndex) {\r\n try {\r\n let nextToken = \"\";\r\n let accountInfo;\r\n const addressList = [];\r\n //A do while loop to get full list of asset ids\r\n do {\r\n if (nextToken == \"\") {\r\n accountInfo = await this.indexer\r\n .searchAccounts()\r\n .applicationID(channelAppIndex)\r\n .do();\r\n nextToken = accountInfo[\"next-token\"];\r\n for (let i = 0; i < accountInfo[\"accounts\"].length; i++)\r\n addressList.push(accountInfo[\"accounts\"][i].address);\r\n }\r\n else {\r\n accountInfo = await this.indexer\r\n .searchAccounts()\r\n .applicationID(channelAppIndex)\r\n .nextToken(nextToken)\r\n .do();\r\n nextToken = accountInfo[\"next-token\"];\r\n for (let i = 0; i < accountInfo[\"accounts\"].length; i++)\r\n addressList.push(accountInfo[\"accounts\"][i].address);\r\n }\r\n } while (accountInfo[\"accounts\"].length > 0);\r\n return addressList;\r\n }\r\n catch (error) {\r\n return [\"0\"];\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=sdk.js.map","//Defined the methods for notifications\r\nimport algosdk from \"algosdk\";\r\nimport RPC from \"./rpc\";\r\nimport { NOTIBOY_APP_INDEX, APP_ARG_PUB, APP_ARG_PVT, MAX_USER_BOX_MSG_SIZE, } from \"./constants\";\r\nexport default class Notification extends RPC {\r\n // Send Public Notification\r\n async sendPublicNotification(sender, channelAppIndex, notification) {\r\n const note = this.encodeString(notification);\r\n if (note.length > 180)\r\n throw Error;\r\n const appArgs = [this.encodeString(APP_ARG_PUB)];\r\n const foreignApps = [channelAppIndex];\r\n const params = await this.client.getTransactionParams().do();\r\n const notificationTransaction = algosdk.makeApplicationNoOpTxnFromObject({\r\n from: sender,\r\n suggestedParams: params,\r\n appIndex: NOTIBOY_APP_INDEX,\r\n appArgs: appArgs,\r\n foreignApps: foreignApps,\r\n note: note,\r\n });\r\n return notificationTransaction;\r\n }\r\n // Send Personal Notification\r\n async sendPersonalNotification(sender, receiver, channelAppIndex, channelName, notification) {\r\n const note = this.encodeString(notification);\r\n if (note.length > 280)\r\n throw Error;\r\n const boxNameArray = algosdk.decodeAddress(receiver).publicKey;\r\n const boxes = [\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n { appIndex: 0, name: boxNameArray },\r\n ];\r\n const appArgs = [\r\n this.encodeString(APP_ARG_PVT),\r\n this.encodeString(channelName),\r\n ];\r\n const foreignApps = [channelAppIndex];\r\n const accounts = [receiver];\r\n const params = await this.client.getTransactionParams().do();\r\n const notificationTransaction = algosdk.makeApplicationNoOpTxnFromObject({\r\n from: sender,\r\n suggestedParams: params,\r\n appIndex: NOTIBOY_APP_INDEX,\r\n appArgs: appArgs,\r\n accounts: accounts,\r\n foreignApps: foreignApps,\r\n note: note,\r\n boxes: boxes,\r\n });\r\n return notificationTransaction;\r\n }\r\n //Read Public notifications\r\n async getPublicNotification(channelAppIndex) {\r\n try {\r\n const appInfo = await this.indexer\r\n .lookupApplications(channelAppIndex)\r\n .do();\r\n const localState = await this.indexer\r\n .lookupAccountAppLocalStates(appInfo[\"application\"][\"params\"].creator)\r\n .applicationID(NOTIBOY_APP_INDEX)\r\n .do();\r\n if (localState[\"apps-local-states\"] == undefined)\r\n return [];\r\n const transactionDetails = localState[\"apps-local-states\"][0][\"key-value\"];\r\n return this.getLocalState(transactionDetails);\r\n }\r\n catch (error) {\r\n return [];\r\n }\r\n }\r\n //Read Personal Notifications\r\n async getPersonalNotification(sender) {\r\n try {\r\n const boxName = algosdk.decodeAddress(sender).publicKey;\r\n const boxResponse = await this.client\r\n .getApplicationBoxByName(NOTIBOY_APP_INDEX, Buffer.from(boxName))\r\n .do();\r\n const value = boxResponse.value;\r\n const chunks = [];\r\n const notifications = [];\r\n //splitting the box data into chunks\r\n for (let i = 0; i < value.length; i += MAX_USER_BOX_MSG_SIZE) {\r\n chunks.push(value.slice(i, i + MAX_USER_BOX_MSG_SIZE));\r\n }\r\n // Getting the chunk with notification details(the chunks without notifications will have only zeros)\r\n for (let i = 0; i < chunks.length; i++) {\r\n for (let j = 0; j < 8; j++) {\r\n if (chunks[i][j] != 0) {\r\n const notification = this.parseUserBoxChunk(chunks[i]);\r\n notifications.push(notification);\r\n break;\r\n }\r\n }\r\n }\r\n return notifications;\r\n }\r\n catch (error) {\r\n return [];\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=notifications.js.map","//Code for creating a channel smart contract\r\nexport default function Channel() {\r\n return `#pragma version 7 \n int 1`;\r\n}\r\n//# sourceMappingURL=channel.js.map","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a