From 9dfa1aa6242065c6e52702dfe94acbe9c0ec4ce6 Mon Sep 17 00:00:00 2001 From: farnyser Date: Mon, 5 Aug 2024 13:43:46 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20blockwor?= =?UTF-8?q?ks-foundation/mango-v4@f5b4bd9dd081091d4377289b639ab9c4a2e1a6c8?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rs/.rustc_info.json | 2 +- rs/doc/search-index.js | 2 +- rs/doc/src/mango_v4/health/client.rs.html | 8 ++- ts/client/classes/As.html | 2 +- ts/client/classes/Bank.html | 14 +++--- ts/client/classes/BookSide.html | 6 +-- ts/client/classes/EmptyWallet.html | 2 +- ts/client/classes/FlashLoanWithdraw.html | 2 +- ts/client/classes/Group.html | 6 +-- ts/client/classes/HealthType.html | 2 +- ts/client/classes/I80F48.html | 8 +-- ts/client/classes/I80F48Dto.html | 2 +- ts/client/classes/InnerNode.html | 2 +- ts/client/classes/InterestRateParams.html | 2 +- ts/client/classes/LeafNode.html | 2 +- ts/client/classes/MangoAccount.html | 50 +++++++++---------- ts/client/classes/MangoClient.html | 14 +++--- ts/client/classes/MangoError.html | 2 +- ts/client/classes/MintInfo.html | 2 +- ts/client/classes/OpenbookV2Market.html | 6 +-- ts/client/classes/OpenbookV2Orders.html | 2 +- ts/client/classes/OpenbookV2PositionDto.html | 2 +- ts/client/classes/OracleConfigParams.html | 2 +- ts/client/classes/PerpEventQueue.html | 2 +- ts/client/classes/PerpMarket.html | 8 +-- ts/client/classes/PerpOo.html | 2 +- ts/client/classes/PerpOoDto.html | 2 +- ts/client/classes/PerpOrder.html | 2 +- ts/client/classes/PerpPosition.html | 6 +-- ts/client/classes/PerpPositionDto.html | 2 +- ts/client/classes/Serum3Market.html | 6 +-- ts/client/classes/Serum3Orders.html | 2 +- ts/client/classes/Serum3PositionDto.html | 2 +- ts/client/classes/StubOracle.html | 2 +- ts/client/classes/TokenConditionalSwap.html | 2 +- .../classes/TokenConditionalSwapDto.html | 2 +- ts/client/classes/TokenPosition.html | 14 +++--- ts/client/classes/TokenPositionDto.html | 2 +- ts/client/enums/OracleProvider.html | 2 +- ts/client/enums/SwapMode.html | 2 +- ts/client/enums/TransactionErrors.html | 2 +- ts/client/index.html | 12 ++--- ts/client/interfaces/AccountEquity.html | 2 +- ts/client/interfaces/BankForHealth.html | 2 +- ts/client/interfaces/CumulativeFunding.html | 2 +- ts/client/interfaces/Event.html | 2 +- ts/client/interfaces/ExactOutSwapParams.html | 4 +- ts/client/interfaces/Fee.html | 2 +- ts/client/interfaces/FillEvent.html | 2 +- ts/client/interfaces/LatestBlockhash.html | 2 +- ts/client/interfaces/LiqorPriceImpact.html | 2 +- ts/client/interfaces/LiquidateEvent.html | 2 +- ts/client/interfaces/LiquidationBatches.html | 2 +- .../interfaces/MangoSignatureStatus.html | 2 +- ts/client/interfaces/MarketInfo.html | 2 +- ts/client/interfaces/OutEvent.html | 2 +- .../PerpPositionsToBeLiquidated.html | 2 +- ts/client/interfaces/Quote.html | 2 +- ts/client/interfaces/QuoteParams.html | 2 +- ts/client/interfaces/Risk.html | 2 +- ts/client/interfaces/RouteInfo.html | 2 +- ts/client/interfaces/SwapParams.html | 4 +- ts/client/interfaces/TransactionFeeInfo.html | 2 +- ts/client/modules/BookSideType.html | 2 +- ts/client/modules/FlashLoanType.html | 2 +- ts/client/modules/HealthCheckKind.html | 2 +- ts/client/modules/OpenbookV2OrderType.html | 2 +- .../modules/OpenbookV2SelfTradeBehavior.html | 2 +- ts/client/modules/OpenbookV2Side.html | 2 +- ts/client/modules/PerpOrderSide.html | 2 +- ts/client/modules/PerpOrderType.html | 2 +- ts/client/modules/PerpSelfTradeBehavior.html | 2 +- ts/client/modules/Serum3OrderType.html | 2 +- .../modules/Serum3SelfTradeBehavior.html | 2 +- ts/client/modules/Serum3Side.html | 2 +- ...TokenConditionalSwapDisplayPriceStyle.html | 2 +- .../TokenConditionalSwapIntention.html | 2 +- 77 files changed, 148 insertions(+), 142 deletions(-) diff --git a/rs/.rustc_info.json b/rs/.rustc_info.json index eb5d38cdb..ce7b5fe19 100644 --- a/rs/.rustc_info.json +++ b/rs/.rustc_info.json @@ -1 +1 @@ -{"rustc_fingerprint":16177881181359009796,"outputs":{"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.70.0 (90c541806 2023-05-31)\nbinary: rustc\ncommit-hash: 90c541806f23a127002de5b4038be731ba1458ca\ncommit-date: 2023-05-31\nhost: x86_64-unknown-linux-gnu\nrelease: 1.70.0\nLLVM version: 16.0.2\n","stderr":""},"15729799797837862367":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/runner/.rustup/toolchains/1.70-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""}},"successes":{}} \ No newline at end of file +{"rustc_fingerprint":16451908261375133448,"outputs":{"15729799797837862367":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/runner/.rustup/toolchains/1.70-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.70.0 (90c541806 2023-05-31)\nbinary: rustc\ncommit-hash: 90c541806f23a127002de5b4038be731ba1458ca\ncommit-date: 2023-05-31\nhost: x86_64-unknown-linux-gnu\nrelease: 1.70.0\nLLVM version: 16.0.2\n","stderr":""}},"successes":{}} \ No newline at end of file diff --git a/rs/doc/search-index.js b/rs/doc/search-index.js index 84b0bb066..9ab53326c 100644 --- a/rs/doc/search-index.js +++ b/rs/doc/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"mango_v4":{"doc":"","t":"HDLOAAAALOLLLFLLLLLLLFAOOALOAAFLLALALLOAOLLAOOLLAOALLLLALLALLLODDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNDDDDDDDDDDDDDNNDNNNNDNNDDDEDDDDDDEDDNNNNDDNNNNNNNNDDDDDDDEEDEDEDDDDDDDDDDDDDDDDDDNNNNNDDDDDDDDEDDEDDDEDDDNNDDDDDDDDDDDDDDDDDDNLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAAMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRFFRFFRFFRFFIDDIDIDIIIILLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLMMMKLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLMMMMKKLLLLKKLLLLKKLKKLLLLLLLLLLLLLLLLLLKLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFNNNNNNNINNNNNNNNNNNNNNNNNNNNNNNNNNINNNENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNLLLLLLLLLKLLLLOOLLLLLKKLLLLLOOLLLLLLLLLLKLLDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLIDDENNNNDDDDNDEDDDLLLLLLLLLLMMMLLLKLLLLLLLLLLLLLLMKLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLMLLLMMLFFFFFLLKLLMLLLLLLLLLLLLLLLLLLLLLLLLLKLLMLMMMLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLMMFFMMMMLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIIKKKKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDDDDDDDDDDDDDDDNNENDNDNDDDDDDDDDDDDDNDDNDNDDDDDDDNDDDDDDDDDDNNDDDDDDLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMFFMMMLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDIDDDDLMMMLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLFLLLLLLLLLLLLLLLFFFFFFLLLLLLLLLLLLLLMMMMMKLKLKLKLKLKLKLMMMMMMMMMMLLLLLLLLLLLLLLMMMMMFMMMFMMLLLLLLLLLLLLLLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNDDNNNNDNNNNNDDDDENDNERRNIIDIDDERRNDNNNNDNDNNNNRNNNNDNNQENDNNNNNNRRRDDDGGGIDGGGNNDGENRRRNNNNNNNDGDDNNNNDDDNNDENDEEDDDEDNDRNNNNNNNNNNNNDGDNDNNNENNNNENNRRRIRRNRENNNNNNNNNDGDDNNNNEENDNNDNNNNNNRNNDNNNNEENNENNNNGNNDNNNNDNNNDRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMOOLLMLLLLLLLMLMMLLLLLLLMLMMLLLLLLLLLLMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMOOLMMMMMMMLMLLMMMMLLMLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMMMMMMMMMLMLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMFLLLLMMKLLLMMMMMMLLLLLLKLLLLLLLLLLLLLMMMLMMMMLMLLMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLMMMMFMMMMMMMMLLLLLMFFMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLMMLMLLFLMMMMMMMMMMMMMMOOMLLLLLLKLMMLMMMMMMMMMLMMMKLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMKLLLLMMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMMMMMMMMMMMLMKKKFFMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLMMLMMMMLMLMMMOOMMMMMMMMLLMMLMLLMMMLMMMLMLMMMMMMLLLLLLLMMMMMMLLLLLMMMMMLLLLLLLFLLLMMLLLMMLLMMLMMMMMLMMOOLLLLMMMMMMMFFFLLLLMMLFMAMLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLMLMLLMLLLMMLLLLLLMMMMLMMLMMLMMMMMMFMLMLMMMLMMMMLLLAAMMMMLMMMMLMMLMMMMFMMAMLLLLLMLMMMMMMMMMLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLMOOMLKLLKLLLMMMLLLMMMMMMMLLLLLMMLMLLAMMMLMMLLMMMMMAAAAMMMMMMLMMMLMLMMMLMMMMMMLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLMMLMLMMMMMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMMMMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMRFFRFFRFFRFFRFFRFFRFFRFFRFFRFFDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFF","n":["ID","Mango","__clone_box","account_seeds","accounts","accounts_ix","accounts_zerocopy","address_lookup_table_program","az","bank_seeds","borrow","borrow_mut","cast_from","check_id","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","drop","entry","error","error_msg","error_msg_typed","events","from","group_seeds","health","i80f48","id","id","init","instruction","into","logs","lossless_try_into","lossy_into","mango_account_seeds","mango_v4","openbook_v2_market_seeds","overflowing_as","overflowing_cast_from","program","require_msg","require_msg_typed","saturating_as","saturating_cast_from","serum3_cpi","serum_market_seeds","state","to_owned","try_from","try_into","type_id","types","unwrapped_as","unwrapped_cast_from","util","vzip","wrapping_as","wrapping_cast_from","zip","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountCreateV2","AccountCreateV3","AccountEdit","AccountExpand","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","FlashLoanSwapBegin","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthCheck","HealthRegionBegin","HealthRegionEnd","IxGateSet","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","StubOracleClose","StubOracleCreate","StubOracleSet","TokenAddBank","TokenChargeCollateralFees","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","alternate_owner_token_account","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","associated_token_program","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","event_heap","event_heap","event_queue","event_queue","event_queue","event_queue","existing_bank","fallback_oracle","fallback_oracle","fallback_oracle","fees_bank","fees_oracle","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","input_mint","instructions","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_vault","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","new_insurance_mint","new_insurance_vault","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_account","open_orders_account","open_orders_indexer","open_orders_indexer","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_ata_token_account","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_oracle","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","receiver_bank","rent","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_destination","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountCreateV2","AccountCreateV3","AccountEdit","AccountExpand","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Ask","Ask","Benchmark","Bid","Bid","CancelProvide","CancelProvide","ComputeAccountData","DecrementTake","DecrementTake","FlashLoanBegin","FlashLoanEnd","FlashLoanSwapBegin","FlashLoanType","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthCheck","HealthCheckKind","HealthRegionBegin","HealthRegionEnd","ImmediateOrCancel","ImmediateOrCancel","Init","InitRatio","InterestRateParams","IxGateSet","Limit","Limit","Limit","LiquidationEnd","LiquidationEndRatio","Maint","MaintRatio","Market","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceOrderType","OpenbookV2PostOrderType","OpenbookV2RegisterMarket","OpenbookV2SelfTradeBehavior","OpenbookV2SettleFunds","OpenbookV2Side","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PostOnly","PostOnly","PostOnly","PostOnlySlide","PostOnlySlide","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3OrderType","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SelfTradeBehavior","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","Serum3Side","StubOracleClose","StubOracleCreate","StubOracleSet","Swap","SwapWithoutFee","TokenAddBank","TokenChargeCollateralFees","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","Unknown","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","adjustment_factor","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","alternate_owner_token_account","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","associated_token_program","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","close_ctx","compute_budget","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","eq","event_heap","event_heap","event_queue","event_queue","event_queue","event_queue","existing_bank","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","fallback_oracle","fallback_oracle","fallback_oracle","fees_bank","fees_oracle","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","input_mint","instructions","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","jupiter_mainnet_3","jupiter_mainnet_4","jupiter_mainnet_6","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_vault","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","max_rate","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","new_insurance_mint","new_insurance_vault","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_account","open_orders_account","open_orders_indexer","open_orders_indexer","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_ata_token_account","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_oracle","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","rate0","rate1","receiver_bank","rent","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_external","to_external","to_external_post_order_type","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","util0","util1","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_destination","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","AccountDataWriter","AccountInfoRef","AccountInfoRefMut","AccountReader","KeyedAccount","KeyedAccountReader","KeyedAccountSharedData","LoadMutZeroCopy","LoadMutZeroCopyRef","LoadZeroCopy","LoadZeroCopyRef","__clone_box","__clone_box","account","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_slice","borrow_slice","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","data","data","data","data","data","data","data","data","data_as_mut_slice","data_as_mut_slice","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","key","key","key","key","key","key","key","key","key","load","load","load","load","load","load","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_mut","load_mut","load_mut","load_mut_fully_unchecked","load_mut_fully_unchecked","load_mut_fully_unchecked","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","addresses","contains","cpi_extend","AccountIsFrozen","BankBorrowLimitReached","BankDepositLimit","BankNetBorrowsLimitReached","BeingLiquidated","BorrowsRequireHealthAccountBank","CannotSettleWithSelf","Contextable","DelegateWithdrawMustClosePosition","DelegateWithdrawOnlyToOwnerAta","DelegateWithdrawSmall","DepositLimit","DepositsIntoLiquidatingMustRecover","GroupIsHalted","HasLiquidatablePerpBasePosition","HasLiquidatablePositivePerpPnl","HasLiquidatableTokenPosition","HasOpenOrUnsettledSpotOrders","HasOpenPerpOrders","HasOpenPerpTakerFills","HealthAccountBankNotWritable","HealthMustBeNegative","HealthMustBePositive","HealthMustBePositiveOrIncrease","HealthRegionBadInnerInstruction","InitAssetWeightCantBeNegative","InsufficentBankVaultFunds","InvalidBank","InvalidCLMMOracle","InvalidFeedForCLMMOracle","InvalidFlashLoanTargetCpiProgram","InvalidHealth","InvalidHealthAccountCount","InvalidSequenceNumber","IsAnchorErrorWithCode","IsBankrupt","IsNotBankrupt","IxIsDisabled","MangoError","MarketInReduceOnlyMode","MathError","MaxSettleAmountMustBeGreaterThanZero","MissingFeedForCLMMOracle","NoFreeOpenbookV2OpenOrdersIndex","NoFreePerpPositionIndex","NoFreeSerum3OpenOrdersIndex","NoFreeTokenPositionIndex","NoLiquidatablePerpBasePosition","NotImplementedError","OpenbookV2OpenOrdersExistAlready","OracleConfidence","OracleStale","PerpHasBaseLots","PerpOrderIdNotFound","PerpPositionDoesNotExist","ProfitabilityMismatch","Serum3OpenOrdersExistAlready","SettlementAmountMustBePositive","SomeError","SpotPriceBandExceeded","TokenAssetLiquidationDisabled","TokenConditionalSwapAlreadyStarted","TokenConditionalSwapCantPayIncentive","TokenConditionalSwapExpired","TokenConditionalSwapIndexIdMismatch","TokenConditionalSwapMinBuyTokenNotReached","TokenConditionalSwapNotSet","TokenConditionalSwapNotStarted","TokenConditionalSwapPriceNotInRange","TokenConditionalSwapTakerPriceTooLow","TokenConditionalSwapTooSmallForStartIncentive","TokenConditionalSwapTypeNotStartable","TokenInForceClose","TokenInReduceOnlyMode","TokenPositionDoesNotExist","UnexpectedOracle","UnknownOracleType","WouldSelfTrade","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","context","deref","deref_mut","drop","error_code","error_msg","error_msg_typed","fmt","fmt","from","init","into","is_anchor_error_with_code","is_oracle_error","lossless_try_into","lossy_into","name","overflowing_as","overflowing_cast_from","require_msg","require_msg_typed","saturating_as","saturating_cast_from","to_owned","to_string","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","with_context","wrapping_as","wrapping_cast_from","Equity","MangoAccountData","PerpEquity","TokenEquity","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","data","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","drop","drop","drop","drop","equity","fmt","fmt","fmt","from","from","from","from","init","init","init","init","init_health","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_health","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market_index","perps","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","token_index","tokens","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","value","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountRetriever","FixedOrderAccountRetriever","HealthCache","HealthType","Init","LiquidationEnd","Maint","OpenbookV2","PerpInfo","Prices","ScannedBanksAndOracles","ScanningAccountRetriever","Serum3","SpotInfo","SpotMarketIndex","TokenBalance","TokenInfo","TokenMaxReserved","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","adjust_token_balance","ais","allow_asset_liquidation","asks_base_lots","asset","asset_weighted_price","assets_and_liabs","available_banks","available_banks","available_banks","az","az","az","az","az","az","az","az","az","az","az","az","balance_spot","bank_and_oracle","bank_and_oracle","bank_and_oracle","banks_mut_and_oracles","banks_mut_and_oracles","base_info_index","base_lot_size","base_lots","base_prices","begin_fallback_oracles","begin_openbook_v2","begin_perp","begin_serum3","bids_base_lots","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","check_has_all_spot_infos_for_token","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","compute_health","compute_health_from_fixed_accounts","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_variant","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","effective_token_balances","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","has_liq_spot_assets","has_liq_spot_borrows","has_open_fills","has_open_orders","has_perp_base_positions","has_perp_negative_pnl_no_base","has_perp_open_fills","has_perp_open_orders","has_perp_positive_pnl_no_base","has_phase1_liquidatable","has_phase2_liquidatable","has_phase3_liquidatable","has_possible_spot_liquidations","has_spot_open_orders_funds","has_token_info","has_zero_funds","health","health_assets_and_liabs_stable_assets","health_assets_and_liabs_stable_liabs","health_contribution","health_ratio","health_unsettled_pnl","in_phase1_liquidation","in_phase2_liquidation","in_phase3_liquidation","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","init_scaled_asset_weight","init_scaled_liab_weight","into","into","into","into","into","into","into","into","into","into","into","into","into_banks_and_oracles","is_liquidatable","leverage","liab","liab_weighted_price","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","max_borrow_for_health_ratio","max_perp_for_health_ratio","max_spot_reserved","max_swap_source_for_health_fn","max_swap_source_for_health_ratio_ignoring_limits","max_swap_source_for_health_ratio_with_limits","n_banks","n_perps","new","new_fixed_order_account_retriever","new_fixed_order_account_retriever_inner","new_fixed_order_account_retriever_with_optional_banks","new_health_cache","new_health_cache_skipping_missing_banks_and_bad_oracles","new_single_price","new_with_staleness","openbook_oo","openbook_oo","openbook_oo","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_info","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_index","perp_max_settle","prices","quote","quote_info_index","recompute_openbook_v2_info","recompute_perp_info","recompute_serum3_info","require_after_phase1_liquidation","require_after_phase2_liquidation","reserved_base","reserved_base_as_quote_lowest_ask","reserved_quote","reserved_quote_as_base_highest_bid","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scanned_bank_and_oracle","scanned_bank_and_oracle","scanned_openbook_oo","scanned_perp_market_and_oracle","scanned_serum_oo","serialize","serum_oo","serum_oo","serum_oo","settle_token_index","sol_oracle_index","spot_amount_given_for_health_zero","spot_amount_taken_for_health_zero","spot_and_perp","spot_market_index","stable","staleness_slot","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","token_index","token_info","token_info_index","token_infos","total_spot_potential","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unweighted_health_unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","usdc_oracle_index","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ClampToInt","LowPrecisionDivision","checked_div_30bit_precision","checked_div_f64_precision","clamp_to_i64","clamp_to_u64","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountCreateV2","AccountCreateV3","AccountEdit","AccountExpand","AccountExpandV2","AccountExpandV3","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","FlashLoanEndV2","FlashLoanSwapBegin","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthCheck","HealthRegionBegin","HealthRegionEnd","IxGateSet","LiqTokenBankruptcy","LiqTokenWithToken","OpenbookV2CancelAllOrders","OpenbookV2CancelOrder","OpenbookV2CancelOrderByClientOrderId","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpPlaceOrderPegged","PerpPlaceOrderPeggedV2","PerpPlaceOrderV2","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CancelOrderByClientOrderId","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3PlaceOrderV2","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFundsV2","StubOracleClose","StubOracleCreate","StubOracleSet","StubOracleSetTest","TokenAddBank","TokenChargeCollateralFees","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapCreateLinearAuction","TokenConditionalSwapCreatePremiumAuction","TokenConditionalSwapCreateV2","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenConditionalSwapTriggerV2","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenUpdateIndexAndRateResilient","TokenWithdraw","account_num","account_num","account_num","admin_opt","allow_borrow","allow_creating_borrows","allow_creating_borrows","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","allow_creating_deposits","allow_creating_deposits","allowed_fast_listings_per_interval_opt","amount","amount","amount","amount","asset_token_index","asset_token_index","asset_token_index","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","base_decimals","base_decimals_opt","base_liquidation_fee","base_liquidation_fee_opt","base_lot_size","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","borrow_weight_scale_start_quote_opt","buyback_fees_bonus_factor_opt","buyback_fees_expiry_interval_opt","buyback_fees_opt","buyback_fees_swap_mango_account_opt","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","check_kind","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","collateral_fee_interval_opt","collateral_fee_per_day","collateral_fee_per_day_opt","delegate_opt","deposit_limit","deposit_limit_opt","deposit_limit_quote_opt","deposit_weight_scale_start_quote","deposit_weight_scale_start_quote_opt","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deviation","disable_asset_liquidation","disable_asset_liquidation_opt","display_price_style","display_price_style","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","duration_seconds","duration_seconds","expected_sequence_number","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","fast_listing_admin_opt","fee_penalty","fee_penalty_opt","fees_to_dao","fees_to_dao","flash_loan_swap_fee_rate","flash_loan_swap_fee_rate_opt","flash_loan_type","flash_loan_type","force_close","force_close_opt","force_close_opt","force_close_opt","force_close_opt","force_withdraw_opt","freeze","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group_insurance_fund","group_insurance_fund","group_insurance_fund_opt","group_insurance_fund_opt","group_num","impact_quantity","impact_quantity_opt","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_asset_weight_opt","init_base_asset_weight","init_base_asset_weight_opt","init_base_liab_weight","init_base_liab_weight_opt","init_liab_weight","init_liab_weight_opt","init_overall_asset_weight","init_overall_asset_weight_opt","intention","intention","interest_curve_scaling","interest_curve_scaling_opt","interest_rate_params","interest_rate_params_opt","interest_target_utilization","interest_target_utilization_opt","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","ix_gate","last_update_slot","liab_token_index","liab_token_index","liab_token_index","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit_price","limit_price","liquidation_fee","liquidation_fee_opt","loan_amount","loan_amounts","loan_fee_rate","loan_fee_rate_opt","loan_origination_fee_rate","loan_origination_fee_rate_opt","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_asset_weight_opt","maint_base_asset_weight","maint_base_asset_weight_opt","maint_base_liab_weight","maint_base_liab_weight_opt","maint_liab_weight","maint_liab_weight_opt","maint_overall_asset_weight","maint_overall_asset_weight_opt","maint_weight_shift_abort","maint_weight_shift_asset_target_opt","maint_weight_shift_end_opt","maint_weight_shift_liab_target_opt","maint_weight_shift_start_opt","maker_fee","maker_fee_opt","market_index","market_index","max_base_lots","max_base_lots","max_base_lots","max_base_lots","max_base_lots","max_base_qty","max_base_qty","max_base_transfer","max_buy","max_buy","max_buy","max_buy","max_buy_token_to_liqee","max_buy_token_to_liqee","max_buyback_usd","max_funding","max_funding_opt","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_native_quote_qty_including_fees","max_native_quote_qty_including_fees","max_oracle_staleness_slots","max_oracle_staleness_slots","max_pnl_transfer","max_price_premium_rate","max_quote_lots","max_quote_lots","max_quote_lots","max_quote_lots","max_quote_lots_including_fees","max_sell","max_sell","max_sell","max_sell","max_sell_token_to_liqor","max_sell_token_to_liqor","max_settle_amount","min_buy_token","min_funding","min_funding_opt","min_health_value","min_taker_price","min_vault_to_deposits_ratio","min_vault_to_deposits_ratio_opt","mngo_token_index_opt","name","name","name","name","name","name","name","name","name_opt","name_opt","name_opt","name_opt","name_opt","net_borrow_limit_per_window_quote","net_borrow_limit_per_window_quote_opt","net_borrow_limit_window_size_ts","net_borrow_limit_window_size_ts_opt","new_addresses","num_loans","openbook_v2_count","openbook_v2_count","oracle_config","oracle_config","oracle_config_opt","oracle_config_opt","oracle_opt","oracle_opt","oracle_price_band","oracle_price_band","oracle_price_band_opt","oracle_price_band_opt","order_id","order_id","order_id","order_type","order_type","order_type","order_type","order_type","order_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","peg_limit","peg_limit","perp_count","perp_count","perp_count","perp_count","perp_count","perp_count","perp_market_index","perp_oo_count","perp_oo_count","perp_oo_count","perp_oo_count","perp_oo_count","perp_oo_count","platform_liquidation_fee","platform_liquidation_fee","platform_liquidation_fee_opt","platform_liquidation_fee_opt","positive_pnl_liquidation_fee","positive_pnl_liquidation_fee_opt","price","price","price","price_end","price_lots","price_lots","price_lots","price_lower_limit","price_lower_limit","price_lower_limit","price_offset_lots","price_offset_lots","price_premium_rate","price_premium_rate","price_start","price_upper_limit","price_upper_limit","price_upper_limit","quote_lot_size","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only_opt","reduce_only_opt","reduce_only_opt","reduce_only_opt","reset_net_borrow_limit","reset_stable_price","reset_stable_price","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","security_admin_opt","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3_count","serum3_count","serum3_count","serum3_count","serum3_count","serum3_count","set_fallback_oracle","settle_fee_amount_threshold","settle_fee_amount_threshold_opt","settle_fee_flat","settle_fee_flat_opt","settle_fee_fraction_low_health","settle_fee_fraction_low_health_opt","settle_pnl_limit_factor","settle_pnl_limit_factor_opt","settle_pnl_limit_window_size_ts","settle_pnl_limit_window_size_ts_opt","settle_token_index","side","side","side","side","side","side","side","side","side","side","side_opt","side_option","stable_price_delay_growth_limit","stable_price_delay_growth_limit_opt","stable_price_delay_growth_limit_opt","stable_price_delay_interval_seconds","stable_price_delay_interval_seconds_opt","stable_price_delay_interval_seconds_opt","stable_price_growth_limit","stable_price_growth_limit_opt","stable_price_growth_limit_opt","start_timestamp","taker_fee","taker_fee_opt","temporary_delegate_expiry_opt","temporary_delegate_opt","testing","testing_opt","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_maker_fee_rate_opt","token_conditional_swap_taker_fee_rate","token_conditional_swap_taker_fee_rate_opt","token_count","token_count","token_count","token_count","token_count","token_count","token_index","token_index","token_index","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","version","version_opt","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","zero_util_rate","zero_util_rate_opt","AccountBuybackFeesWithMngoLog","DeactivatePerpPositionLog","DeactivateTokenPositionLog","DepositLog","FillLog","FillLogV2","FillLogV3","FilledPerpOrderLog","FlashLoanLog","FlashLoanLogV2","FlashLoanLogV3","FlashLoanTokenDetail","FlashLoanTokenDetailV2","FlashLoanTokenDetailV3","ForceWithdrawLog","LiqTokenBankruptcy","LiqTokenWithToken","LoanOriginationFeeInstruction","OpenbookV2LiqForceCancelOrders","OpenbookV2OpenOrdersBalanceLog","OpenbookV2PlaceOrder","OpenbookV2RegisterMarketLog","OpenbookV2SettleFunds","PerpBalanceLog","PerpForceClosePositionLog","PerpLiqBankruptcyLog","PerpLiqBaseOrPositivePnlLog","PerpLiqBaseOrPositivePnlLogV2","PerpLiqBaseOrPositivePnlLogV3","PerpLiqNegativePnlOrBankruptcyLog","PerpMarketMetaDataLog","PerpSettleFeesLog","PerpSettlePnlLog","PerpTakerTradeLog","PerpUpdateFundingLog","PerpUpdateFundingLogV2","Serum3LiqForceCancelOrders","Serum3OpenOrdersBalanceLog","Serum3OpenOrdersBalanceLogV2","Serum3PlaceOrder","Serum3RegisterMarketLog","Serum3SettleFunds","TokenBalanceLog","TokenCollateralFeeLog","TokenConditionalSwapCancelLog","TokenConditionalSwapCreateLog","TokenConditionalSwapCreateLogV2","TokenConditionalSwapCreateLogV3","TokenConditionalSwapStartLog","TokenConditionalSwapTrigger","TokenConditionalSwapTriggerLog","TokenConditionalSwapTriggerLogV2","TokenConditionalSwapTriggerLogV3","TokenForceCloseBorrowsWithTokenLog","TokenForceCloseBorrowsWithTokenLogV2","TokenLiqBankruptcyLog","TokenLiqWithTokenLog","TokenLiqWithTokenLogV2","TokenMetaDataLog","TokenMetaDataLogV2","TokenWithdraw","Unknown","UpdateIndexLog","UpdateRateLog","UpdateRateLogV2","WithdrawLoanLog","WithdrawLoanOriginationFeeLog","WithdrawLog","__clone_box","account_a","account_b","allow_creating_borrows","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","allow_creating_deposits","approved_amount","approved_amount","asset_liquidation_fee","asset_liquidation_fee","asset_price","asset_price","asset_price","asset_price","asset_token_index","asset_token_index","asset_token_index","asset_token_index","asset_transfer","asset_transfer","asset_transfer_from_liqee","asset_transfer_from_liqee","asset_transfer_to_liqor","asset_transfer_to_liqor","asset_usage_fraction","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bankruptcy","bankruptcy","base_decimals","base_free","base_free","base_free","base_lot_size","base_position","base_token_index","base_token_index","base_token_index","base_token_index","base_token_index","base_total","base_total","base_total","base_transfer","base_transfer","base_transfer_liqee","base_transfer_liqee","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_index","borrow_index","borrow_index","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_rate","buy_amount","buy_amount","buy_amount","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_price","buy_token_price","buy_token_price","buyback_fees","buyback_mngo","caller","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_amount","change_amount","change_amount","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","closed","closed","closed","collected_fees","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","curve_scaling","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","deposit_fee","deposit_index","deposit_index","deposit_index","deposit_index","deposit_index","deposit_rate","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_variant","display_price_style","display_price_style","display_price_style","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","duration_seconds","emit_perp_balances","emit_stack","ending_liab_deposit_index","ending_long_funding","ending_short_funding","eq","expiry_timestamp","expiry_timestamp","expiry_timestamp","fallback_oracle","fee","fee","fee_factor","fee_factor","fee_penalty","fees_accrued","fees_accrued","fees_settled","fees_settled","flash_loan_type","flash_loan_type","flash_loan_type","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","id","id","id","id","incentive_amount","incentive_token_index","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","initial_liab_native","instantaneous_funding_rate","instantaneous_funding_rate","instruction","instruction","insurance_token_index","insurance_transfer","insurance_transfer","intention","intention","intention","intention","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_price","liab_price","liab_price","liab_price","liab_price","liab_token_index","liab_token_index","liab_token_index","liab_token_index","liab_token_index","liab_transfer","liab_transfer","liab_transfer","liab_transfer","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","loan","loan","loan","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee","loan_origination_fee","loan_origination_fee","loan_origination_fee","long_funding","long_funding","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maker","maker","maker","maker_client_order_id","maker_client_order_id","maker_closed_pnl","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_fee_rate","maker_fee_rate","maker_order_id","maker_out","maker_out","maker_out","maker_slot","maker_slot","maker_slot","maker_timestamp","maker_timestamp","maker_timestamp","maker_volume","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account_a","mango_account_b","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","max_buy","max_buy","max_buy","max_rate","max_rate","max_sell","max_sell","max_sell","mint","mint","mint_decimals","mint_decimals","mint_info","mint_info","mngo_buyback_price","open_interest","open_interest","openbook_market","openbook_market_external","openbook_program","oracle","oracle","oracle","oracle_confidence","oracle_price","oracle_slot","oracle_slot","oracle_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_spot_transfers","pnl_settle_limit_transfer","pnl_settle_limit_transfer","pnl_settle_limit_transfer_oneshot","pnl_settle_limit_transfer_recurring","pnl_transfer","pnl_transfer","pnl_transfer","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price_lower_limit","price_lower_limit","price_lower_limit","price_premium_rate","price_premium_rate","price_premium_rate","price_upper_limit","price_upper_limit","price_upper_limit","quantity","quantity","quantity","quantity","quantity","quantity","quote_free","quote_free","quote_free","quote_lot_size","quote_platform_fee","quote_platform_fee","quote_position","quote_token_index","quote_token_index","quote_token_index","quote_token_index","quote_token_index","quote_total","quote_total","quote_total","quote_transfer","quote_transfer","quote_transfer_liqee","quote_transfer_liqee","quote_transfer_liqor","quote_transfer_liqor","rate0","rate0","rate1","rate1","referrer_rebates_accrued","referrer_rebates_accrued","referrer_rebates_accrued","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_amount","sell_amount","sell_amount","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_price","sell_token_price","sell_token_price","seq_num","seq_num","seq_num","seq_num","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_program","serum_program_external","settlement","settlement","settlement","settler","short_funding","short_funding","short_funding","short_settled_funding","signer","signer","socialized_loss","socialized_loss","stable_price","stable_price","stable_price","start_timestamp","start_timestamp","starting_liab_deposit_index","starting_long_funding","starting_short_funding","swap_fee","taker","taker","taker","taker_client_order_id","taker_client_order_id","taker_client_order_id","taker_closed_pnl","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_fee_rate","taker_fee_rate","taker_fees_paid","taker_order_id","taker_side","taker_side","taker_side","taker_side","taker_volume","target_utilization","tcs_type","tcs_type","timestamp","timestamp","timestamp","to_owned","to_token_account","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_loan_details","token_loan_details","token_loan_details","total_base_lots_decremented","total_base_lots_taken","total_borrows","total_deposits","total_quote_lots_decremented","total_quote_lots_taken","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","util0","util1","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","account_buyback_fees_with_mngo","account_close","account_create","account_create_v2","account_create_v3","account_edit","account_expand","account_expand_v2","account_expand_v3","account_size_migration","account_toggle_freeze","admin_perp_withdraw_fees","admin_token_withdraw_fees","alt_extend","alt_set","benchmark","compute_account_data","flash_loan_begin","flash_loan_end","flash_loan_end_v2","flash_loan_swap_begin","group_change_insurance_fund","group_close","group_create","group_edit","group_withdraw_insurance_fund","health_check","health_region_begin","health_region_end","ix_gate_set","liq_token_bankruptcy","liq_token_with_token","openbook_v2_cancel_all_orders","openbook_v2_cancel_order","openbook_v2_cancel_order_by_client_order_id","openbook_v2_close_open_orders","openbook_v2_create_open_orders","openbook_v2_deregister_market","openbook_v2_edit_market","openbook_v2_liq_force_cancel_orders","openbook_v2_place_order","openbook_v2_register_market","openbook_v2_settle_funds","perp_cancel_all_orders","perp_cancel_all_orders_by_side","perp_cancel_order","perp_cancel_order_by_client_order_id","perp_close_market","perp_consume_events","perp_create_market","perp_deactivate_position","perp_edit_market","perp_force_close_position","perp_liq_base_or_positive_pnl","perp_liq_force_cancel_orders","perp_liq_negative_pnl_or_bankruptcy","perp_liq_negative_pnl_or_bankruptcy_v2","perp_place_order","perp_place_order_pegged","perp_place_order_pegged_v2","perp_place_order_v2","perp_settle_fees","perp_settle_pnl","perp_update_funding","sequence_check","serum3_cancel_all_orders","serum3_cancel_order","serum3_cancel_order_by_client_order_id","serum3_close_open_orders","serum3_create_open_orders","serum3_deregister_market","serum3_edit_market","serum3_liq_force_cancel_orders","serum3_place_order","serum3_place_order_v2","serum3_register_market","serum3_settle_funds","serum3_settle_funds_v2","stub_oracle_close","stub_oracle_create","stub_oracle_set","stub_oracle_set_test","token_add_bank","token_charge_collateral_fees","token_conditional_swap_cancel","token_conditional_swap_create","token_conditional_swap_create_linear_auction","token_conditional_swap_create_premium_auction","token_conditional_swap_create_v2","token_conditional_swap_start","token_conditional_swap_trigger","token_conditional_swap_trigger_v2","token_deposit","token_deposit_into_existing","token_deregister","token_edit","token_force_close_borrows_with_token","token_force_withdraw","token_liq_bankruptcy","token_liq_with_token","token_register","token_register_trustless","token_update_index_and_rate","token_update_index_and_rate_resilient","token_withdraw","MangoV4","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","drop","from","id","init","into","lossless_try_into","lossy_into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","to_owned","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","CancelOrder","CloseOpenOrders","InitOpenOrders","OpenOrdersAmounts","OpenOrdersSlim","OrderBookStateHeader","PlaceOrder","SettleFunds","__clone_box","account_flags","asks","asks","az","az","az","az","az","az","az","base_vault","base_vault","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call","call","call","cancel_all","cancel_one","cancel_one_by_client_order_id","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","event_queue","event_queue","fmt","from","from","from","from","from","from","from","from_oo","from_oo_v2","has_serum_header","init","init","init","init","init","init","init","into","into","into","into","into","into","into","is_valid_bit_pattern","load_asks_mut","load_bids_mut","load_market_state","load_open_orders","load_open_orders_bytes","load_open_orders_ref","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market","market","market","native_base_free","native_base_free","native_base_reserved","native_base_reserved","native_base_total","native_base_total","native_quote_free","native_quote_free","native_quote_reserved","native_quote_reserved","native_quote_total","native_quote_total","native_rebates","native_rebates","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_authority","open_orders_authority","open_orders_authority","open_orders_authority","order_payer_token_account","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","program","program","program","program","program","pubkey_from_u64_array","quote_vault","quote_vault","rebates_quote_wallet","remove_slop_mut","rent","request_queue","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sol_destination","to_owned","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","user_authority","user_base_wallet","user_quote_wallet","vault_signer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","AnyEvent","AnyNode","Ask","AskFixed","AskOraclePegged","Asks","Bank","BecameNotLiquidatable","Bid","BidFixed","BidOraclePegged","Bids","BookSide","BookSideIter","BookSideIterItem","BookSideOrderHandle","BookSideOrderTree","BuyTokenPerSellToken","CLMMPoolState","CancelProvide","CheckLiquidatable","DAY","DAY_I80F48","DecrementTake","DerefOrBorrow","DerefOrBorrowMut","DynamicAccount","DynamicHeader","EventQueue","EventQueueHeader","EventType","FEE_BUYBACK_QUOTE_TOKEN_INDEX","FREE_ORDER_SLOT","Fill","FillEvent","Fixed","Fixed","FixedPremium","FlashLoan","FreeNode","FreeNode","Group","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupWithdrawInsuranceFund","HOUR","HealthCheck","HealthRegion","ImmediateOrCancel","ImmediateOrCancel","InnerNode","InnerNode","Invalid","Item","IxGate","LastFreeNode","LeafNode","LeafNode","Limit","Limit","LinearAuction","Liquidatable","Liquidate","MAX_BANKS","MAX_NUM_EVENTS","MAX_ORDERTREE_NODES","MangoAccount","MangoAccountDynamicHeader","MangoAccountFixed","MangoAccountLoadedRef","MangoAccountLoadedRefCell","MangoAccountLoadedRefCellMut","MangoAccountLoader","MangoAccountPdaSeeds","MangoAccountRef","MangoAccountRefMut","MangoAccountValue","Market","Market","MintInfo","NodeHandle","NodeTag","NotLiquidatable","ONE_BPS","ORCA_WHIRLPOOL_DISCRIMINATOR","ORCA_WHIRLPOOL_LEN","OpenbookV2CancelAllOrders","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2Market","OpenbookV2MarketIndex","OpenbookV2MarketIndexReservation","OpenbookV2Orders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","OracleAccountInfos","OracleConfig","OracleConfigParams","OraclePegged","OraclePegged","OracleState","OracleType","OrcaCLMM","Order","OrderParams","OrderState","OrderTreeIter","OrderTreeNodes","OrderTreeRoot","OrderTreeType","Orderbook","Out","OutEvent","PERP_SETTLE_TOKEN_INDEX","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpMarket","PerpMarketIndex","PerpOpenOrder","PerpPlaceOrder","PerpPosition","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PlaceOrderType","PostOnly","PostOnly","PostOnlySlide","PostOnlySlide","PostOrderType","PremiumAuction","Pyth","QUOTE_DECIMALS","QUOTE_NATIVE_TO_UI","QUOTE_TOKEN_INDEX","QueueHeader","RAYDIUM_POOL_DISCRIMINATOR","RAYDIUM_POOL_LEN","RaydiumCLMM","SOL_DECIMALS","SelfTradeBehavior","SellTokenPerBuyToken","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3Market","Serum3MarketIndex","Serum3MarketIndexReservation","Serum3Orders","Serum3PlaceOrder","Serum3PlaceOrderV2","Serum3RegisterMarket","Serum3SettleFunds","Side","SideAndOrderTree","Skipped","StablePriceModel","StopLoss","Stub","StubOracle","StubOracleClose","StubOracleCreate","StubOracleSet","SwitchboardOnDemand","SwitchboardV1","SwitchboardV2","TCS_START_INCENTIVE","TakeProfit","TokenAddBank","TokenConditionalSwap","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapCreateLinearAuction","TokenConditionalSwapCreatePremiumAuction","TokenConditionalSwapDisplayPriceStyle","TokenConditionalSwapIntention","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenConditionalSwapType","TokenDeposit","TokenDeregister","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenIndex","TokenLiqBankruptcy","TokenLiqWithToken","TokenPosition","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","TransferResult","Uninitialized","Unknown","Valid","WithdrawResult","YEAR_I80F48","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account_num","account_num","account_num_bytes","account_seeds","account_seeds","account_size","accrue_buyback_fees","accrued_liquidation_fees","active_openbook_v2_orders","active_perp_positions","active_serum3_orders","active_token_conditional_swaps","active_token_positions","add_perp_order","add_taker_trade","address_lookup_tables","adjust_maker_lots","adjustment_factor","admin","all_openbook_v2_orders","all_perp_orders","all_perp_positions","all_serum3_orders","all_token_conditional_swaps","all_token_positions","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","allowed_fast_listings_per_interval","allows_asset_liquidation","apply_pnl_settle_limit","are_borrows_reduce_only","are_deposits_reduce_only","as_inner","as_inner_mut","as_leaf","as_leaf_mut","as_ref","as_ref","asks","asks","asks_base_lots","available_settle_limit","avg_entry_price","avg_entry_price_per_base_lot","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","bank_rate_last_updated","bank_seeds","bank_seeds","banks","banks","base_borrows_without_fee","base_borrows_without_fee","base_decimals","base_liquidation_fee","base_lot_size","base_lot_size","base_position_lots","base_position_lots","base_position_native","base_quote_change","base_token_index","base_token_index","base_token_index","base_token_index","being_liquidated","being_liquidated","being_liquidated","best_price","bids","bids","bids_base_lots","blocked1","bookside","bookside_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","bought","break_even_price","buf","bump","bump","bump","bump","bump","bump","bump","bump_bytes","bump_index","buy_token_index","buyback_fees","buyback_fees","buyback_fees_accrued","buyback_fees_accrued_current","buyback_fees_accrued_current","buyback_fees_accrued_previous","buyback_fees_accrued_previous","buyback_fees_expiry_interval","buyback_fees_expiry_timestamp","buyback_fees_expiry_timestamp","buyback_fees_mngo_bonus_factor","buyback_fees_swap_mango_account","cancel_all_orders","cancel_order_by_id","cancel_order_by_slot","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_with_fee","change_without_fee","check_confidence","check_confidence_and_maybe_staleness","check_deposit_and_oo_limit","check_health_post","check_health_post_checks","check_health_post_checks_strict","check_health_pre","check_health_pre_checks","check_is_valid_fallback_oracle","check_liquidatable","check_net_borrows","check_resize_from","check_staleness","check_startable","check_triggerable","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_transfer_with_fee","child_earliest_expiry","children","clear","client_id","client_order_id","client_order_id","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collateral_fee_interval","collateral_fee_per_day","collected_collateral_fees","collected_fees_native","collected_liquidation_fees","compute_equity","compute_index","compute_interest_rate","compute_new_avg_utilization","compute_settle_fee","conf_filter","conf_filter","count","count","create_openbook_v2_orders","create_serum3_orders","creator","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","data","deactivate_openbook_v2_orders","deactivate_perp_position","deactivate_perp_position_and_log","deactivate_serum3_orders","deactivate_token_position","deactivate_token_position_and_log","decr_event_id","decr_event_id","decrement_in_use","default","default","default","default","default","default","default","default","default","default_for_tests","default_for_tests","delay_accumulator_price","delay_accumulator_time","delay_growth_limit","delay_interval_index","delay_interval_seconds","delay_prices","delegate","delegate","deposit","deposit_index","deposit_internal","deposit_internal_wrapper","deposit_limit","deposit_limit_quote","deposit_weight_scale_start_quote","deposit_with_dusting","deprecated_realized_trade_pnl_native","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","determine_oracle_type","deviation","deviation","disable_asset_liquidation","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","duration_seconds","dust","dust_if_possible","dynamic","dynamic_openbook_v2_vec_offset","dynamic_perp_oo_vec_offset","dynamic_perp_vec_offset","dynamic_reserved_bytes_offset","dynamic_serum3_vec_offset","dynamic_size","dynamic_token_conditional_swap_vec_offset","dynamic_token_vec_offset","earliest_expiry","earliest_expiry","effective_base_position_lots","elligible_for_group_insurance_fund","elligible_for_group_insurance_fund","enforce_borrows_lte_deposits","enforce_max_utilization_on_borrow","ensure_perp_position","ensure_token_position","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","event_queue","event_type","event_type","event_type","execute_perp_maker","execute_perp_out_event","execute_perp_taker","expected_health_accounts","expire_buyback_fees","expiry","expiry_timestamp","fallback_opt","fallback_oracle","fallback_oracle","fallback_oracle_state_unchecked","fast_listing_admin","fast_listing_interval_start","fast_listings_in_interval","fee_penalty","fees_accrued","fees_settled","fees_withdrawn","fees_withdrawn","find_earliest_expiry","find_first_active_unused_perp_position","find_worst","first_bank","first_vault","fixed","fixed_price_data","fixed_price_lots","flash_loan_approved_amount","flash_loan_swap_fee_rate","flash_loan_token_account_initial","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force_close","force_close","force_close","force_close","force_withdraw","free_list_head","free_list_len","free_token_conditional_swap_mut","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_existing_bank","from_leaf_node","from_reader","frozen_until","frozen_until","full","funding_last_updated","gen_order_id","get_clmm_price","get_pyth_state","get_quote_oracle","group","group","group","group","group","group","group","group","group","group","group","group_insurance_fund","group_insurance_fund","group_num","group_seeds","group_seeds","handle","has_loan","has_loan","has_open_orders","has_open_orders_or_fills","has_open_taker_fills","has_quote_token","head","head","header","header","header_version","header_version","health_region_begin_init_health","health_region_begin_init_health","highest_placed_ask","highest_placed_ask","highest_placed_bid_inv","highest_placed_bid_inv","id","id","impact_price","impact_quantity","in_health_region","in_use_count","incr_event_id","incr_event_id","increment_in_use","index_last_updated","indexed_borrows","indexed_deposits","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","initialize","initialize","insert_leaf","insert_leaf","inside_price_limit","insurance_mint","insurance_vault","intention","interest_curve_scaling","interest_rate_curve_calculator","interest_target_utilization","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","invert_side","is_active","is_active","is_active","is_active","is_active","is_active_for_market","is_active_for_market","is_active_for_market","is_active_for_market","is_active_for_token","is_configured","is_configured","is_delegate","is_empty","is_expired","is_expired","is_force_close","is_force_close","is_force_close","is_force_close","is_force_withdraw","is_full","is_full","is_in_health_region","is_in_use","is_inverted","is_ix_enabled","is_operational","is_owner_or_delegate","is_post_only","is_price_better","is_price_data_better","is_price_within_limit","is_reduce_only","is_reduce_only","is_reduce_only","is_startable","is_startable_type","is_testing","is_triggerable","is_valid","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","iter","iter","iter_all_including_invalid","iter_valid","ix_gate","key","key","key","last_collateral_fee_charge","last_collateral_fee_charge","last_delay_interval_index","last_net_borrows_window_start_ts","last_update_slot","last_update_slot","last_update_timestamp","last_update_ts","leaf_count","len","liquidation_fee","load_full","load_full_init","load_full_mut","load_orca_pool_state","load_raydium_pool_state","loan_amount","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee","loan_origination_fee_rate","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lot_to_native_price","lowest_placed_ask","lowest_placed_ask","lowest_placed_bid_inv","lowest_placed_bid_inv","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","maint_weight_shift_asset_target","maint_weight_shift_duration_inv","maint_weight_shift_end","maint_weight_shift_liab_target","maint_weight_shift_start","maint_weights","maker","maker_client_order_id","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_order_id","maker_out","maker_out","maker_price","maker_slot","maker_timestamp","maker_volume","mango_account_seeds","mango_account_seeds","market","market_index","market_index","market_index","market_index","market_index","market_index","market_index","matched_amount","matched_quantity","max_base_lots","max_buy","max_buy_for_position","max_funding","max_health_accounts","max_leaf","max_quote_lots","max_rate","max_sell","max_sell_for_position","max_staleness_slots","max_staleness_slots","maybe_node","maybe_recover_from_being_liquidated","min_funding","min_leaf","min_vault_to_deposits_ratio","mint","mint","mint","mint_decimals","mngo_token_index","multiple_banks_supported","multiunzip","name","name","name","name","name","name","name","name","name","name","name","native","native_borrows","native_deposits","native_price_to_lot","needs_penalty_fee","net_borrow_limit_per_window_quote","net_borrow_limit_window_size_ts","net_borrows_in_window","net_deposits","net_deposits","new","new","new","new","new","new","new","new_node_key","new_order","next","next","next_token_conditional_swap_id","next_token_conditional_swap_id","node","node","node","node","node","node_mut","node_mut","nodes","nodes","num_banks","oneshot_settle_pnl_allowance","open_interest","open_orders","open_orders","openbook_v2","openbook_v2_count","openbook_v2_count","openbook_v2_market_external","openbook_v2_market_seeds","openbook_v2_market_seeds","openbook_v2_orders","openbook_v2_orders_by_raw_index","openbook_v2_orders_mut","openbook_v2_orders_mut_by_raw_index","openbook_v2_program","oracle","oracle","oracle","oracle","oracle_config","oracle_config","oracle_log_context","oracle_pegged_price_data","oracle_pegged_price_offset","oracle_price","oracle_price","oracle_price_band","oracle_price_band","oracle_price_band","oracle_price_band","oracle_state","oracle_state_unchecked","oracle_type","orca_mainnet_whirlpool","order_id","order_tree","order_tree","order_tree_type","order_tree_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_slot","owner_slot","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding1","padding1","padding1","padding2","padding2","padding2","padding2","padding2","padding2","padding3","padding3","padding3","padding4","padding4","padding5","padding6","padding7","padding8","padding9","params","passed_start","pda_seeds","peek","peek_front","peek_front_mut","peg_limit","peg_limit","perp_count","perp_count","perp_find_order_with_client_order_id","perp_find_order_with_order_id","perp_market_index","perp_next_order_slot","perp_offset","perp_oo_count","perp_oo_count","perp_open_orders","perp_order_by_raw_index","perp_order_mut_by_raw_index","perp_position","perp_position_by_raw_index","perp_position_mut","perp_position_mut_by_raw_index","perp_spot_transfers","perp_spot_transfers","perp_spot_transfers","perps","perps_supported","platform_liquidation_fee","platform_liquidation_fee","pop_front","position_is_active","positive_pnl_liquidation_fee","post_target","potential_base_tokens","potential_base_tokens","potential_openbook_tokens","potential_quote_tokens","potential_quote_tokens","potential_serum_tokens","power_of_ten","prefix_len","premium_price","previous_index","price","price","price","price","price_data","price_lots","price_lower_limit","price_premium_rate","price_upper_limit","progress_with","progress_with","push_back","pyth_mainnet_sol_oracle","pyth_mainnet_usdc_oracle","quantity","quantity","quantity","quantity","quantity_at_price","quote_borrows_without_fee","quote_borrows_without_fee","quote_lot_size","quote_lot_size","quote_position_native","quote_position_native","quote_running_native","quote_state_unchecked","quote_token_index","quote_token_index","quote_token_index","quote_token_index","rank_orders","rate0","rate1","raydium_mainnet","realized_pnl_for_position_native","record_liquidation_pnl_takeover","record_liquidation_quote_change","record_settle","record_trade","record_trading_fee","recurring_settle_pnl_allowance","reduce_buyback_fees_accrued","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","registration_time","registration_time","registration_time","registration_time","remaining_buy","remaining_deposits_until_limit","remaining_net_borrows_quote","remaining_sell","remove_by_key","remove_by_key","remove_one_expired","remove_one_expired","remove_perp_order","remove_taker_trade","remove_worst","remove_worst","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved_dynamic","reserved_roots","reset_on_nonzero_price","reset_to_price","resize_dynamic_content","revert_pushes","root","root_mut","roots","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scaled_init_asset_weight","scaled_init_liab_weight","security_admin","self_trade_behavior","sell_token_index","seq_num","seq_num","seq_num","seq_num","sequence_number","sequence_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3","serum3_count","serum3_count","serum3_offset","serum3_orders","serum3_orders_by_raw_index","serum3_orders_mut","serum3_orders_mut_by_raw_index","serum3_supported","serum_market_external","serum_market_seeds","serum_market_seeds","serum_program","set_being_liquidated","set_count","set_count","set_elligible_for_group_insurance_fund","set_head","set_head","set_in_health_region","set_is_configured","settle_fee_amount_threshold","settle_fee_flat","settle_fee_fraction_low_health","settle_funding","settle_limit","settle_pnl_limit_factor","settle_pnl_limit_factor","settle_pnl_limit_settled_in_current_window_native","settle_pnl_limit_window","settle_pnl_limit_window_size_ts","settle_token_index","short_funding","short_settled_funding","side","side","side","side","side","side","side","side_and_tree","side_and_tree","signer_seeds","socialize_loss","sol_mint_mainnet","sol_opt","sold","source_is_active","space","sqrt_price","stable_growth_limit","stable_price","stable_price","stable_price","stable_price_model","stable_price_model","start_timestamp","state","switchboard_on_demand_devnet_oracle","switchboard_on_demand_mainnet_oracle","switchboard_v1_devnet_oracle","switchboard_v2_mainnet_oracle","tag","tag","tag","taker","taker_base_lots","taker_client_order_id","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_price","taker_quote_lots","taker_side","taker_side","taker_volume","target_is_active","tcs_type","tcs_type","temporary_delegate","temporary_delegate","temporary_delegate_expiry","temporary_delegate_expiry","testing","tif_from_expiry","time_in_force","time_in_force","timestamp","timestamp","timestamp","to_oracle_config","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_post_order_type","token_conditional_swap_by_id","token_conditional_swap_by_index","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_free_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_mut_by_index","token_conditional_swap_taker_fee_rate","token_conditional_swaps","token_count","token_count","token_decrement_dust_deactivate","token_index","token_index","token_index","token_mint_a","token_mint_b","token_offset","token_position","token_position_and_raw_index","token_position_by_raw_index","token_position_mut","token_position_mut_by_raw_index","tokens","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_serialize","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","ui","unsettled_funding","unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update","update_cumulative_interest","update_funding_and_stable_price","update_interest_rate_scaling","update_net_borrows","update_parent_earliest_expiry","update_potential_openbook_tokens","update_potential_serum_tokens","update_settle_limit","usdc_mint_mainnet","usdc_opt","util0","util1","vault","vaults","verify","verify_banks_ais","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_loan_origination_fee","withdraw_with_fee","withdraw_without_fee","withdraw_without_fee_with_dusting","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","zero","zero_util_rate","max_oracle_staleness_slots","order_type","order_type","peg_limit","price_lots","price_lots","price_offset_lots","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","I80F48","PerpMarketIndex","Serum3MarketIndex","TokenIndex","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","default","default","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","clock_now","fill_from_str","format_zero_terminated_utf8_bytes"],"q":[[0,"mango_v4"],[63,"mango_v4::accounts"],[3226,"mango_v4::accounts_ix"],[6953,"mango_v4::accounts_ix::compute_budget"],[6956,"mango_v4::accounts_ix::jupiter_mainnet_3"],[6959,"mango_v4::accounts_ix::jupiter_mainnet_4"],[6962,"mango_v4::accounts_ix::jupiter_mainnet_6"],[6965,"mango_v4::accounts_zerocopy"],[7138,"mango_v4::address_lookup_table_program"],[7141,"mango_v4::error"],[7262,"mango_v4::events"],[7390,"mango_v4::health"],[7901,"mango_v4::i80f48"],[7907,"mango_v4::instruction"],[11447,"mango_v4::logs"],[13684,"mango_v4::mango_v4"],[13789,"mango_v4::program"],[13821,"mango_v4::serum3_cpi"],[14090,"mango_v4::state"],[17288,"mango_v4::state::OrderParams"],[17295,"mango_v4::state::orca_mainnet_whirlpool"],[17298,"mango_v4::state::pyth_mainnet_sol_oracle"],[17301,"mango_v4::state::pyth_mainnet_usdc_oracle"],[17304,"mango_v4::state::raydium_mainnet"],[17307,"mango_v4::state::sol_mint_mainnet"],[17310,"mango_v4::state::switchboard_on_demand_devnet_oracle"],[17313,"mango_v4::state::switchboard_on_demand_mainnet_oracle"],[17316,"mango_v4::state::switchboard_v1_devnet_oracle"],[17319,"mango_v4::state::switchboard_v2_mainnet_oracle"],[17322,"mango_v4::state::usdc_mint_mainnet"],[17325,"mango_v4::types"],[17445,"mango_v4::util"]],"d":["The static program ID","","","","An Anchor generated module, providing a set of structs …","","","","","","","","","Confirms that a given pubkey is equivalent to the program …","","","","","","","","The Anchor codegen exposes a programming model where a …","","Creates an Error with a particular message, using …","Creates an Error with a particular message, using …","","Returns the argument unchanged.","","","","Returns the program ID","","","An Anchor generated module containing the program’s set …","Calls U::from(self).","","","","","","","","","Module representing the program.","Like anchor’s require!(), but with a customizable message","Like anchor’s require!(), but with a customizable …","","","","","","","","","","","","","","","","","","Generated client accounts for AccountBuybackFeesWithMngo.","Generated client accounts for AccountClose.","Generated client accounts for AccountCreate.","Generated client accounts for AccountCreateV2.","Generated client accounts for AccountCreateV3.","Generated client accounts for AccountEdit.","Generated client accounts for AccountExpand.","Generated client accounts for AccountSizeMigration.","Generated client accounts for AccountToggleFreeze.","Generated client accounts for AdminPerpWithdrawFees.","Generated client accounts for AdminTokenWithdrawFees.","Generated client accounts for AltExtend.","Generated client accounts for AltSet.","Generated client accounts for Benchmark.","Generated client accounts for ComputeAccountData.","Generated client accounts for FlashLoanBegin.","Generated client accounts for FlashLoanEnd.","Generated client accounts for FlashLoanSwapBegin.","Generated client accounts for GroupChangeInsuranceFund.","Generated client accounts for GroupClose.","Generated client accounts for GroupCreate.","Generated client accounts for GroupEdit.","Generated client accounts for GroupWithdrawInsuranceFund.","Generated client accounts for HealthCheck.","Generated client accounts for HealthRegionBegin.","Generated client accounts for HealthRegionEnd.","Generated client accounts for IxGateSet.","Generated client accounts for OpenbookV2CancelOrder.","Generated client accounts for OpenbookV2CloseOpenOrders.","Generated client accounts for OpenbookV2CreateOpenOrders.","Generated client accounts for OpenbookV2DeregisterMarket.","Generated client accounts for OpenbookV2EditMarket.","Generated client accounts for …","Generated client accounts for OpenbookV2PlaceOrder.","Generated client accounts for OpenbookV2RegisterMarket.","Generated client accounts for OpenbookV2SettleFunds.","Generated client accounts for PerpCancelAllOrders.","Generated client accounts for PerpCancelAllOrdersBySide.","Generated client accounts for PerpCancelOrder.","Generated client accounts for …","Generated client accounts for PerpCloseMarket.","Generated client accounts for PerpConsumeEvents.","Generated client accounts for PerpCreateMarket.","Generated client accounts for PerpDeactivatePosition.","Generated client accounts for PerpEditMarket.","Generated client accounts for PerpForceClosePosition.","Generated client accounts for PerpLiqBaseOrPositivePnl.","Generated client accounts for PerpLiqForceCancelOrders.","Generated client accounts for …","Generated client accounts for …","Generated client accounts for PerpPlaceOrder.","Generated client accounts for PerpSettleFees.","Generated client accounts for PerpSettlePnl.","Generated client accounts for PerpUpdateFunding.","Generated client accounts for SequenceCheck.","Generated client accounts for Serum3CancelAllOrders.","Generated client accounts for Serum3CancelOrder.","Generated client accounts for Serum3CloseOpenOrders.","Generated client accounts for Serum3CreateOpenOrders.","Generated client accounts for Serum3DeregisterMarket.","Generated client accounts for Serum3EditMarket.","Generated client accounts for Serum3LiqForceCancelOrders.","Generated client accounts for Serum3PlaceOrder.","Generated client accounts for Serum3RegisterMarket.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFundsV2.","Generated client accounts for Serum3SettleFundsV2Extra.","Generated client accounts for StubOracleClose.","Generated client accounts for StubOracleCreate.","Generated client accounts for StubOracleSet.","Generated client accounts for TokenAddBank.","Generated client accounts for TokenChargeCollateralFees.","Generated client accounts for TokenConditionalSwapCancel.","Generated client accounts for TokenConditionalSwapCreate.","Generated client accounts for TokenConditionalSwapStart.","Generated client accounts for TokenConditionalSwapTrigger.","Generated client accounts for TokenDeposit.","Generated client accounts for TokenDepositIntoExisting.","Generated client accounts for TokenDeregister.","Generated client accounts for TokenEdit.","Generated client accounts for …","Generated client accounts for TokenForceWithdraw.","Generated client accounts for TokenLiqBankruptcy.","Generated client accounts for TokenLiqWithToken.","Generated client accounts for TokenRegister.","Generated client accounts for TokenRegisterTrustless.","Generated client accounts for TokenUpdateIndexAndRate.","Generated client accounts for TokenWithdraw.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","group admin or fast listing admin, checked at #1","","","","","","group admin or fast listing admin, checked at #1","","","","","","","","","Only for the unusual case where the owner_ata account is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The fallback oracle account is optional and only used when …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instructions Sysvar for instruction introspection","Instructions Sysvar for instruction introspection","Instructions Sysvar for instruction introspection","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","needed for the automatic settle_funds call","","needed for the automatic settle_funds call","needed for the automatic settle_funds call","needed for the automatic settle_funds call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","can’t zerocopy this unfortunately","","","","","","","","","","","","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order. Bank oracle also …","The bank that pays for the order, if necessary","","The bank vault that pays for the order","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that receives the funds upon settlement. Bank …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets up mango vaults for flash loan","Finalizes a flash loan","","","","","","","","","","Sets up for a health region","Ends a health region.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Copy paste a bunch of enums so that we could …","","","","","","","","A flash loan used for a swap where one token is exchanged …","Like Swap, but without the flash_loan_swap_fee_rate","","Charges collateral fees on an account","","","","","","","In addition to these accounts, there must be …","Changes a token’s parameters.","","","","","","","Updates token interest and interest rates.","","An arbitrary flash loan","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: ALT address is checked inline","CHECK: ALT authority is checked inline","","","","","","","","","","","","","","group admin or fast listing admin, checked at #1","","","","","","group admin or fast listing admin, checked at #1","","","","","","","","","Only for the unusual case where the owner_ata account is …","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: validated against banks at #4","CHECK: The oracle can be one of several different account …","","","","","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: unused, exists only because anchor is unhappy in …","","","CHECK: event will be checked by openbook_v2","CHECK: event queue will be checked by openbook_v2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The fallback oracle account is optional and only used when …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","","CHECK: Oracle can have different account types","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","CHECK: Instruction gate will be checked in instruction …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: bank/vault/token account in remaining accounts …","Instructions Sysvar for instruction introspection CHECK: …","Instructions Sysvar for instruction introspection CHECK: …","Instructions Sysvar for instruction introspection CHECK: …","CHECK: fixed instructions sysvar account","","","","CHECK: Oracle can have different account types","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: vault will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the openbook_v2 cpi call","needed for the automatic settle_funds call CHECK: …","CHECK: Validated by the serum cpi call","needed for the automatic settle_funds call CHECK: …","needed for the automatic settle_funds call CHECK: …","","","","","","","","","","","","","CHECK: Oracle can have different account types","","","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","","","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Newly created by serum cpi call","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Will be checked against seeds and will be initiated …","CHECK: Will be checked against seeds and will be initiated …","CHECK: Will be checked against seeds and will be initiated …","","","","","","","","","","","","","","","","","","","","","","","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: oracle can be one of multiple account types","CHECK: The oracle can be one of several different account …","CHECK: bank/vault/token account in remaining accounts …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order. Bank oracle also …","The bank that pays for the order, if necessary","CHECK: The oracle can be one of several different account …","The bank vault that pays for the order","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: validated against banks at #4","CHECK: The oracle can be one of several different account …","","","","","","","","The bank that receives the funds upon settlement. Bank …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register any serum market","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register a market for any serum program","CHECK: The pubkey is checked and then it’s passed to the …","","","","","","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","","","","","","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","","A Ref to an AccountInfo - makes AccountInfo compatible …","","Functions should prefer to work with AccountReader where …","","Like AccountReader, but can also get the account pubkey","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Using AccountLoader forces a AccountInfo.clone() and then …","Using AccountLoader forces a AccountInfo.clone() and then …","","","","","Same as load(), but doesn’t check the discriminator or …","Same as load(), but doesn’t check the discriminator or …","","","","","Same as load(), but mut","Same as load(), but mut","","Same as load_fully_unchecked(), but mut","Same as load_fully_unchecked(), but mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add a context string c to a Result or Error","","","","","Creates an Error with a particular message, using …","Creates an Error with a particular message, using …","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","Gets the name of this [#enum_name].","","","Like anchor’s require!(), but with a customizable message","Like anchor’s require!(), but with a customizable …","","","","","","","","","","","Like context(), but evaluate the context string lazily","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This trait abstracts how to find accounts needed for the …","Assumes the account infos needed for the health …","Store information needed to compute account health","There are three types of health:","","","","","Stores information about perp market positions and their …","Information about prices for a bank or perp market.","","Takes a list of account infos containing","","Information about reserved funds on Serum3 and Openbook V2 …","","Temporary value used during health computations","","","","","","","","","","","","Changes the cached user account token balance.","","","","The asset price to use for the given health type","","Computes the account assets and liabilities marked to …","Returns the token indexes of the available banks. …","","","","","","","","","","","","","","","Freely available spot balance for the token.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Verifies that the health cache has information on all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Compute health with an arbitrary AccountRetriever","Computes health for a mango account given a set of account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns token balances that account for spot and perp …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Liquidatable spot assets mean: actual token deposits and …","Liquidatable spot borrows mean: actual token borrows plus …","","","","","","","","Phase1 is spot/perp order cancellation and spot settlement …","Phase2 is for:","Phase3 is bankruptcy:","","","","The open orders account has no free or reserved funds","","","","","The health ratio is","The perp-risk (but not token-risk) adjusted upnl. Also …","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Computes the account leverage as ratio of liabs / (assets …","The liability price to use for the given health type","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NOTE: keep getMaxSourceForTokenSwap in ts/client in sync …","The sum of reserved amounts over all serum3 and openbookV2 …","How many source native tokens may be swapped for target …","Verifies neither the net borrow or deposit limits","","","","","Creates a FixedOrderAccountRetriever where all banks are …","","A FixedOrderAccountRetriever with n_banks <= …","Generate a HealthCache for an account and its health …","Generate a special HealthCache for an account and its …","","","","","","The current oracle price","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns how much pnl is settleable for a given settle …","","","","Recompute the cached information about a serum market.","","Recompute the cached information about a serum market.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","How much of a token can be gained before health increases …","How much of a token can be taken away before health …","Sum of token_info.balance_spot and perp …","","A “stable” price, provided by StablePriceModel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Settle token native provided by perp position and open …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount that was transfered out to the user","The amount that was transfered out to the user","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount by which the user’s token position changed at …","The amount by which the user’s token position changed at …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Deposit fee paid for positive change_amount.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","including liqor and platform liquidation fees","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount that was a loan (<= approved_amount, depends on …","The amount that was a loan (<= approved_amount, depends on …","","","","The fee paid on the loan, not included in loan or …","The fee paid on the loan, not included in loan or …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Swap fee paid on the in token of a swap.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","benchmark","Warning, this instruction is for testing purposes only!","","","","A version of flash_loan_begin that’s specialized for …","","","","","","","","","","","","","","","","","","","","","OpenbookV2","","","","","","","","Perps","","","","","","","","","","","","","","","","","","","","","","","","","requires the receiver_bank in the health account list to …","Serum","Deprecated instruction that used to settles all free funds …","Like Serum3SettleFunds, but fees_to_dao determines if …","","","","","","","","","","","","","","","","","","","","","","","","","","","","Type representing the program.","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","For loan origination fees bookkeeping purposes","Copied over from serum dex","","","","","CHECK: cpi","CHECK: cpi","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","must cover the open_orders and the …","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","Cancels the whole transaction as soon as a self-matching …","","","","","","","","","","","","","","","","","","","","","","","","","Iterates the fixed and oracle_pegged OrderTrees …","","Reference to a node in a book side component","","","","Cancels the maker side of the trade, the taker side gets …","","","","Both the maker and taker sides of the matched orders are …","","","","Header is created by scanning and parsing the dynamic …","","","","The token index used in AccountBuybackFeesWithMngo to …","","","","","","","","","","","","","","","","","","","Take existing orders up to price, max_base_quantity and …","InnerNodes and LeafNodes compose the binary tree of orders.","","","","Enum for lookup into ix gate note: total ix files 56, ix …","","LeafNodes represent an order in the binary tree","","Take existing orders up to price, max_base_quantity and …","Take existing orders up to price, max_base_quantity and …","","","","","","","","","","Useful when loading from bytes","Useful when loading from RefCell, like from AccountInfo","Useful when loading from RefCell, like from AccountInfo","Trait to allow a AccountLoader to create an accessor for …","","Full reference type, useful for borrows","Full reference type, useful for borrows","Fully owned MangoAccount, useful for tests","","Ignore price and take orders up to max_base_quantity and …","","","","","","","","","","","","","","","","","","","","","","","Contains all oracle account infos that could be used to …","","","","","","","","Perp order parameters","","","Iterate over orders in order (bids=descending, …","A binary tree on AnyNode::key()","","","","","","The token index used for settling perp markets.","","","","","","","","","","","","","","","","","","","","","","Never take any existing orders, post the order on the book …","Never take any existing orders, post the order on the book …","If existing orders match with this order, adjust the price …","If existing orders match with this order, adjust the price …","","","","","","This token index is supposed to be the token that oracles …","","","","","","Self trade behavior controls how taker orders interact …","","","","","","","","","","","","","","","","","","","SideAndOrderTree is a storage optimization, so we don’t …","","Maintains a “stable_price” based on the oracle price.","Reducing a position when the price gets worse","","","","","","","","","Incentive to pay to callers who start an auction, in $1e-6","Reducing a position when the price gets better","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add new fees that are usable with the buyback fees feature.","Platform fees that were accrued during liquidation (in …","","","","","","","Add taker trade after it has been matched but before it …","","","","","","","","","","","","may token selling create borrows? (often users just want …","","may token purchases create deposits? (often users just …","Number of fast listings that are allowed per interval","","Given some pnl, applies the pnl settle limit and returns …","","","","","","","","","","Address of the BookSide account for asks","Base lots in open asks","Returns the (min_pnl, max_pnl) range of quote-native pnl …","Calculate the average entry price of the position, in …","The native average entry price for the base lots of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Tracks the amount of borrows that have flowed into the …","Tracks the amount of borrows that have flowed into the …","Number of decimals used for the base token.","Fees Fee for base position liquidation","","Number of base native in a base lot. Must be a power of 10.","","Active position size, measured in base lots","","","Store the base/quote token index, so health computations …","Store the base/quote token index, so health computations …","","","","","Tracks that this account should be liquidated until …","Return the price of the order closest to the spread","","Address of the BookSide account for bids","Base lots in open bids","Field used to contain the trusted_market flag and is now …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Soft borrow limit in native quote","how many native tokens were already bought/sold","Calculate the break even price of the position, in …","","","","","","","PDA bump","","","","indexes of tokens for the swap","","","The total buyback fees amount that the account can make …","Fees usable with the “fees buyback” feature. This …","","Fees buyback amount from the previous expiry interval.","","Number of seconds after which fees that could be used with …","End timestamp of the current expiry interval of the …","","","","Cancels up to limit orders that are listed on the mango …","Cancels an order on a side, removing it from the book and …","Cancels an order in an open order slot, removing it from …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change a position, while taking the loan origination fee …","Change a position without applying the loan origination fee","","","","","","A stricter version of check_health_post_checks() that …","","","","","","Error if this header isn’t a valid resize from prev","","Do the current conditions and tcs type allow starting?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generic “transfer” from source to target.","The earliest expiry timestamp for the left and right …","indexes into BookSide::nodes","","","Arbitrary user-controlled order id.","User defined id for this order, used in FillEvents","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Intervals in which collateral fee is applied","The daily collateral fees rate for fully utilized …","Collateral fees that have been collected (in native tokens)","Fees collected over the lifetime of the bank","Platform fees that were collected during liquidation (in …","","","returns the current interest rate in APR","","Returns the fee for settling settlement when the account …","","","","","","","","","","Cumulative long funding in quote native units. If the user …","Cumulative short funding in quote native units If the user …","","","","","","","","","","","","","","","","","","","","","Creates default market for tests","The delay price is based on an average over each …","Accumulating the total time for the above average.","Maximal relative difference between two delay_price in …","","Length of a delay_interval","Stored delay_price for each delay_interval. If we want the …","","","Deposits native_amount.","the index used to scale the value of an IndexedPosition …","Internal function to deposit funds","","zero means none, in token native","","Limit for collateral of deposits in native quote","Like deposit(), but allows dusting of in-use accounts.","Deprecated field: Amount of pnl that was realized by …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If set to 1, deposits cannot be liquidated when an account …","The stored prices are always “sell token per buy token”…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Duration of the auction mechanism","","Returns true if the position remains active","","","","","","","","","","The lowest timestamp at which one of the contained …","","","","","","Prevent borrowing away the full bank vault. Keep some in …","","Creates or retrieves a TokenPosition for the token_index. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the EventQueue account","","","","Returns amount of realized trade pnl for the maker","","Returns amount of realized trade pnl for the taker","","Updates the buyback_fees_* fields for staggered expiry of …","Time at which this order will expire, u64::MAX if never","timestamp until which the conditional swap is valid","","Oracle that may be used if the main oracle is stale or not …","","","","Fast-listings are limited per week, this is the start of …","Number of fast listings that happened this interval","Fee (in quote native) to charge for ioc orders","Fees accrued in native quote currency these are increased …","Fees settled in native quote currency these are increased …","","","Returns the handle of the node with the lowest expiry …","","","","","","Creates price data for a fixed order’s price","Retrieves the price (in lots) from a fixed order’s price …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Builds header by scanning and parsing the dynamic portion …","","","","","","","","","","","","timestamp that funding was last updated in","","","","","","","","","","","","","","","","","Is this market covered by the group insurance fund?","","","","","","","Does the user have any orders on the book?","Are there any open orders or fills that haven’t been …","","","","","","","","","Init health as calculated during HealthReginBegin, rounded …","","","","Track something like the highest open bid / lowest open …","Track something like the highest open bid / lowest open …","","","Walk up the book quantity units and return the price at …","For funding, get the impact price this many base lots deep …","The account is currently inside a health region marked by …","incremented when a market requires this position to stay …","","","","","","deposits/borrows for this bank","The deposit_index (if positive) or borrow_index (if …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","initializes a header on the dynamic portion of a new …","","","","Is native_price an acceptable order for the side of this …","","","The intention the user had when placing this order, …","Current interest curve scaling, always >= 1.0","calculator function that can be used to compute an interest","Target utilization: If actual utilization is higher, scale …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Whether the entry is in use","If this struct is in use. (tcs are stored in a …","","","Returns if the order is expired at now_ts","","","","","","","","","","","","","","","Is this order required to be posted to the orderbook? It …","Is lhs is a better order for side than rhs?","Is lhs is a better order for side than rhs?","Is price acceptable for a limit order on side?","","","","","Does this tcs type support an explicit tcs_start …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterate over all entries, including invalid orders","","Iterate over all entries, including invalid orders","Iterate over all entries in the book filtering out invalid …","","","only the top prefix_len bits of key are relevant","The binary tree key, see new_node_key()","Time at which the last collateral fee was charged","","The delay_interval_index that update() was last called on.","Timestamp at which the last net borrows window started","","","","","","","Liquidation fee that goes to the liqor.","","","","","","","","","","","","Current long funding value. Increasing it means that every …","Already settled long funding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert from the price stored on the book to the price …","","","Track lowest bid/highest ask, same way as for highest …","Track lowest bid/highest ask, same way as for highest …","","These weights apply to the base position. The quote …","","","Weights for full perp market health, if positive","Maint asset weight to reach at _shift_end.","Cache of the inverse of maint_weight_shift_end - …","End timestamp in seconds until which the maint weights …","","Start timestamp in seconds at which maint weights should …","","","","","","Fee when matching maker orders. May be negative.","The maker has to pay premium_price * (1 + maker_fee_rate)","","","","Premium price adjusted for the maker fee","","","Cumulative maker volume in quote native units","","","","","","","","","","","Walk up the book given base units and return the amount in …","Walk up the book given quote units and return the quantity …","Max base lots to buy/sell.","maximum amount of native tokens to buy or sell","The remaining buy amount, taking the current buy token …","Maximal funding rate per day, must be >= 0.","","","Max quote lots to pay/receive (not taking fees into …","the 100% utilization rate","","The remaining sell amount, taking the current sell token …","","","","","Minimal funding rate per day, must be <= 0.","","The maximum utilization allowed when borrowing is 1-this …","","","","","","","","","","","","","","","","","Name. Trailing zero bytes are ignored.","","","","","","Should this order be penalized with an extra fee?","Net borrow limit per window in quote native; set to -1 to …","Size in seconds of a net borrows window","Sum of all deposits and borrows in the last window, in …","","","","","","","","","","Creates a binary tree node key.","","","","Next id to use when adding a token condition swap","","","","","","","","","","","","Amount of pnl that can be settled once.","Number of base lots currently active in the market. Always …","","","","","","","","","","","","","","","","","Oracle account address","","Oracle configuration","","Creates price data for an oracle pegged order from the …","Retrieves the price offset (in lots) from an oracle pegged …","Tries to return the primary oracle price, and if there is …","","","","Limit orders must be <= oracle * (1+band) and >= oracle / …","Limit orders must be <= oracle * (1+band) and >= oracle / …","","Returns the price of one native base token, in native …","","","","","","","","PostOrderType, this was added for TradingView move order","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the owning MangoAccount","","Index into the owning MangoAccount’s PerpOpenOrders","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Order type specific params","","","","","","pegging limit for oracle peg orders, otherwise -1","If the effective price of an oracle pegged order exceeds …","","","","","Index of this perp market. Other data, like the …","","","","","","","","","","","","","","Cumulative number of quote native units transfered from …","","","Additional to liquidation_fee, but goes to the group owner …","Additional to liquidation_fee, but goes to the group owner …","","","","Order tree that this order should be added to","An overestimate of the amount of tokens that might flow …","An overestimate of the amount of tokens that might flow …","Largest amount of tokens that might be added the bank …","","","Largest amount of tokens that might be added the bank …","","number of highest key bits that all children share e.g. if …","Base price adjusted for the premium","","Compute the price_lots this order is currently at, as well …","","","","The order’s price_data as stored in the key","","The lower or starting price:","The premium to pay over oracle price to incentivize …","Parallel to price_lower_limit, but an upper limit / …","","","","","","","Number of base lots to buy or sell, always >=1","","","Return the quantity of orders that can be matched by an …","","","Stores the market’s lot sizes","Number of quote native in a quote lot. Must be a power of …","","Active position in oracle quote native. At the same time …","Tracks what the position is to calculate average entry & …","","","","","","Compares the fixed and oracle_pegged order and returns the …","","","","Trade pnl, fees, funding that were added over the current …","Takes over a quote position along with recurring and …","Adds immediately-settleable realized pnl when a liqor …","Update the perp position for pnl settlement","Change the base and quote positions as the result of a …","Update perp position for a maker/taker fee payment","Amount of pnl that can be settled in each settle window.","Reduce the available buyback fees amount because it was …","Reduce only","","","If true, users may no longer increase their market …","","","","Timestamp in seconds that the market was registered at.","","","","","","","","Remove the order with the lowest expiry timestamp in the …","Remove the order with the lowest expiry timestamp, if that…","Removes the perp order and updates the maker bids/asks …","Remove taker trade after it has been processed on …","Remove the overall worst-price order.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If set to 1, the stable price will reset on the next …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the init asset weight, adjusted for the number of …","","","Configure how matches with order of the same owner are …","","","","","Total number of orders seen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Pnl settlement amount needed to be eligible for the flat …","In native units of settlement token, given to each settle …","Fraction of pnl to pay out as fee if +pnl account has low …","Move unrealized funding payments into the quote_position","Returns the (min_pnl, max_pnl) range of quote-native pnl …","","Controls the strictness of the settle limit. Set to a …","Amount of realized trade pnl and unrealized pnl that was …","Index of the current settle pnl limit window","Window size in seconds for the perp settlement limit","Token index that settlements happen in.","See long_funding.","Already settled short funding","","","","","","","","","","","Socialize the loss in this account across all longs and …","","","","","Number of bytes needed for the MangoAccount, including the …","","Maximal per-second relative difference of the stable price.","","","Current stable price to use in health","","Maintains a stable price based on the oracle price that is …","In seconds since epoch. 0 means not-started.","","","","","","","NodeTag","","","Amount of base lots on the EventQueue waiting to be …","","","","Fee for taker orders, may not be negative.","The taker receives only premium_price * (1 - …","Premium price adjusted for the taker fee","Amount of quote lots on the EventQueue waiting to be …","","","Cumulative taker volume in quote native units","","","Stores a TokenConditionalSwapType enum value","","","","","","Convert an input expiry timestamp to a time_in_force value","Number of seconds the order shall live, 0 meaning forever","Time in seconds after timestamp at which the order expires.","The time the order was placed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fees for the token conditional swap feature","","","","Decrements the in_use_count for the token position for the …","","index into Group.tokens","","","","","","Returns","","Returns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount of funding this account still needs to pay, in …","Calculate the PnL of the position for a given price","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Use current order book price and index price to update the …","","Update the bank’s net_borrows fields.","When a node changes, the parents’ child_earliest_expiry …","Grows potential_openbook_tokens if new > old, shrinks it …","Grows potential_serum_tokens if new > old, shrinks it …","Updates the perp pnl limit time windowing, resetting the …","","","The unscaled borrow interest curve is defined as …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Withdraws native_amount while applying the loan …","Withdraws native_amount without applying the loan …","Like withdraw_without_fee() but allows dusting of in-use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The unscaled borrow interest curve point for zero …","","","","","","","","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","","","","Nothing in Rust shall use these types. They only exist so …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,5,0,0,0,0,0,5,0,5,5,5,0,5,5,5,5,5,5,5,0,0,0,0,0,5,0,0,0,0,5,5,0,5,0,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,5,5,5,5,0,5,5,0,5,5,5,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,13,14,15,16,17,18,19,20,26,27,28,29,35,36,37,39,40,41,44,45,47,48,49,50,51,55,59,62,63,66,67,68,69,70,73,74,76,76,83,84,85,88,89,93,99,57,64,57,64,23,24,20,21,22,23,24,30,31,33,34,38,42,43,46,52,54,56,71,72,75,79,80,81,82,90,91,96,97,93,39,44,45,48,49,50,51,52,54,59,62,65,28,39,40,41,45,47,84,85,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,21,22,82,88,89,93,96,97,99,40,44,46,47,73,75,76,76,47,77,44,47,73,76,76,39,44,45,48,49,50,51,52,54,59,62,65,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,84,85,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,32,10,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,34,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,25,90,44,45,52,53,54,62,82,91,96,97,10,10,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,26,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,42,46,71,75,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,28,27,28,36,98,61,61,32,61,30,31,32,34,60,61,94,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,94,58,60,61,86,87,92,94,95,58,60,61,86,87,92,94,95,86,87,58,60,61,92,94,95,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,43,72,67,68,73,74,44,47,73,74,76,76,67,68,73,74,67,68,73,74,44,47,73,74,76,76,74,45,44,45,47,73,74,76,76,80,82,96,97,82,90,91,96,97,98,10,10,30,30,39,44,45,47,67,68,69,70,73,74,76,76,40,41,40,41,39,40,41,42,44,45,46,47,39,40,41,44,45,46,47,39,40,41,44,45,46,47,54,56,57,58,60,61,62,63,64,65,79,80,81,88,89,91,93,96,97,98,99,28,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,27,28,29,48,49,50,51,55,62,66,67,68,69,70,74,76,76,89,99,93,14,15,16,18,19,23,30,32,41,44,46,54,70,75,80,82,96,97,45,74,74,45,74,21,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,40,44,46,47,73,75,76,76,47,77,44,47,73,76,76,94,45,30,32,41,70,82,96,97,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,84,85,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,67,68,69,70,71,73,74,75,76,76,67,68,69,70,73,74,75,76,76,67,68,69,70,73,74,75,76,76,58,60,61,63,64,58,60,61,63,64,58,60,61,64,64,13,31,40,42,52,69,71,79,90,14,15,16,18,19,28,30,32,40,41,44,46,47,54,70,75,80,82,96,97,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,21,22,88,89,99,88,89,13,21,22,27,28,29,30,31,32,34,40,42,44,45,47,52,60,61,71,73,74,76,76,79,82,88,89,90,93,94,96,97,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,78,78,21,22,82,88,89,93,96,97,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,30,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,106,108,0,0,0,0,0,0,0,0,0,0,0,0,0,107,110,0,107,110,106,108,0,106,108,0,0,0,0,0,0,0,0,0,0,0,0,0,104,109,103,103,0,0,104,105,109,103,103,103,103,104,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,104,105,109,104,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,103,104,105,106,107,108,109,110,117,119,120,121,122,123,124,125,126,132,133,134,135,140,141,142,144,145,146,149,150,152,153,154,155,156,160,164,167,168,171,172,173,174,175,178,179,181,188,189,190,193,194,198,204,162,169,162,169,129,130,115,126,127,128,129,130,111,136,138,139,143,147,148,151,157,159,161,176,177,180,184,185,186,187,195,196,201,202,198,144,149,150,153,154,155,156,157,159,164,167,170,134,144,145,146,150,152,189,190,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,127,128,187,193,194,198,201,202,204,145,149,151,152,178,180,181,152,182,149,152,178,181,144,149,150,153,154,155,156,157,159,164,167,170,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,189,190,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,102,103,104,105,106,107,108,109,110,102,103,104,105,106,107,108,109,110,111,0,137,117,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,102,103,104,105,106,107,108,109,110,115,102,103,104,105,106,107,108,109,110,139,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,131,195,102,149,150,157,158,159,167,187,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,196,201,202,117,117,102,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,132,111,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,147,151,176,180,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,134,133,134,141,203,166,166,137,166,111,136,137,139,165,166,199,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,0,0,0,199,163,165,166,191,192,197,199,200,163,165,166,191,192,197,199,200,191,192,163,165,166,197,199,200,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,148,177,172,173,178,179,149,152,178,179,181,172,173,178,179,172,173,178,179,149,152,178,179,181,179,150,149,150,152,178,179,181,115,185,187,201,202,187,195,196,201,202,203,117,117,111,111,144,149,150,152,172,173,174,175,178,179,181,145,146,145,146,144,145,146,147,149,150,151,152,144,145,146,149,150,151,152,144,145,146,149,150,151,152,159,161,162,163,165,166,167,168,169,170,184,185,186,193,194,196,198,201,202,203,204,134,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,133,134,135,153,154,155,156,160,167,171,172,173,174,175,179,181,194,204,198,120,121,122,124,125,129,111,137,146,149,151,159,175,180,185,187,201,202,150,179,179,150,179,127,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,145,149,151,152,178,180,181,152,182,149,152,178,181,199,115,115,150,111,137,146,175,187,201,202,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,189,190,102,103,104,105,106,107,108,109,110,115,172,173,174,175,176,178,179,180,181,172,173,174,175,178,179,180,181,172,173,174,175,178,179,180,181,163,165,166,168,169,163,165,166,168,169,163,165,166,169,169,119,136,145,147,157,174,176,184,195,120,121,122,124,125,134,111,137,145,146,149,151,152,159,175,180,185,187,201,202,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,106,107,104,102,103,104,105,106,107,108,109,110,127,128,193,194,204,193,194,119,127,128,133,134,135,111,136,137,139,145,147,149,150,152,157,165,166,176,178,179,181,184,187,193,194,195,198,199,201,202,204,127,128,111,139,166,199,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,103,140,141,142,143,144,145,146,147,148,149,104,104,105,105,106,106,107,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,108,109,109,110,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,103,104,105,106,107,108,109,110,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,115,115,183,183,127,128,187,193,194,198,201,202,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,111,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,219,218,216,217,218,219,216,216,217,217,218,219,216,217,218,219,216,217,216,217,218,219,216,217,218,219,216,217,218,219,218,219,218,219,454,216,217,218,219,216,217,219,523,217,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,243,216,217,218,219,216,217,218,219,524,525,216,217,218,219,524,525,216,217,218,219,526,527,217,526,527,217,216,217,218,219,216,217,218,219,219,216,217,218,219,216,217,218,219,454,216,217,218,219,216,217,216,217,218,219,216,217,218,219,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,0,0,0,227,227,227,227,227,227,227,0,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,0,227,227,227,0,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,528,227,227,227,227,0,0,227,227,227,227,227,529,529,227,227,227,227,227,0,0,227,227,227,227,227,227,227,227,227,227,528,227,227,0,0,0,0,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,232,233,234,235,232,233,234,235,232,233,234,235,232,232,233,234,235,232,233,234,235,235,233,232,233,234,235,232,233,234,235,232,233,234,235,234,233,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,234,232,233,234,235,232,233,234,235,232,233,234,235,0,0,0,0,240,240,240,250,0,0,0,0,250,0,0,0,0,0,239,240,241,248,249,250,251,252,236,236,244,241,252,239,241,236,253,244,245,244,246,245,239,240,241,248,249,250,251,252,236,241,253,244,245,246,245,251,252,252,252,244,244,244,244,252,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,239,240,241,248,249,250,251,252,236,239,240,241,248,249,250,251,252,236,0,0,248,249,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,240,240,244,246,245,239,240,241,248,249,250,251,252,236,236,240,250,239,241,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,236,236,252,252,236,236,236,236,236,236,236,236,236,236,236,251,236,236,236,241,236,252,236,236,236,244,246,245,239,240,241,248,249,250,251,252,236,241,252,252,241,252,241,241,244,246,245,239,240,241,248,249,250,251,252,236,245,236,236,239,241,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,241,252,252,241,252,236,236,249,236,236,236,244,244,245,0,0,0,0,0,239,245,253,244,245,239,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,236,253,244,245,252,236,241,252,251,236,236,236,236,236,251,251,251,251,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,246,245,245,245,245,240,253,244,245,252,244,0,0,248,251,239,244,239,240,241,248,249,250,251,252,236,241,236,236,236,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,252,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,0,0,530,530,531,531,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,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,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,0,0,0,353,354,355,367,336,286,287,288,289,286,287,288,289,367,336,337,338,366,313,314,316,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,359,310,309,310,309,310,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,367,367,367,367,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,343,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,270,272,301,303,304,305,306,321,323,324,367,362,360,348,362,360,367,362,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,339,362,360,286,287,288,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,286,287,344,272,286,287,288,289,303,304,305,306,367,310,309,269,318,362,360,332,333,346,276,309,328,360,360,347,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,310,362,309,360,368,310,309,279,280,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,310,309,310,309,362,360,310,309,287,288,362,360,362,360,362,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,364,339,313,314,316,267,268,272,292,298,299,300,303,304,305,306,317,320,323,324,323,324,362,360,334,335,362,360,362,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,310,309,310,309,362,360,310,309,360,360,360,360,360,310,309,277,329,272,303,304,305,306,323,324,293,286,287,288,289,283,284,345,310,309,290,291,312,313,314,315,316,323,324,303,304,293,287,303,304,305,306,272,286,287,288,289,283,284,294,283,310,309,343,283,362,360,367,277,310,329,353,354,355,361,362,276,309,328,348,360,362,360,362,360,279,332,350,353,310,362,309,360,309,360,277,329,276,328,271,302,322,272,303,304,305,306,323,324,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,303,304,350,351,352,353,354,355,310,350,351,352,353,354,355,310,362,309,360,310,309,339,340,342,286,272,305,306,287,288,289,303,304,288,289,286,287,288,289,310,272,303,304,305,306,337,338,362,276,309,328,360,360,309,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,367,272,303,305,323,324,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,350,351,352,353,354,355,360,310,309,310,309,310,309,310,309,310,309,310,270,271,272,303,304,305,306,322,323,324,267,299,362,309,360,362,309,360,362,309,360,286,310,309,348,348,368,367,350,351,353,354,282,283,284,285,282,283,284,285,362,360,362,360,350,351,352,353,354,355,359,361,362,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,368,367,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,371,371,0,371,0,371,0,371,0,0,0,0,0,0,0,0,0,0,0,0,0,371,0,0,371,0,371,0,0,0,0,0,0,0,371,0,0,0,0,0,0,0,0,0,0,371,371,0,0,0,0,0,0,371,412,412,415,416,417,415,416,417,426,427,388,414,387,388,413,414,387,388,413,414,387,413,388,414,388,414,423,384,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,387,388,399,389,390,391,399,372,389,390,391,400,401,389,390,391,402,412,403,404,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,373,425,426,427,384,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,384,418,419,420,415,416,417,418,419,420,418,419,420,409,409,422,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,371,371,418,419,420,384,395,395,396,396,386,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,426,373,425,426,427,384,384,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,371,416,417,419,420,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,417,0,0,394,405,405,371,415,416,417,398,407,423,413,414,411,382,383,382,383,374,375,376,371,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,415,416,417,421,422,422,373,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,394,382,383,392,393,394,394,405,416,417,419,420,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,387,388,394,413,414,387,388,394,413,414,387,388,413,414,387,388,394,402,403,404,405,406,413,414,418,419,420,387,388,394,402,403,404,405,406,413,414,418,419,420,425,426,427,393,384,425,426,427,392,393,372,382,383,372,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,379,380,381,380,381,381,379,380,381,418,419,420,415,416,417,379,379,380,381,379,380,381,379,380,381,396,372,373,374,375,376,377,378,389,390,391,392,393,395,396,408,409,411,415,416,417,421,422,423,424,407,407,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,379,380,381,382,383,390,391,396,400,401,415,416,417,385,386,415,416,417,397,398,397,398,397,398,409,382,383,401,401,401,397,398,399,383,409,382,383,383,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,399,399,402,403,404,405,406,407,408,410,411,412,396,402,403,404,404,402,403,404,425,426,427,377,378,379,380,381,382,383,384,393,402,403,404,412,423,424,415,416,417,415,416,417,415,416,417,377,378,379,380,381,424,389,390,391,399,403,404,372,389,390,391,400,401,389,390,391,402,412,403,404,403,404,385,386,385,386,389,390,391,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,418,419,420,415,416,417,418,419,420,418,419,420,379,380,381,410,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,400,400,400,406,407,408,407,372,382,383,372,377,378,394,405,382,383,384,417,420,394,405,405,427,379,380,381,379,380,381,381,379,380,381,418,419,420,415,416,417,411,379,379,380,381,411,396,386,417,420,379,380,381,371,424,418,419,420,422,373,425,426,427,377,378,384,385,386,392,393,395,397,398,423,424,374,375,376,411,411,384,384,411,411,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,386,386,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,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,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,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,0,0,0,0,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,0,0,0,0,0,0,0,0,451,451,447,449,443,445,446,447,449,451,264,446,447,447,449,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,449,449,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,451,451,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,447,449,264,443,445,446,447,449,451,264,264,264,0,443,445,446,447,449,451,264,443,445,446,447,449,451,264,451,0,0,0,0,0,0,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,532,264,532,264,532,264,532,264,532,264,532,264,532,264,443,445,446,447,449,443,445,446,449,447,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,0,446,447,446,0,443,447,443,445,446,447,449,451,264,443,445,446,447,449,451,264,445,451,446,447,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,447,446,446,446,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,438,480,480,480,480,480,480,480,480,480,480,480,0,0,257,471,471,489,0,476,257,471,471,489,0,0,0,0,0,440,0,438,0,0,0,438,0,0,0,0,0,0,0,0,0,495,0,533,461,500,480,0,518,0,480,480,480,480,0,480,480,533,436,0,518,486,534,0,518,0,518,436,488,500,476,495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,533,436,0,0,0,476,0,0,0,480,480,480,480,480,480,480,0,0,0,0,480,480,480,480,0,0,0,533,461,0,0,484,0,0,0,0,0,0,0,0,495,0,0,480,480,480,480,480,480,480,480,480,480,480,480,0,0,0,480,0,480,480,480,0,436,488,436,488,0,500,484,0,0,0,0,0,0,484,0,0,440,480,480,480,480,480,480,480,480,0,0,0,0,480,480,480,480,0,0,486,0,441,484,0,480,480,480,484,484,484,0,441,480,0,480,480,480,480,0,0,480,480,0,480,480,480,480,0,480,480,0,480,480,480,480,0,518,441,486,0,0,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,481,456,514,0,0,455,456,262,458,458,458,458,458,458,261,444,261,237,444,458,458,458,458,458,458,463,463,463,463,444,237,261,237,237,464,464,464,464,465,462,469,262,261,261,261,261,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,0,0,466,466,263,260,262,262,260,262,261,261,261,467,263,260,482,497,458,456,481,468,469,262,261,262,469,469,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,463,261,492,237,444,481,456,482,262,497,514,491,463,444,444,456,481,456,481,456,444,481,456,444,444,469,469,469,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,474,474,237,458,458,458,458,458,0,458,237,455,474,463,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,465,465,478,478,506,462,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,444,237,237,237,237,0,237,237,237,262,475,435,534,493,458,458,444,472,472,261,261,464,458,458,458,458,458,458,534,493,472,472,263,260,261,478,435,438,499,463,481,262,499,499,499,499,499,499,481,456,237,237,237,237,237,444,237,237,261,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,457,460,481,472,263,260,261,478,475,435,484,461,465,462,436,488,438,257,471,489,467,496,440,441,500,463,484,461,436,488,438,257,471,489,440,441,500,0,474,485,237,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,463,237,237,458,481,481,481,481,481,481,481,481,465,464,261,466,262,237,237,458,458,476,481,472,263,260,261,478,475,484,461,486,462,436,488,438,257,471,489,495,440,441,500,463,475,475,461,461,462,462,436,436,488,488,438,438,257,257,471,471,489,489,495,495,440,440,441,441,500,500,262,494,467,496,458,458,458,455,456,462,463,501,237,466,0,444,444,444,262,262,262,237,262,491,458,491,466,466,458,0,0,237,237,237,237,444,480,481,455,472,263,260,261,478,466,482,483,475,435,461,462,436,488,438,257,471,489,494,467,496,262,497,498,499,463,237,482,262,497,237,491,491,458,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,536,255,502,458,458,455,237,496,501,481,456,492,262,262,504,0,504,514,237,481,456,466,482,483,485,262,497,498,466,262,444,0,0,507,473,477,261,261,261,504,534,493,458,492,458,481,481,456,263,260,263,260,478,463,468,262,481,472,534,493,472,237,237,237,472,504,473,477,514,474,501,469,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,262,262,237,262,536,455,468,491,262,444,444,463,237,237,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,509,508,257,472,263,260,261,478,263,260,261,478,472,463,463,456,492,462,463,237,482,262,497,237,468,491,456,472,504,444,456,456,506,257,257,257,482,262,497,463,463,444,463,507,237,444,456,472,263,260,261,478,466,482,483,475,485,468,465,462,487,464,490,491,492,493,494,467,496,262,497,498,499,463,491,492,468,468,444,464,465,462,481,456,499,237,474,485,499,485,490,492,237,537,537,537,0,0,473,477,237,473,477,237,262,261,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,262,263,260,263,260,237,262,262,237,262,237,237,237,237,237,237,467,467,463,467,262,463,467,467,467,463,467,467,261,0,0,478,263,260,261,482,483,497,498,468,468,506,463,463,262,455,491,506,237,463,463,475,435,490,456,262,491,237,237,466,485,237,444,444,508,237,456,482,262,497,237,481,456,482,262,497,472,237,237,262,506,237,237,237,481,456,509,508,465,462,471,467,496,0,469,509,508,481,456,468,490,491,535,507,468,491,468,491,466,261,262,263,260,481,455,455,482,0,0,458,458,458,458,482,501,237,466,262,237,262,0,0,0,237,262,482,497,482,497,262,0,474,0,496,471,535,491,491,462,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,444,481,456,466,482,483,485,468,492,262,497,498,514,481,456,462,496,462,496,237,444,472,263,261,465,462,491,494,467,499,463,478,466,497,237,444,478,462,467,497,481,467,262,481,262,481,481,481,481,481,506,463,456,508,492,492,506,462,455,455,458,458,262,458,455,455,455,481,458,458,458,458,458,458,481,456,261,481,444,237,262,492,473,262,506,263,260,237,263,260,237,0,465,463,472,506,474,485,467,462,507,463,463,463,509,508,492,0,0,478,462,467,496,468,263,260,260,262,261,261,261,504,263,260,482,497,0,237,237,0,261,261,261,261,261,261,261,456,506,237,482,262,497,466,482,262,497,463,237,237,463,468,491,468,491,458,261,468,491,237,444,481,456,472,263,260,261,478,466,482,483,475,485,468,465,462,491,492,467,262,497,498,499,463,481,468,499,499,458,492,468,468,468,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,444,506,463,493,467,496,262,481,456,481,472,263,260,261,478,475,435,484,461,465,462,436,488,438,257,471,489,467,496,440,441,500,463,481,455,455,455,458,458,458,458,444,497,0,0,497,456,534,493,262,534,493,456,463,262,262,262,261,261,262,262,261,261,262,262,262,261,508,468,471,489,496,506,496,478,478,514,262,0,501,463,477,481,504,499,237,262,499,237,262,463,507,0,0,0,0,465,462,464,467,261,467,463,467,262,463,463,261,467,467,261,477,463,463,481,456,481,456,444,506,506,462,462,467,496,435,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,436,458,458,455,455,458,237,458,237,481,455,455,458,237,472,466,504,504,455,458,458,458,458,458,481,237,444,481,466,482,483,485,468,492,262,497,498,237,444,481,466,482,483,485,468,492,262,497,498,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,461,468,486,518,518,465,462,487,464,436,436,488,488,438,438,257,257,471,471,489,489,490,491,492,493,494,495,495,467,467,467,496,496,496,262,497,498,499,440,440,441,441,500,500,463,461,518,436,488,438,257,471,489,495,440,441,500,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,481,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,472,261,261,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,499,237,262,237,237,491,237,237,261,0,501,237,237,237,466,237,466,444,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,237,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,455,237,538,539,538,538,540,539,538,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,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,0,0,0],"f":[0,0,[1],0,0,0,0,0,[[]],0,[[]],[[]],[[]],[2,3],[[],4],[[],4],[5,5],[[]],[6],[6],[6],[2,7],0,0,0,0,[[]],0,0,0,[[],2],[[],2],[[],6],0,[[]],0,[[],4],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[],8],[[],8],[[],9],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,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,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,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,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,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,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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],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,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,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,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,[[10,11],[[8,[12]]]],[[13,11],[[8,[12]]]],[[14,11],[[8,[12]]]],[[15,11],[[8,[12]]]],[[16,11],[[8,[12]]]],[[17,11],[[8,[12]]]],[[18,11],[[8,[12]]]],[[19,11],[[8,[12]]]],[[20,11],[[8,[12]]]],[[21,11],[[8,[12]]]],[[22,11],[[8,[12]]]],[[23,11],[[8,[12]]]],[[24,11],[[8,[12]]]],[[25,11],[[8,[12]]]],[[26,11],[[8,[12]]]],[[27,11],[[8,[12]]]],[[28,11],[[8,[12]]]],[[29,11],[[8,[12]]]],[[30,11],[[8,[12]]]],[[31,11],[[8,[12]]]],[[32,11],[[8,[12]]]],[[33,11],[[8,[12]]]],[[34,11],[[8,[12]]]],[[35,11],[[8,[12]]]],[[36,11],[[8,[12]]]],[[37,11],[[8,[12]]]],[[38,11],[[8,[12]]]],[[39,11],[[8,[12]]]],[[40,11],[[8,[12]]]],[[41,11],[[8,[12]]]],[[42,11],[[8,[12]]]],[[43,11],[[8,[12]]]],[[44,11],[[8,[12]]]],[[45,11],[[8,[12]]]],[[46,11],[[8,[12]]]],[[47,11],[[8,[12]]]],[[48,11],[[8,[12]]]],[[49,11],[[8,[12]]]],[[50,11],[[8,[12]]]],[[51,11],[[8,[12]]]],[[52,11],[[8,[12]]]],[[53,11],[[8,[12]]]],[[54,11],[[8,[12]]]],[[55,11],[[8,[12]]]],[[56,11],[[8,[12]]]],[[57,11],[[8,[12]]]],[[58,11],[[8,[12]]]],[[59,11],[[8,[12]]]],[[60,11],[[8,[12]]]],[[61,11],[[8,[12]]]],[[62,11],[[8,[12]]]],[[63,11],[[8,[12]]]],[[64,11],[[8,[12]]]],[[65,11],[[8,[12]]]],[[66,11],[[8,[12]]]],[[67,11],[[8,[12]]]],[[68,11],[[8,[12]]]],[[69,11],[[8,[12]]]],[[70,11],[[8,[12]]]],[[71,11],[[8,[12]]]],[[72,11],[[8,[12]]]],[[73,11],[[8,[12]]]],[[74,11],[[8,[12]]]],[[75,11],[[8,[12]]]],[[76,11],[[8,[12]]]],[[77,11],[[8,[12]]]],[[78,11],[[8,[12]]]],[[79,11],[[8,[12]]]],[[80,11],[[8,[12]]]],[[81,11],[[8,[12]]]],[[82,11],[[8,[12]]]],[[83,11],[[8,[12]]]],[[84,11],[[8,[12]]]],[[85,11],[[8,[12]]]],[[86,11],[[8,[12]]]],[[87,11],[[8,[12]]]],[[88,11],[[8,[12]]]],[[89,11],[[8,[12]]]],[[90,11],[[8,[12]]]],[[91,11],[[8,[12]]]],[[92,11],[[8,[12]]]],[[93,11],[[8,[12]]]],[[94,11],[[8,[12]]]],[[95,11],[[8,[12]]]],[[96,11],[[8,[12]]]],[[97,11],[[8,[12]]]],[[98,11],[[8,[12]]]],[[99,11],[[8,[12]]]],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,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,0,0,0,0,[[10,[4,[3]]],[[101,[100]]]],[[13,[4,[3]]],[[101,[100]]]],[[14,[4,[3]]],[[101,[100]]]],[[15,[4,[3]]],[[101,[100]]]],[[16,[4,[3]]],[[101,[100]]]],[[17,[4,[3]]],[[101,[100]]]],[[18,[4,[3]]],[[101,[100]]]],[[19,[4,[3]]],[[101,[100]]]],[[20,[4,[3]]],[[101,[100]]]],[[21,[4,[3]]],[[101,[100]]]],[[22,[4,[3]]],[[101,[100]]]],[[23,[4,[3]]],[[101,[100]]]],[[24,[4,[3]]],[[101,[100]]]],[[25,[4,[3]]],[[101,[100]]]],[[26,[4,[3]]],[[101,[100]]]],[[27,[4,[3]]],[[101,[100]]]],[[28,[4,[3]]],[[101,[100]]]],[[29,[4,[3]]],[[101,[100]]]],[[30,[4,[3]]],[[101,[100]]]],[[31,[4,[3]]],[[101,[100]]]],[[32,[4,[3]]],[[101,[100]]]],[[33,[4,[3]]],[[101,[100]]]],[[34,[4,[3]]],[[101,[100]]]],[[35,[4,[3]]],[[101,[100]]]],[[36,[4,[3]]],[[101,[100]]]],[[37,[4,[3]]],[[101,[100]]]],[[38,[4,[3]]],[[101,[100]]]],[[39,[4,[3]]],[[101,[100]]]],[[40,[4,[3]]],[[101,[100]]]],[[41,[4,[3]]],[[101,[100]]]],[[42,[4,[3]]],[[101,[100]]]],[[43,[4,[3]]],[[101,[100]]]],[[44,[4,[3]]],[[101,[100]]]],[[45,[4,[3]]],[[101,[100]]]],[[46,[4,[3]]],[[101,[100]]]],[[47,[4,[3]]],[[101,[100]]]],[[48,[4,[3]]],[[101,[100]]]],[[49,[4,[3]]],[[101,[100]]]],[[50,[4,[3]]],[[101,[100]]]],[[51,[4,[3]]],[[101,[100]]]],[[52,[4,[3]]],[[101,[100]]]],[[53,[4,[3]]],[[101,[100]]]],[[54,[4,[3]]],[[101,[100]]]],[[55,[4,[3]]],[[101,[100]]]],[[56,[4,[3]]],[[101,[100]]]],[[57,[4,[3]]],[[101,[100]]]],[[58,[4,[3]]],[[101,[100]]]],[[59,[4,[3]]],[[101,[100]]]],[[60,[4,[3]]],[[101,[100]]]],[[61,[4,[3]]],[[101,[100]]]],[[62,[4,[3]]],[[101,[100]]]],[[63,[4,[3]]],[[101,[100]]]],[[64,[4,[3]]],[[101,[100]]]],[[65,[4,[3]]],[[101,[100]]]],[[66,[4,[3]]],[[101,[100]]]],[[67,[4,[3]]],[[101,[100]]]],[[68,[4,[3]]],[[101,[100]]]],[[69,[4,[3]]],[[101,[100]]]],[[70,[4,[3]]],[[101,[100]]]],[[71,[4,[3]]],[[101,[100]]]],[[72,[4,[3]]],[[101,[100]]]],[[73,[4,[3]]],[[101,[100]]]],[[74,[4,[3]]],[[101,[100]]]],[[75,[4,[3]]],[[101,[100]]]],[[76,[4,[3]]],[[101,[100]]]],[[77,[4,[3]]],[[101,[100]]]],[[78,[4,[3]]],[[101,[100]]]],[[79,[4,[3]]],[[101,[100]]]],[[80,[4,[3]]],[[101,[100]]]],[[81,[4,[3]]],[[101,[100]]]],[[82,[4,[3]]],[[101,[100]]]],[[83,[4,[3]]],[[101,[100]]]],[[84,[4,[3]]],[[101,[100]]]],[[85,[4,[3]]],[[101,[100]]]],[[86,[4,[3]]],[[101,[100]]]],[[87,[4,[3]]],[[101,[100]]]],[[88,[4,[3]]],[[101,[100]]]],[[89,[4,[3]]],[[101,[100]]]],[[90,[4,[3]]],[[101,[100]]]],[[91,[4,[3]]],[[101,[100]]]],[[92,[4,[3]]],[[101,[100]]]],[[93,[4,[3]]],[[101,[100]]]],[[94,[4,[3]]],[[101,[100]]]],[[95,[4,[3]]],[[101,[100]]]],[[96,[4,[3]]],[[101,[100]]]],[[97,[4,[3]]],[[101,[100]]]],[[98,[4,[3]]],[[101,[100]]]],[[99,[4,[3]]],[[101,[100]]]],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,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[1],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,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,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,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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[102,102],[103,103],[104,104],[105,105],[106,106],[107,107],[108,108],[109,109],[110,110],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[111,[[113,[112]]]],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[102,12]]]],[114,[[8,[103,12]]]],[114,[[8,[104,12]]]],[114,[[8,[105,12]]]],[114,[[8,[106,12]]]],[114,[[8,[107,12]]]],[114,[[8,[108,12]]]],[114,[[8,[109,12]]]],[114,[[8,[110,12]]]],[114,[[8,[115,12]]]],[[114,116],[[8,[102,12]]]],[[114,116],[[8,[103,12]]]],[[114,116],[[8,[104,12]]]],[[114,116],[[8,[105,12]]]],[[114,116],[[8,[106,12]]]],[[114,116],[[8,[107,12]]]],[[114,116],[[8,[108,12]]]],[[114,116],[[8,[109,12]]]],[[114,116],[[8,[110,12]]]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[102,102],3],0,0,0,0,0,0,0,[[117,2],118],[[119,2],118],[[120,2],118],[[121,2],118],[[122,2],118],[[123,2],118],[[124,2],118],[[125,2],118],[[126,2],118],[[127,2],118],[[128,2],118],[[129,2],118],[[130,2],118],[[131,2],118],[[132,2],118],[[133,2],118],[[134,2],118],[[135,2],118],[[111,2],118],[[136,2],118],[[137,2],118],[[138,2],118],[[139,2],118],[[140,2],118],[[141,2],118],[[142,2],118],[[143,2],118],[[144,2],118],[[145,2],118],[[146,2],118],[[147,2],118],[[148,2],118],[[149,2],118],[[150,2],118],[[151,2],118],[[152,2],118],[[153,2],118],[[154,2],118],[[155,2],118],[[156,2],118],[[157,2],118],[[158,2],118],[[159,2],118],[[160,2],118],[[161,2],118],[[162,2],118],[[163,2],118],[[164,2],118],[[165,2],118],[[166,2],118],[[167,2],118],[[168,2],118],[[169,2],118],[[170,2],118],[[171,2],118],[[172,2],118],[[173,2],118],[[174,2],118],[[175,2],118],[[176,2],118],[[177,2],118],[[178,2],118],[[179,2],118],[[180,2],118],[[181,2],118],[[182,2],118],[[183,2],118],[[184,2],118],[[185,2],118],[[186,2],118],[[187,2],118],[[188,2],118],[[189,2],118],[[190,2],118],[[191,2],118],[[192,2],118],[[193,2],118],[[194,2],118],[[195,2],118],[[196,2],118],[[197,2],118],[[198,2],118],[[199,2],118],[[200,2],118],[[201,2],118],[[202,2],118],[[203,2],118],[[204,2],118],0,0,0,0,0,[[102,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,[[102,11],[[8,[12]]]],[[103,11],[[8,[12]]]],[[104,11],[[8,[12]]]],[[105,11],[[8,[12]]]],[[106,11],[[8,[12]]]],[[107,11],[[8,[12]]]],[[108,11],[[8,[12]]]],[[109,11],[[8,[12]]]],[[110,11],[[8,[12]]]],[[115,11],[[8,[12]]]],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,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,0,[117,[[101,[207]]]],[119,[[101,[207]]]],[120,[[101,[207]]]],[121,[[101,[207]]]],[122,[[101,[207]]]],[123,[[101,[207]]]],[124,[[101,[207]]]],[125,[[101,[207]]]],[126,[[101,[207]]]],[127,[[101,[207]]]],[128,[[101,[207]]]],[129,[[101,[207]]]],[130,[[101,[207]]]],[131,[[101,[207]]]],[132,[[101,[207]]]],[133,[[101,[207]]]],[134,[[101,[207]]]],[135,[[101,[207]]]],[111,[[101,[207]]]],[136,[[101,[207]]]],[137,[[101,[207]]]],[138,[[101,[207]]]],[139,[[101,[207]]]],[140,[[101,[207]]]],[141,[[101,[207]]]],[142,[[101,[207]]]],[143,[[101,[207]]]],[144,[[101,[207]]]],[145,[[101,[207]]]],[146,[[101,[207]]]],[147,[[101,[207]]]],[148,[[101,[207]]]],[149,[[101,[207]]]],[150,[[101,[207]]]],[151,[[101,[207]]]],[152,[[101,[207]]]],[153,[[101,[207]]]],[154,[[101,[207]]]],[155,[[101,[207]]]],[156,[[101,[207]]]],[157,[[101,[207]]]],[158,[[101,[207]]]],[159,[[101,[207]]]],[160,[[101,[207]]]],[161,[[101,[207]]]],[162,[[101,[207]]]],[163,[[101,[207]]]],[164,[[101,[207]]]],[165,[[101,[207]]]],[166,[[101,[207]]]],[167,[[101,[207]]]],[168,[[101,[207]]]],[169,[[101,[207]]]],[170,[[101,[207]]]],[171,[[101,[207]]]],[172,[[101,[207]]]],[173,[[101,[207]]]],[174,[[101,[207]]]],[175,[[101,[207]]]],[176,[[101,[207]]]],[177,[[101,[207]]]],[178,[[101,[207]]]],[179,[[101,[207]]]],[180,[[101,[207]]]],[181,[[101,[207]]]],[182,[[101,[207]]]],[183,[[101,[207]]]],[184,[[101,[207]]]],[185,[[101,[207]]]],[186,[[101,[207]]]],[187,[[101,[207]]]],[188,[[101,[207]]]],[189,[[101,[207]]]],[190,[[101,[207]]]],[191,[[101,[207]]]],[192,[[101,[207]]]],[193,[[101,[207]]]],[194,[[101,[207]]]],[195,[[101,[207]]]],[196,[[101,[207]]]],[197,[[101,[207]]]],[198,[[101,[207]]]],[199,[[101,[207]]]],[200,[[101,[207]]]],[201,[[101,[207]]]],[202,[[101,[207]]]],[203,[[101,[207]]]],[204,[[101,[207]]]],[[117,[4,[3]]],[[101,[100]]]],[[119,[4,[3]]],[[101,[100]]]],[[120,[4,[3]]],[[101,[100]]]],[[121,[4,[3]]],[[101,[100]]]],[[122,[4,[3]]],[[101,[100]]]],[[123,[4,[3]]],[[101,[100]]]],[[124,[4,[3]]],[[101,[100]]]],[[125,[4,[3]]],[[101,[100]]]],[[126,[4,[3]]],[[101,[100]]]],[[127,[4,[3]]],[[101,[100]]]],[[128,[4,[3]]],[[101,[100]]]],[[129,[4,[3]]],[[101,[100]]]],[[130,[4,[3]]],[[101,[100]]]],[[131,[4,[3]]],[[101,[100]]]],[[132,[4,[3]]],[[101,[100]]]],[[133,[4,[3]]],[[101,[100]]]],[[134,[4,[3]]],[[101,[100]]]],[[135,[4,[3]]],[[101,[100]]]],[[111,[4,[3]]],[[101,[100]]]],[[136,[4,[3]]],[[101,[100]]]],[[137,[4,[3]]],[[101,[100]]]],[[138,[4,[3]]],[[101,[100]]]],[[139,[4,[3]]],[[101,[100]]]],[[140,[4,[3]]],[[101,[100]]]],[[141,[4,[3]]],[[101,[100]]]],[[142,[4,[3]]],[[101,[100]]]],[[143,[4,[3]]],[[101,[100]]]],[[144,[4,[3]]],[[101,[100]]]],[[145,[4,[3]]],[[101,[100]]]],[[146,[4,[3]]],[[101,[100]]]],[[147,[4,[3]]],[[101,[100]]]],[[148,[4,[3]]],[[101,[100]]]],[[149,[4,[3]]],[[101,[100]]]],[[150,[4,[3]]],[[101,[100]]]],[[151,[4,[3]]],[[101,[100]]]],[[152,[4,[3]]],[[101,[100]]]],[[153,[4,[3]]],[[101,[100]]]],[[154,[4,[3]]],[[101,[100]]]],[[155,[4,[3]]],[[101,[100]]]],[[156,[4,[3]]],[[101,[100]]]],[[157,[4,[3]]],[[101,[100]]]],[[158,[4,[3]]],[[101,[100]]]],[[159,[4,[3]]],[[101,[100]]]],[[160,[4,[3]]],[[101,[100]]]],[[161,[4,[3]]],[[101,[100]]]],[[162,[4,[3]]],[[101,[100]]]],[[163,[4,[3]]],[[101,[100]]]],[[164,[4,[3]]],[[101,[100]]]],[[165,[4,[3]]],[[101,[100]]]],[[166,[4,[3]]],[[101,[100]]]],[[167,[4,[3]]],[[101,[100]]]],[[168,[4,[3]]],[[101,[100]]]],[[169,[4,[3]]],[[101,[100]]]],[[170,[4,[3]]],[[101,[100]]]],[[171,[4,[3]]],[[101,[100]]]],[[172,[4,[3]]],[[101,[100]]]],[[173,[4,[3]]],[[101,[100]]]],[[174,[4,[3]]],[[101,[100]]]],[[175,[4,[3]]],[[101,[100]]]],[[176,[4,[3]]],[[101,[100]]]],[[177,[4,[3]]],[[101,[100]]]],[[178,[4,[3]]],[[101,[100]]]],[[179,[4,[3]]],[[101,[100]]]],[[180,[4,[3]]],[[101,[100]]]],[[181,[4,[3]]],[[101,[100]]]],[[182,[4,[3]]],[[101,[100]]]],[[183,[4,[3]]],[[101,[100]]]],[[184,[4,[3]]],[[101,[100]]]],[[185,[4,[3]]],[[101,[100]]]],[[186,[4,[3]]],[[101,[100]]]],[[187,[4,[3]]],[[101,[100]]]],[[188,[4,[3]]],[[101,[100]]]],[[189,[4,[3]]],[[101,[100]]]],[[190,[4,[3]]],[[101,[100]]]],[[191,[4,[3]]],[[101,[100]]]],[[192,[4,[3]]],[[101,[100]]]],[[193,[4,[3]]],[[101,[100]]]],[[194,[4,[3]]],[[101,[100]]]],[[195,[4,[3]]],[[101,[100]]]],[[196,[4,[3]]],[[101,[100]]]],[[197,[4,[3]]],[[101,[100]]]],[[198,[4,[3]]],[[101,[100]]]],[[199,[4,[3]]],[[101,[100]]]],[[200,[4,[3]]],[[101,[100]]]],[[201,[4,[3]]],[[101,[100]]]],[[202,[4,[3]]],[[101,[100]]]],[[203,[4,[3]]],[[101,[100]]]],[[204,[4,[3]]],[[101,[100]]]],[106,208],[107,209],[104,[[118,[210]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,0,0,0,0,0,[127,[[113,[211]]]],[128,[[113,[211]]]],[111,[[113,[211]]]],[139,[[113,[211]]]],[166,[[113,[211]]]],[199,[[113,[211]]]],[204,[[113,[211]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[117]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[119]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[120]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[121]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[122]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[123]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[124]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[125]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[126]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[127]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[128]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[129]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[130]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[131]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[132]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[133]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[134]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[135]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[111]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[136]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[137]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[138]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[139]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[140]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[141]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[142]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[143]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[144]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[145]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[146]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[147]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[148]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[149]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[150]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[151]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[152]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[153]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[154]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[155]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[156]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[157]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[158]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[159]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[160]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[161]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[162]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[163]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[164]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[165]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[166]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[167]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[168]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[169]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[170]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[171]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[172]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[173]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[174]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[175]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[176]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[177]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[178]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[179]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[180]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[181]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[182]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[183]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[184]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[185]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[186]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[187]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[188]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[189]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[190]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[191]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[192]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[193]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[194]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[195]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[196]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[197]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[198]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[199]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[200]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[201]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[202]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[203]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[204]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[103,[215,[103]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[104,[215,[104]]]]]],[[],8],[[],8],[116,[[8,[105,[215,[105]]]]]],[[],8],[116,[[8,[106,[215,[106]]]]]],[[],8],[116,[[8,[107,[215,[107]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[108,[215,[108]]]]]],[116,[[8,[109,[215,[109]]]]]],[[],8],[[],8],[116,[[8,[110,[215,[110]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],[[8,[103,[215,[103]]]]]],[[],[[8,[104,[215,[104]]]]]],[[],[[8,[105,[215,[105]]]]]],[[],[[8,[106,[215,[106]]]]]],[[],[[8,[107,[215,[107]]]]]],[[],[[8,[108,[215,[108]]]]]],[[],[[8,[109,[215,[109]]]]]],[[],[[8,[110,[215,[110]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,0,0,0,0,0,0,0,[1],[1],0,[[]],[[]],[[]],[[]],[207,[[118,[216]]]],[[]],[207,[[118,[217]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[118,[[101,[216]]]]]],[[],[[118,[[101,[217]]]]]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[218,218],[219,219],[[]],[[]],[[]],[216],[217],[218],[219],0,0,0,[[]],[217],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],2],[216,2],[217,2],[218,2],[219,2],0,0,0,0,[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[222,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[222,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[224,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[224,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[2,225],219],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[216,2],[217,2],[218,2],[219,2],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[2,3],[[207,207,207,[101,[2]]],[[8,[226]]]],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,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,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[227,227],[[]],[228],[6],[6],[6],[227,229],0,0,[[227,205],206],[[227,205],[[8,[230]]]],[[]],[[],6],[[]],[229,3],[[],3],[[],4],[[]],[227,212],[[]],[[]],0,0,[[]],[[]],[[]],[[],212],[[],8],[[],8],[[],9],[[]],[[]],[[]],[231],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[232,[[101,[116]]]],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[232,12]]]],[114,[[8,[233,12]]]],[114,[[8,[234,12]]]],[114,[[8,[235,12]]]],[6],[6],[6],[6],0,[[233,205],206],[[234,205],206],[[235,205],206],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],0,[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[232,11],[[8,[12]]]],[[233,11],[[8,[12]]]],[[234,11],[[8,[12]]]],[[235,11],[[8,[12]]]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[1],[[236,237,238],118],0,0,0,[[239,240],238],[[241,240],238],[236],[[],[[118,[[101,[242]]]]]],[[[244,[243]]],[[118,[[101,[242]]]]]],[245,[[118,[[101,[242]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[2,6,242],118],[[[244,[243]],2,6,242],118],[[245,2,6,242],118],[[246,242,242],118],[[245,242,242],118],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[236,247,242],118],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[239,239],[240,240],[241,241],[248,248],[249,249],[250,250],[251,251],[252,252],[236,236],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[247,240,253,254],[[118,[238]]]],[[247,240,254],[[118,[238]]]],[[],248],[[],249],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[240,12]]]],[[114,116],[[8,[240,12]]]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[236,240],[[101,[248]]]],[[240,240],3],[[250,250],3],[[239,205],206],[[241,205],206],[[250,205],206],[[251,205],206],[[252,205],206],[[236,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[236,3],[236,3],0,0,[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[[236,242],3],0,[[236,240],238],[[236,240]],[[236,240]],[[241,240,238],238],[[236,240],238],[[252,240],238],[236,3],[236,3],[236,3],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[245,246],[236,3],[236,238],[[239,240],238],[[241,240],238],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[236,255,237,238],[[118,[238]]]],[[236,256,238,257,238],[[118,[258]]]],0,[[236,255,237,238,237,238,238],[[118,[238]]]],[[236,255,237,238,237,238,238],[[118,[238]]]],[[236,255,237,238,237,238,238],[[118,[238]]]],0,0,[2,[[118,[245]]]],[[247,254],[[118,[[244,[216]]]]]],[[247,254,6],[[118,[[244,[216]]]]]],[[247,254],[[118,[[244,[216]]]]]],[[247,253,254],[[118,[236]]]],[[247,253,254],[[118,[236]]]],[238,239],[[2,[4,[254]]],[[118,[245]]]],[[6,2],[[118,[259]]]],[[[244,[243]],6,2],[[118,[259]]]],[[245,6,2],[[118,[259]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[236,256],[[118,[252]]]],[[2,6,256],118],[[[244,[243]],2,6,256],118],[[245,2,6,256],118],0,[[236,242],[[118,[238]]]],0,0,0,[[236,260,259,238,238],118],[[236,261,262],118],[[236,263,264,238,238],118],[236,118],[236,118],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[246,242],118],[[245,242],118],[[245,2],[[118,[259]]]],[[245,256],118],[[245,2],[[118,[265]]]],[[240,11],[[8,[12]]]],[[6,2],[[118,[265]]]],[[[244,[243]],6,2],[[118,[265]]]],[[245,6,2],[[118,[265]]]],0,0,[[238,238,238,238],[[118,[238]]]],[[238,238,238,238],[[118,[238]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[236,242],[[118,[241]]]],[[236,242],[[118,[6]]]],0,[[236,240,242],[[118,[238]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[252,240],238],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[238,[[4,[238]]]],[238,[[4,[238]]]],[[],258],[[],254],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,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,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,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,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[266,12]]]],[114,[[8,[267,12]]]],[114,[[8,[268,12]]]],[114,[[8,[269,12]]]],[114,[[8,[270,12]]]],[114,[[8,[271,12]]]],[114,[[8,[272,12]]]],[114,[[8,[273,12]]]],[114,[[8,[274,12]]]],[114,[[8,[275,12]]]],[114,[[8,[276,12]]]],[114,[[8,[277,12]]]],[114,[[8,[278,12]]]],[114,[[8,[279,12]]]],[114,[[8,[280,12]]]],[114,[[8,[281,12]]]],[114,[[8,[282,12]]]],[114,[[8,[283,12]]]],[114,[[8,[284,12]]]],[114,[[8,[285,12]]]],[114,[[8,[286,12]]]],[114,[[8,[287,12]]]],[114,[[8,[288,12]]]],[114,[[8,[289,12]]]],[114,[[8,[290,12]]]],[114,[[8,[291,12]]]],[114,[[8,[292,12]]]],[114,[[8,[293,12]]]],[114,[[8,[294,12]]]],[114,[[8,[295,12]]]],[114,[[8,[296,12]]]],[114,[[8,[297,12]]]],[114,[[8,[298,12]]]],[114,[[8,[299,12]]]],[114,[[8,[300,12]]]],[114,[[8,[301,12]]]],[114,[[8,[302,12]]]],[114,[[8,[303,12]]]],[114,[[8,[304,12]]]],[114,[[8,[305,12]]]],[114,[[8,[306,12]]]],[114,[[8,[307,12]]]],[114,[[8,[308,12]]]],[114,[[8,[309,12]]]],[114,[[8,[310,12]]]],[114,[[8,[311,12]]]],[114,[[8,[312,12]]]],[114,[[8,[313,12]]]],[114,[[8,[314,12]]]],[114,[[8,[315,12]]]],[114,[[8,[316,12]]]],[114,[[8,[317,12]]]],[114,[[8,[318,12]]]],[114,[[8,[319,12]]]],[114,[[8,[320,12]]]],[114,[[8,[321,12]]]],[114,[[8,[322,12]]]],[114,[[8,[323,12]]]],[114,[[8,[324,12]]]],[114,[[8,[325,12]]]],[114,[[8,[326,12]]]],[114,[[8,[327,12]]]],[114,[[8,[328,12]]]],[114,[[8,[329,12]]]],[114,[[8,[330,12]]]],[114,[[8,[331,12]]]],[114,[[8,[332,12]]]],[114,[[8,[333,12]]]],[114,[[8,[334,12]]]],[114,[[8,[335,12]]]],[114,[[8,[336,12]]]],[114,[[8,[337,12]]]],[114,[[8,[338,12]]]],[114,[[8,[339,12]]]],[114,[[8,[340,12]]]],[114,[[8,[341,12]]]],[114,[[8,[342,12]]]],[114,[[8,[343,12]]]],[114,[[8,[344,12]]]],[114,[[8,[345,12]]]],[114,[[8,[346,12]]]],[114,[[8,[347,12]]]],[114,[[8,[348,12]]]],[114,[[8,[349,12]]]],[114,[[8,[350,12]]]],[114,[[8,[351,12]]]],[114,[[8,[352,12]]]],[114,[[8,[353,12]]]],[114,[[8,[354,12]]]],[114,[[8,[355,12]]]],[114,[[8,[356,12]]]],[114,[[8,[357,12]]]],[114,[[8,[358,12]]]],[114,[[8,[359,12]]]],[114,[[8,[360,12]]]],[114,[[8,[361,12]]]],[114,[[8,[362,12]]]],[114,[[8,[363,12]]]],[114,[[8,[364,12]]]],[114,[[8,[365,12]]]],[114,[[8,[366,12]]]],[114,[[8,[367,12]]]],[114,[[8,[368,12]]]],[114,[[8,[369,12]]]],[114,[[8,[370,12]]]],0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],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,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],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,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,[[266,11],[[8,[12]]]],[[267,11],[[8,[12]]]],[[268,11],[[8,[12]]]],[[269,11],[[8,[12]]]],[[270,11],[[8,[12]]]],[[271,11],[[8,[12]]]],[[272,11],[[8,[12]]]],[[273,11],[[8,[12]]]],[[274,11],[[8,[12]]]],[[275,11],[[8,[12]]]],[[276,11],[[8,[12]]]],[[277,11],[[8,[12]]]],[[278,11],[[8,[12]]]],[[279,11],[[8,[12]]]],[[280,11],[[8,[12]]]],[[281,11],[[8,[12]]]],[[282,11],[[8,[12]]]],[[283,11],[[8,[12]]]],[[284,11],[[8,[12]]]],[[285,11],[[8,[12]]]],[[286,11],[[8,[12]]]],[[287,11],[[8,[12]]]],[[288,11],[[8,[12]]]],[[289,11],[[8,[12]]]],[[290,11],[[8,[12]]]],[[291,11],[[8,[12]]]],[[292,11],[[8,[12]]]],[[293,11],[[8,[12]]]],[[294,11],[[8,[12]]]],[[295,11],[[8,[12]]]],[[296,11],[[8,[12]]]],[[297,11],[[8,[12]]]],[[298,11],[[8,[12]]]],[[299,11],[[8,[12]]]],[[300,11],[[8,[12]]]],[[301,11],[[8,[12]]]],[[302,11],[[8,[12]]]],[[303,11],[[8,[12]]]],[[304,11],[[8,[12]]]],[[305,11],[[8,[12]]]],[[306,11],[[8,[12]]]],[[307,11],[[8,[12]]]],[[308,11],[[8,[12]]]],[[309,11],[[8,[12]]]],[[310,11],[[8,[12]]]],[[311,11],[[8,[12]]]],[[312,11],[[8,[12]]]],[[313,11],[[8,[12]]]],[[314,11],[[8,[12]]]],[[315,11],[[8,[12]]]],[[316,11],[[8,[12]]]],[[317,11],[[8,[12]]]],[[318,11],[[8,[12]]]],[[319,11],[[8,[12]]]],[[320,11],[[8,[12]]]],[[321,11],[[8,[12]]]],[[322,11],[[8,[12]]]],[[323,11],[[8,[12]]]],[[324,11],[[8,[12]]]],[[325,11],[[8,[12]]]],[[326,11],[[8,[12]]]],[[327,11],[[8,[12]]]],[[328,11],[[8,[12]]]],[[329,11],[[8,[12]]]],[[330,11],[[8,[12]]]],[[331,11],[[8,[12]]]],[[332,11],[[8,[12]]]],[[333,11],[[8,[12]]]],[[334,11],[[8,[12]]]],[[335,11],[[8,[12]]]],[[336,11],[[8,[12]]]],[[337,11],[[8,[12]]]],[[338,11],[[8,[12]]]],[[339,11],[[8,[12]]]],[[340,11],[[8,[12]]]],[[341,11],[[8,[12]]]],[[342,11],[[8,[12]]]],[[343,11],[[8,[12]]]],[[344,11],[[8,[12]]]],[[345,11],[[8,[12]]]],[[346,11],[[8,[12]]]],[[347,11],[[8,[12]]]],[[348,11],[[8,[12]]]],[[349,11],[[8,[12]]]],[[350,11],[[8,[12]]]],[[351,11],[[8,[12]]]],[[352,11],[[8,[12]]]],[[353,11],[[8,[12]]]],[[354,11],[[8,[12]]]],[[355,11],[[8,[12]]]],[[356,11],[[8,[12]]]],[[357,11],[[8,[12]]]],[[358,11],[[8,[12]]]],[[359,11],[[8,[12]]]],[[360,11],[[8,[12]]]],[[361,11],[[8,[12]]]],[[362,11],[[8,[12]]]],[[363,11],[[8,[12]]]],[[364,11],[[8,[12]]]],[[365,11],[[8,[12]]]],[[366,11],[[8,[12]]]],[[367,11],[[8,[12]]]],[[368,11],[[8,[12]]]],[[369,11],[[8,[12]]]],[[370,11],[[8,[12]]]],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,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,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,0,0,0,0,[1],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,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,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[371,371],[[]],0,0,0,0,0,0,0,0,0,[372,[[101,[116]]]],[373,[[101,[116]]]],[374,[[101,[116]]]],[375,[[101,[116]]]],[376,[[101,[116]]]],[377,[[101,[116]]]],[378,[[101,[116]]]],[379,[[101,[116]]]],[380,[[101,[116]]]],[381,[[101,[116]]]],[382,[[101,[116]]]],[383,[[101,[116]]]],[384,[[101,[116]]]],[385,[[101,[116]]]],[386,[[101,[116]]]],[387,[[101,[116]]]],[388,[[101,[116]]]],[389,[[101,[116]]]],[390,[[101,[116]]]],[391,[[101,[116]]]],[392,[[101,[116]]]],[393,[[101,[116]]]],[394,[[101,[116]]]],[395,[[101,[116]]]],[396,[[101,[116]]]],[397,[[101,[116]]]],[398,[[101,[116]]]],[399,[[101,[116]]]],[400,[[101,[116]]]],[401,[[101,[116]]]],[402,[[101,[116]]]],[403,[[101,[116]]]],[404,[[101,[116]]]],[405,[[101,[116]]]],[406,[[101,[116]]]],[407,[[101,[116]]]],[408,[[101,[116]]]],[409,[[101,[116]]]],[410,[[101,[116]]]],[411,[[101,[116]]]],[412,[[101,[116]]]],[413,[[101,[116]]]],[414,[[101,[116]]]],[415,[[101,[116]]]],[416,[[101,[116]]]],[417,[[101,[116]]]],[418,[[101,[116]]]],[419,[[101,[116]]]],[420,[[101,[116]]]],[421,[[101,[116]]]],[422,[[101,[116]]]],[423,[[101,[116]]]],[424,[[101,[116]]]],0,0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[372,12]]]],[114,[[8,[373,12]]]],[114,[[8,[425,12]]]],[114,[[8,[426,12]]]],[114,[[8,[427,12]]]],[114,[[8,[374,12]]]],[114,[[8,[375,12]]]],[114,[[8,[376,12]]]],[114,[[8,[377,12]]]],[114,[[8,[378,12]]]],[114,[[8,[379,12]]]],[114,[[8,[380,12]]]],[114,[[8,[381,12]]]],[114,[[8,[382,12]]]],[114,[[8,[383,12]]]],[114,[[8,[384,12]]]],[114,[[8,[385,12]]]],[114,[[8,[386,12]]]],[114,[[8,[387,12]]]],[114,[[8,[388,12]]]],[114,[[8,[389,12]]]],[114,[[8,[390,12]]]],[114,[[8,[391,12]]]],[114,[[8,[371,12]]]],[114,[[8,[392,12]]]],[114,[[8,[393,12]]]],[114,[[8,[394,12]]]],[114,[[8,[395,12]]]],[114,[[8,[396,12]]]],[114,[[8,[397,12]]]],[114,[[8,[398,12]]]],[114,[[8,[399,12]]]],[114,[[8,[400,12]]]],[114,[[8,[401,12]]]],[114,[[8,[402,12]]]],[114,[[8,[403,12]]]],[114,[[8,[404,12]]]],[114,[[8,[405,12]]]],[114,[[8,[406,12]]]],[114,[[8,[407,12]]]],[114,[[8,[408,12]]]],[114,[[8,[409,12]]]],[114,[[8,[410,12]]]],[114,[[8,[411,12]]]],[114,[[8,[412,12]]]],[114,[[8,[413,12]]]],[114,[[8,[414,12]]]],[114,[[8,[415,12]]]],[114,[[8,[416,12]]]],[114,[[8,[417,12]]]],[114,[[8,[418,12]]]],[114,[[8,[419,12]]]],[114,[[8,[420,12]]]],[114,[[8,[421,12]]]],[114,[[8,[422,12]]]],[114,[[8,[423,12]]]],[114,[[8,[424,12]]]],[[114,116],[[8,[371,12]]]],0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,[[2,2,261,262]],[428],0,0,0,[[371,371],3],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[371,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,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,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,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,0,0,0,[[372,11],[[8,[12]]]],[[373,11],[[8,[12]]]],[[425,11],[[8,[12]]]],[[426,11],[[8,[12]]]],[[427,11],[[8,[12]]]],[[374,11],[[8,[12]]]],[[375,11],[[8,[12]]]],[[376,11],[[8,[12]]]],[[377,11],[[8,[12]]]],[[378,11],[[8,[12]]]],[[379,11],[[8,[12]]]],[[380,11],[[8,[12]]]],[[381,11],[[8,[12]]]],[[382,11],[[8,[12]]]],[[383,11],[[8,[12]]]],[[384,11],[[8,[12]]]],[[385,11],[[8,[12]]]],[[386,11],[[8,[12]]]],[[387,11],[[8,[12]]]],[[388,11],[[8,[12]]]],[[389,11],[[8,[12]]]],[[390,11],[[8,[12]]]],[[391,11],[[8,[12]]]],[[371,11],[[8,[12]]]],[[392,11],[[8,[12]]]],[[393,11],[[8,[12]]]],[[394,11],[[8,[12]]]],[[395,11],[[8,[12]]]],[[396,11],[[8,[12]]]],[[397,11],[[8,[12]]]],[[398,11],[[8,[12]]]],[[399,11],[[8,[12]]]],[[400,11],[[8,[12]]]],[[401,11],[[8,[12]]]],[[402,11],[[8,[12]]]],[[403,11],[[8,[12]]]],[[404,11],[[8,[12]]]],[[405,11],[[8,[12]]]],[[406,11],[[8,[12]]]],[[407,11],[[8,[12]]]],[[408,11],[[8,[12]]]],[[409,11],[[8,[12]]]],[[410,11],[[8,[12]]]],[[411,11],[[8,[12]]]],[[412,11],[[8,[12]]]],[[413,11],[[8,[12]]]],[[414,11],[[8,[12]]]],[[415,11],[[8,[12]]]],[[416,11],[[8,[12]]]],[[417,11],[[8,[12]]]],[[418,11],[[8,[12]]]],[[419,11],[[8,[12]]]],[[420,11],[[8,[12]]]],[[421,11],[[8,[12]]]],[[422,11],[[8,[12]]]],[[423,11],[[8,[12]]]],[[424,11],[[8,[12]]]],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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[429,[117]],254],118],[[[429,[119]],3],118],[[[429,[120]],229,116,116,116,116,212],118],[[[429,[121]],229,116,116,116,116,116,212],118],[[[429,[122]],229,116,116,116,116,116,116,212],118],[[[429,[123]],[4,[212]],[4,[2]],[4,[2]],[4,[254]]],118],[[[429,[124]],116,116,116,116],118],[[[429,[124]],116,116,116,116,116],118],[[[429,[124]],116,116,116,116,116,116],118],[[[429,[125]]],118],[[[429,[126]],3],118],[[[429,[127]]],118],[[[429,[128]]],118],[[[429,[129]],116,[101,[2]]],118],[[[429,[130]],116],118],[[[429,[131]]],118],[[[429,[132]]],118],[[[429,[133]],[101,[254]]],118],[[[429,[135]],102],118],[[[429,[135]],116,102],118],[[[429,[134]],254],118],[[[429,[111]]],118],[[[429,[136]]],118],[[[429,[137]],229,116,116],118],[[[429,[138]],[4,[2]],[4,[2]],[4,[2]],[4,[116]],[4,[116]],[4,[254]],[4,[3]],[4,[430]],[4,[2]],[4,[242]],[4,[254]],[4,[431]],[4,[254]]],118],[[[429,[139]],254],118],[[[429,[140]],432,103],118],[[[429,[141]]],118],[[[429,[142]]],118],[[[429,[143]],433],118],[[[429,[199]],238],118],[[[429,[200]],242,242,238],118],[[[429,[144]],116,[4,[107]]],118],[[[429,[144]],107,433],118],[[[429,[144]],107,254],118],[[[429,[145]]],118],[[[429,[146]]],118],[[[429,[147]]],118],[[[429,[148]],[4,[3]],[4,[3]],[4,[212]],[4,[430]]],118],[[[429,[149]],116],118],[[[429,[150]],107,258,258,258,254,104,106,3,254,116],118],[[[429,[151]],434,212,430],118],[[[429,[152]],3],118],[[[429,[153]],116],118],[[[429,[154]],[4,[257]],116],118],[[[429,[155]],433],118],[[[429,[156]],254],118],[[[429,[157]]],118],[[[429,[158]],6],118],[[[429,[159]],256,212,435,116,258,258,430,430,430,430,430,430,430,430,430,430,430,258,3,430,430,430,430,242,430,254,430,430],118],[[[429,[160]]],118],[[[429,[161]],[4,[2]],[4,[435]],[4,[116]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[258]],[4,[3]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[229]],[4,[430]],[4,[430]],[4,[430]],[4,[254]],[4,[3]],3,[4,[430]],[4,[212]],[4,[3]],[4,[430]]],118],[[[429,[162]]],118],[[[429,[163]],258,254],118],[[[429,[164]],116],118],[[[429,[165]],254],118],[[[429,[166]],254],118],[[[429,[167]],257,258,258,258,254,436,3,254,116],[[118,[[4,[433]]]]]],[[[429,[167]],257,258,258,258,258,254,436,3,254,116,437],[[118,[[4,[433]]]]]],[[[429,[167]],257,258,258,258,258,254,436,438,3,254,116,437],[[118,[[4,[433]]]]]],[[[429,[167]],257,258,258,258,254,436,438,3,254,116],[[118,[[4,[433]]]]]],[[[429,[168]],254],118],[[[429,[169]]],118],[[[429,[170]]],118],[[[429,[171]],116],118],[[[429,[172]],116],118],[[[429,[173]],110,433],118],[[[429,[173]],254],118],[[[429,[174]]],118],[[[429,[175]]],118],[[[429,[176]]],118],[[[429,[177]],[4,[3]],[4,[3]],[4,[212]],[4,[430]]],118],[[[429,[178]],116],118],[[[429,[179]],110,254,254,254,108,109,254,431],118],[[[429,[179]],110,254,254,254,108,109,254,431],118],[[[429,[180]],439,212,430],118],[[[429,[181]]],118],[[[429,[183]],3],118],[[[429,[184]]],118],[[[429,[185]],238],118],[[[429,[186]],238],118],[[[429,[186]],238,254,238],118],[[[429,[187]],242,229],118],[[[429,[188]]],118],[[[429,[189]],116,254],118],[[[429,[190]],254,254,254,432,432,432,3,3],118],[[[429,[190]],254,254,254,432,432,3,3,440,254,254],118],[[[429,[190]],254,254,254,432,432,432,3,3,440,441,254],118],[[[429,[190]],254,254,254,432,432,432,3,3,440,441],118],[[[429,[191]],116,254],118],[[[429,[192]],116,254,254,254],118],[[[429,[192]],116,254,254,254,254,430],118],[[[429,[194]],254,3],118],[[[429,[193]],254,3],118],[[[429,[195]]],118],[[[429,[196]],[4,[2]],[4,[435]],[4,[3]],[4,[115]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[229]],[4,[430]],[4,[430]],[4,[432]],[4,[258]],[4,[254]],[4,[432]],[4,[432]],3,3,[4,[116]],[4,[212]],[4,[3]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[254]],[4,[254]],[4,[430]],[4,[430]],3,3,[4,[254]],[4,[430]],[4,[430]],[4,[3]],[4,[430]],[4,[3]]],118],[[[429,[197]],242,242,254],118],[[[429,[198]]],118],[[[429,[199]],238],118],[[[429,[200]],242,242,238],118],[[[429,[201]],242,212,435,115,430,430,430,430,430,430,430,229,430,430,432,254,258,432,432,116,430,430,430,430,430,3,254,430,430,3,430],118],[[[429,[202]],242,212],118],[[[429,[203]]],118],[[[429,[203]]],118],[[[429,[204]],254,3],118],0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[442,442],[[]],[6],[6],[6],[[]],[[],2],[[],6],[[]],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],9],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[1],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[443,444],118],[[445,444],118],[[446,444],118],[[447,444,448],118],[[449,444,116],118],[[449,444,450],118],[[449,444,254],118],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[451,451],[[]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[264,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[265,264],[[259,254,254],264],[[],3],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],3],[[452,207],[[118,[[224,[453]]]]]],[[452,207],[[118,[[224,[453]]]]]],[[207,2],[[118,[[222,[452]]]]]],[454,[[118,[265]]]],[[],[[118,[265]]]],[207,[[118,[[222,[265]]]]]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],2],0,0,0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,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,[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],0,0,0,0,0,[455,6],[[456,254]],0,[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,257,461,462],118],[[261,257,258,258]],0,[[261,257,258]],0,0,[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[463,3],0,[463,3],0,0,[237,3],[[261,262,238],238],[237,3],[237,3],[464,[[4,[465]]]],[464,[[4,[465]]]],[464,[[4,[462]]]],[464,[[4,[462]]]],[465,464],[462,464],0,0,0,[[261,262]],[[261,262],432],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[466],0,0,0,0,0,0,0,[261,258],0,[[261,262],238],[[467,257]],0,0,0,0,[[[458,[[457,[455]],[457,[456]],457]]],3],[456,3],0,[[468,254,258],[[4,[258]]]],0,0,0,0,[[469,257],468],[[469,257],468],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[458,[[457,[455]],[457,[456]],457]]],247],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]]],470],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[261,262],432],0,0,0,0,0,0,0,0,0,0,0,[444,3],0,[456,254],0,0,0,0,0,0,0,0,0,[[469,470,2,262,116,[4,[257]]],118],[[469,470,433,471,[4,[2]]],[[118,[462]]]],[[469,470,2,6,256],118],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[237,472,238,254],[[118,[473]]]],[[237,472,238,254],[[118,[3]]]],[[474,475],118],[[474,475,[4,[254]]],118],[237,118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236,238],[[118,[238]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],238,238],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],238],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236],[[118,[238]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236,238],118],[243,118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236],[[118,[476]]]],[[237,238],118],[[455,455],118],[[474,475,254],118],[[463,432,254],118],[[463,432,254],118],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[237,472,238,472,238,254,238],[[118,[477]]]],0,0,[478],0,0,0,[237,237],[[[458,[479,479,479]]],[[458,[479,479,479]]]],[444,444],[480,480],[481,481],[456,456],[455,455],[472,472],[263,263],[260,260],[261,261],[478,478],[466,466],[482,482],[483,483],[475,475],[484,484],[485,485],[461,461],[468,468],[486,486],[465,465],[462,462],[487,487],[464,464],[436,436],[488,488],[438,438],[257,257],[471,471],[489,489],[490,490],[491,491],[492,492],[493,493],[494,494],[495,495],[467,467],[496,496],[262,262],[497,497],[498,498],[499,499],[440,440],[441,441],[500,500],[463,463],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[247,245],[[118,[233]]]],[[237,238,238,238],118],[[237,238],238],[[237,238,238,254],238],[[262,238,238,238,238,238],[[118,[238]]]],0,0,[[],6],[493,6],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],434],[[118,[260]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],439],[[118,[263]]]],0,0,0,0,0,0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],434],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,242],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,242,2],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],439],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6,2]],[254],[[493,254]],[472],[[],472],[[],263],[[],260],[[],261],[[],478],[[],435],[[],438],[[],499],[[],463],[[],481],[[],262],0,0,0,[[499,254],116],0,0,0,0,[[237,472,238,254],[[118,[3]]]],0,[[237,472,238,3,254],[[118,[3]]]],[[237,472,238,3,254],[[118,[3]]]],0,0,0,[[237,472,238,254],[[118,[3]]]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[114,[[8,[481,12]]]],[114,[[8,[472,12]]]],[114,[[8,[263,12]]]],[114,[[8,[260,12]]]],[114,[[8,[261,12]]]],[114,[[8,[478,12]]]],[114,[[8,[475,12]]]],[114,[[8,[435,12]]]],[114,[[8,[484,12]]]],[114,[[8,[461,12]]]],[114,[[8,[465,12]]]],[114,[[8,[462,12]]]],[114,[[8,[436,12]]]],[114,[[8,[488,12]]]],[114,[[8,[438,12]]]],[114,[[8,[257,12]]]],[114,[[8,[471,12]]]],[114,[[8,[489,12]]]],[114,[[8,[467,12]]]],[114,[[8,[496,12]]]],[114,[[8,[440,12]]]],[114,[[8,[441,12]]]],[114,[[8,[500,12]]]],[114,[[8,[463,12]]]],[[114,116],[[8,[484,12]]]],[[114,116],[[8,[461,12]]]],[[114,116],[[8,[436,12]]]],[[114,116],[[8,[488,12]]]],[[114,116],[[8,[438,12]]]],[[114,116],[[8,[257,12]]]],[[114,116],[[8,[471,12]]]],[[114,116],[[8,[489,12]]]],[[114,116],[[8,[440,12]]]],[[114,116],[[8,[441,12]]]],[[114,116],[[8,[500,12]]]],[243,[[118,[484]]]],0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[237,472,254],[[118,[3]]]],0,[[116,116,116,116,116],6],[[116,116,116],6],[[116,116],6],[[116,116,116,116,116,116],6],[116,6],[[116,116,116,116,116,116],6],[[116,116,116,116],6],[[],6],[465,254],[464,254],[261,258],[466,3],[262,3],[237,118],[237,118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,242],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],242],118],[[476,476],3],[[481,481],3],[[472,472],3],[[263,263],3],[[260,260],3],[[261,261],3],[[478,478],3],[[475,475],3],[[484,484],3],[[461,461],3],[[486,486],3],[[462,462],3],[[436,436],3],[[488,488],3],[[438,438],3],[[257,257],3],[[471,471],3],[[489,489],3],[[495,495],3],[[440,440],3],[[441,441],3],[[500,500],3],[[463,463],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],0,0,0,0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,262,467,444],[[118,[238]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,257,6,258,433],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,262,467],[[118,[238]]]],[455,6],[[456,254,254]],[462,254],0,0,0,0,[[[501,[243]],116],[[118,[474]]]],0,0,0,0,0,0,0,0,[[491,490],4],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]]],[[4,[261]]]],[[491,490],4],[466,2],[466,2],0,[258,[[118,[254]]]],[254,258],0,0,0,[[237,205],206],[[444,205],206],[[480,205],206],[[481,205],206],[[455,205],206],[[472,205],206],[[263,205],206],[[260,205],206],[[261,205],206],[[478,205],206],[[466,205],206],[[482,205],206],[[483,205],206],[[475,205],206],[[435,205],206],[[461,205],206],[[462,205],206],[[436,205],206],[[488,205],206],[[438,205],206],[[257,205],206],[[471,205],206],[[489,205],206],[[494,205],206],[[467,205],206],[[496,205],206],[[262,205],206],[[497,205],206],[[498,205],206],[[499,205],206],[[463,205],206],0,0,0,0,0,0,0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]]],[[118,[463]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],118],[[],[[118,[255]]]],[[],[[118,[502]]]],[[],[[118,[[458,[455,456]]]]]],[[],[[118,[[458,[455,456,[101,[116,503]]]]]]]],[[],[[118,[455]]]],[[237,2,229,116],237],[[257,254,254,462],496],[243,[[501,[243]]]],0,0,[492,3],0,[[262,257,254],433],[504,238],[[[0,[243,505]],116],[[118,[474]]]],[504,[[118,[2]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[473,3],[477,3],[261,3],[261,3],[261,3],[504,3],[[],6],[493,6],0,0,[[[458,[[457,[455]],[457,[456]],457]]],116],0,0,0,0,0,0,0,0,0,[[468,258,254,258],[[4,[258]]]],0,0,0,[[]],[493],[472],0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[469],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,[[],118],[[],118],[[468,461,462],118],[[491,490,462],118],[[262,257,238,238],3],0,0,0,0,[[238,238,238,238,238,238,238,432],238],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[257,257],[472,3],[263,3],[260,3],[261,3],[478,3],[[263,439],3],[[260,434],3],[[261,256],3],[[478,256],3],[[472,242],3],[463,3],0,[[456,2],3],[492,3],[[462,254],3],[[463,254],3],[237,3],[482,3],[262,3],[497,3],[237,3],[468,3],[491,3],[456,3],[472,3],[504,3],[[444,480],3],[456,3],[[456,2],3],[506,3],[[257,258,258],3],[[257,254,254],3],[[257,258,258],3],[482,3],[262,3],[497,3],[[463,432,254],3],[463,3],[444,3],[[463,432,254],3],[507,3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[491,490],508],[492,459],[[468,254,258],509],[[468,254,258],459],0,[464,[[4,[433]]]],0,0,0,0,0,0,0,0,0,0,0,[492,6],0,[[],[[118,[510]]]],[[],[[118,[511]]]],[[],[[118,[511]]]],[243,[[118,[504]]]],[243,[[118,[504]]]],0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[262,258],238],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[237,254]],0,0,[[463,238],254],0,0,0,0,[467,3],0,[[463,432],432],0,0,0,0,0,0,0,0,0,0,0,0,0,[[468,258,254,258],[[4,[258]]]],[[468,258,254,258],[[4,[258]]]],0,0,[[463,238,237],254],0,[[],6],[[491,490],4],0,0,0,[[463,238,237],254],0,0,0,[[456,238],3],0,[[491,490],4],0,0,0,0,0,0,[444,3],[[]],[237,512],[456,512],[482,512],[262,512],[497,512],0,0,0,0,0,0,[[472,237],238],[237,238],[237,238],[[262,238],258],[506,3],0,0,0,0,0,[[468,254,258],509],[[491,490],508],[[229,433],465],[[116,433,2,258,254,488,431,258,254],462],[[257,461],471],[[257,3,116,254,254,2,433,254,238,254,2,254,238,258,258],467],[[257,116,254,254,2,258,433],496],[[257,254,254],433],[[469,506,262,492,238,470,2,254,116],[[8,[[4,[433]],223]]]],[509,4],[508,4],0,0,[[468,513],[[4,[464]]]],[490,[[4,[513]]]],[[491,513],[[4,[464]]]],0,0,[[468,513],[[4,[464]]]],[[491,513],[[4,[464]]]],0,0,[466,6],0,0,0,0,0,[455,6],0,0,0,0,[[[458,[[457,[455]],[457,[456]],457]],434],[[118,[260]]]],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[260]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],434],[[118,[260]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],260],0,0,0,0,0,0,0,[[512,474,475,[4,[254]]],212],[258,254],[254,258],[[237,[501,[243]],[4,[254]]],[[118,[238]]]],[[262,[501,[243]],[4,[254]]],[[118,[238]]]],[482,430],[497,430],0,0,[[262,[501,[243]],[4,[254]]],[[118,[474]]]],[[[501,[243]],116],[[118,[474]]]],0,0,0,[471,461],0,[491,489],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],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,0,0,0,0,0,[[463,254],3],[456,514],[508,4],[492,[[4,[494]]]],[492,[[4,[494]]]],[506,258],0,[455,6],0,[[[458,[[457,[455]],[457,[456]],457]],256,254],4],[[[458,[[457,[455]],[457,[456]],457]],256,433],4],0,[[[458,[[457,[455]],[457,[456]],457]]],[[118,[6]]]],[[455,6],6],[455,6],0,0,[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[478]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],478],[[[458,[[457,[455]],[457,[456]],457]],256],[[118,[261]]]],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[261]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256],[[118,[261]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],261],0,0,0,0,[444,3],0,0,[492,[[118,[494]]]],0,0,[506,[[4,[461]]]],0,0,0,0,0,0,[515,238],0,[[463,432,254],432],0,[[506,254,258,469],118],0,0,0,[462,254],0,0,0,0,[516,517],[516,517],[[492,494],[[8,[494]]]],0,0,0,0,0,0,[[468,258,254,258],258],0,0,0,0,[261,238],0,0,[[504,[501,[243]]],[[118,[474]]]],0,0,0,0,[[257,4,4,3,254,258],[[4,[507]]]],0,0,0,0,[[261,238,258,258]],[[261,238]],[[261,238,262]],[[261,262,258,238],238],[[261,238]],0,[[456,254]],0,0,0,0,0,0,0,0,0,[463,254],[237,238],[[237,238],238],[463,254],[[468,461,433],[[4,[462]]]],[[491,490,433],[[4,[462]]]],[[468,461,254],[[4,[462]]]],[[491,490,254],[[4,[462]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6,258],118],[[261,258,258]],[[468,254,258],4],[[491,490],[[4,[462]]]],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,[[499,432,254]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],116,116,116,116,116,116],118],[[492,6],118],[[468,461],490],[[468,461],490],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[237,238],238],[[237,238],238],0,0,0,0,0,0,0,0,0,[[481,11],[[8,[12]]]],[[472,11],[[8,[12]]]],[[263,11],[[8,[12]]]],[[260,11],[[8,[12]]]],[[261,11],[[8,[12]]]],[[478,11],[[8,[12]]]],[[475,11],[[8,[12]]]],[[435,11],[[8,[12]]]],[[484,11],[[8,[12]]]],[[461,11],[[8,[12]]]],[[465,11],[[8,[12]]]],[[462,11],[[8,[12]]]],[[436,11],[[8,[12]]]],[[488,11],[[8,[12]]]],[[438,11],[[8,[12]]]],[[257,11],[[8,[12]]]],[[471,11],[[8,[12]]]],[[489,11],[[8,[12]]]],[[467,11],[[8,[12]]]],[[496,11],[[8,[12]]]],[[440,11],[[8,[12]]]],[[441,11],[[8,[12]]]],[[500,11],[[8,[12]]]],[[463,11],[[8,[12]]]],0,[455,6],0,[[455,6],6],[[[458,[[457,[455]],[457,[456]],457]],439],[[118,[263]]]],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[263]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],439],[[118,[263]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],263],[444,3],0,0,0,0,[[456,3]],[229],[[493,229]],[[262,3]],[229],[[493,229]],[[456,3]],[[463,3]],0,0,0,[[261,262]],[[261,262]],[262,238],0,0,0,0,0,0,0,[508,257],[468,257],[471,257],[489,257],[496,257],0,0,[478,471],0,[514],[[262,238],[[118,[238]]]],0,0,0,0,[[116,116,116,116,116,116],6],0,0,[237,238],[262,238],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[463,238],254],0,0,0,[[463,432],432],0,[467,257],0,0,0,[463,500],0,0,0,0,0,0,[254,[[4,[431]]]],0,0,0,0,0,[435,475],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[436,[[118,[488]]]],[[[458,[[457,[455]],[457,[456]],457]],254],118],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[463]]]],[455,6],0,[[[458,[[457,[455]],[457,[456]],457]]],[[118,[6]]]],0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],[[118,[463]]]],0,0,[455,6],0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],237,254,2],118],0,0,0,0,0,[[455,6],6],[[[458,[[457,[455]],[457,[456]],457]],242],[[118,[472]]]],[[[458,[[457,[455]],[457,[456]],457]],242],118],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[472]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],242],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],472],0,[[],[[118,[237]]]],[[],[[118,[444]]]],[[],[[118,[481]]]],[[],[[118,[466]]]],[[],[[118,[482]]]],[[],[[118,[483]]]],[[],[[118,[485]]]],[[],[[118,[468]]]],[[],[[118,[492]]]],[[],[[118,[262]]]],[[],[[118,[497]]]],[[],[[118,[498]]]],[[],[[118,[237]]]],[[],[[118,[444]]]],[[],[[118,[481]]]],[[],[[118,[466]]]],[[],[[118,[482]]]],[[],[[118,[483]]]],[[],[[118,[485]]]],[[],[[118,[468]]]],[[],[[118,[492]]]],[[],[[118,[262]]]],[[],[[118,[497]]]],[[],[[118,[498]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[461,[215,[461]]]]]],[[],8],[[],8],[[],8],[116,[[8,[518,[215,[518]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[436,[215,[436]]]]]],[116,[[8,[488,[215,[488]]]]]],[[],8],[116,[[8,[438,[215,[438]]]]]],[[],8],[[],8],[116,[[8,[257,[215,[257]]]]]],[[],8],[116,[[8,[471,[215,[471]]]]]],[[],8],[116,[[8,[489,[215,[489]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[495,[215,[495]]]]]],[[],8],[494,[[118,[467]]]],[[],8],[494,[[118,[467]]]],[[],8],[494,[[118,[496]]]],[494,[[118,[496]]]],[[],8],[[],8],[[],8],[[],8],[116,[[8,[440,[215,[440]]]]]],[[],8],[116,[[8,[441,[215,[441]]]]]],[[],8],[116,[[8,[500,[215,[500]]]]]],[[],8],[[],8],[[],[[8,[461,[215,[461]]]]]],[[],[[8,[518,[215,[518]]]]]],[[],[[8,[436,[215,[436]]]]]],[[],[[8,[488,[215,[488]]]]]],[[],[[8,[438,[215,[438]]]]]],[[],[[8,[257,[215,[257]]]]]],[[],[[8,[471,[215,[471]]]]]],[[],[[8,[489,[215,[489]]]]]],[[],[[8,[495,[215,[495]]]]]],[[],[[8,[440,[215,[440]]]]]],[[],[[8,[441,[215,[441]]]]]],[[],[[8,[500,[215,[500]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[481,11],118],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[472,237],238],[[261,262],238],[[261,262,238],[[118,[238]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[499,254,432]],[[237,472,238]],[[262,469,474,254],118],[237],[[237,238,254]],[[491,254,254]],[[237,254,254]],[[237,254,254]],[[261,262,254]],0,0,0,0,0,0,[237,118],[466,118],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[237,472,238,254],[[118,[473]]]],[[237,472,238,254],[[118,[473]]]],[[237,472,238,254],[[118,[3]]]],[[237,472,238,254],[[118,[3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],455],0,0,0,0,0,0,0,0,0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],519],[[],520],[[],521],[[],522],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[519,12]]]],[114,[[8,[520,12]]]],[114,[[8,[521,12]]]],[114,[[8,[522,12]]]],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[519,11],[[8,[12]]]],[[520,11],[[8,[12]]]],[[521,11],[[8,[12]]]],[[522,11],[[8,[12]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[512,118],[205,[[8,[230]]]]],"c":[],"p":[[3,"Private"],[3,"Pubkey"],[15,"bool"],[4,"Option"],[3,"Mango"],[15,"usize"],[6,"ProgramResult"],[4,"Result"],[3,"TypeId"],[3,"AccountBuybackFeesWithMngo"],[8,"Write"],[3,"Error"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountCreateV2"],[3,"AccountCreateV3"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountSizeMigration"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanSwapBegin"],[3,"FlashLoanEnd"],[3,"GroupChangeInsuranceFund"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthCheck"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"SequenceCheck"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenChargeCollateralFees"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapStart"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenForceWithdraw"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"AccountMeta"],[3,"Vec"],[4,"FlashLoanType"],[4,"HealthCheckKind"],[4,"OpenbookV2PlaceOrderType"],[4,"OpenbookV2PostOrderType"],[4,"OpenbookV2SelfTradeBehavior"],[4,"OpenbookV2Side"],[4,"Serum3SelfTradeBehavior"],[4,"Serum3OrderType"],[4,"Serum3Side"],[3,"GroupChangeInsuranceFund"],[3,"CloseAccount"],[3,"CpiContext"],[8,"Read"],[3,"InterestRateParams"],[15,"u8"],[3,"AccountBuybackFeesWithMngo"],[6,"Result"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountCreateV2"],[3,"AccountCreateV3"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountSizeMigration"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanSwapBegin"],[3,"FlashLoanEnd"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthCheck"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"SequenceCheck"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenChargeCollateralFees"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapStart"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenForceWithdraw"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"Formatter"],[6,"Result"],[3,"AccountInfo"],[4,"SelfTradeBehavior"],[4,"Side"],[4,"PostOrderType"],[3,"Transfer"],[3,"String"],[3,"BTreeMap"],[3,"BTreeSet"],[3,"TryFromPrimitiveError"],[3,"AccountInfoRef"],[3,"AccountInfoRefMut"],[3,"KeyedAccount"],[3,"KeyedAccountSharedData"],[8,"ZeroCopy"],[8,"Owner"],[3,"Ref"],[4,"Error"],[3,"RefMut"],[3,"AccountSharedData"],[4,"ProgramError"],[4,"MangoError"],[8,"Display"],[15,"u32"],[3,"Error"],[8,"FnOnce"],[3,"MangoAccountData"],[3,"Equity"],[3,"TokenEquity"],[3,"PerpEquity"],[3,"HealthCache"],[3,"Bank"],[6,"I80F48"],[3,"Prices"],[4,"HealthType"],[3,"TokenInfo"],[6,"TokenIndex"],[8,"KeyedAccountReader"],[3,"FixedOrderAccountRetriever"],[3,"ScanningAccountRetriever"],[3,"ScannedBanksAndOracles"],[6,"MangoAccountRef"],[3,"TokenBalance"],[3,"TokenMaxReserved"],[4,"SpotMarketIndex"],[3,"SpotInfo"],[3,"PerpInfo"],[8,"AccountRetriever"],[15,"u64"],[6,"MangoAccountValue"],[6,"PerpMarketIndex"],[4,"Side"],[15,"i64"],[3,"OpenOrdersAccount"],[3,"OpenbookV2Orders"],[3,"PerpPosition"],[3,"PerpMarket"],[3,"Serum3Orders"],[3,"OpenOrdersSlim"],[3,"OpenOrders"],[3,"Benchmark"],[3,"OpenbookV2CancelAllOrders"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2SettleFunds"],[3,"OpenbookV2CancelOrderByClientOrderId"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2RegisterMarket"],[3,"ComputeAccountData"],[3,"AltExtend"],[3,"AltSet"],[3,"TokenChargeCollateralFees"],[3,"TokenConditionalSwapStart"],[3,"TokenConditionalSwapTriggerV2"],[3,"TokenConditionalSwapTrigger"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreateLinearAuction"],[3,"TokenConditionalSwapCreatePremiumAuction"],[3,"TokenConditionalSwapCreateV2"],[3,"TokenConditionalSwapCreate"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpSettleFees"],[3,"PerpForceClosePosition"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"PerpConsumeEvents"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelAllOrders"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCancelOrder"],[3,"PerpPlaceOrderPeggedV2"],[3,"PerpPlaceOrderPegged"],[3,"PerpPlaceOrderV2"],[3,"PerpPlaceOrder"],[3,"PerpDeactivatePosition"],[3,"PerpCloseMarket"],[3,"PerpEditMarket"],[3,"PerpCreateMarket"],[3,"TokenForceWithdraw"],[3,"TokenLiqBankruptcy"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqWithToken"],[3,"LiqTokenBankruptcy"],[3,"LiqTokenWithToken"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3SettleFundsV2"],[3,"Serum3SettleFunds"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrderByClientOrderId"],[3,"Serum3CancelOrder"],[3,"Serum3PlaceOrderV2"],[3,"Serum3PlaceOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3RegisterMarket"],[3,"HealthRegionEnd"],[3,"HealthRegionBegin"],[3,"FlashLoanEndV2"],[3,"FlashLoanEnd"],[3,"FlashLoanSwapBegin"],[3,"FlashLoanBegin"],[3,"TokenWithdraw"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"StubOracleSetTest"],[3,"StubOracleSet"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"HealthCheck"],[3,"SequenceCheck"],[3,"AccountBuybackFeesWithMngo"],[3,"AccountClose"],[3,"AccountToggleFreeze"],[3,"AccountEdit"],[3,"AccountSizeMigration"],[3,"AccountExpandV3"],[3,"AccountExpandV2"],[3,"AccountExpand"],[3,"AccountCreateV3"],[3,"AccountCreateV2"],[3,"AccountCreate"],[3,"TokenUpdateIndexAndRateResilient"],[3,"TokenUpdateIndexAndRate"],[3,"TokenDeregister"],[3,"TokenAddBank"],[3,"TokenEdit"],[3,"TokenRegisterTrustless"],[3,"TokenRegister"],[3,"GroupClose"],[3,"IxGateSet"],[3,"GroupChangeInsuranceFund"],[3,"GroupWithdrawInsuranceFund"],[3,"GroupEdit"],[3,"GroupCreate"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[4,"LoanOriginationFeeInstruction"],[3,"PerpBalanceLog"],[3,"TokenBalanceLog"],[3,"FlashLoanLog"],[3,"FlashLoanLogV2"],[3,"FlashLoanLogV3"],[3,"WithdrawLog"],[3,"DepositLog"],[3,"FillLog"],[3,"FillLogV2"],[3,"FillLogV3"],[3,"PerpUpdateFundingLog"],[3,"PerpUpdateFundingLogV2"],[3,"UpdateIndexLog"],[3,"UpdateRateLog"],[3,"UpdateRateLogV2"],[3,"TokenLiqWithTokenLog"],[3,"TokenLiqWithTokenLogV2"],[3,"Serum3OpenOrdersBalanceLog"],[3,"Serum3OpenOrdersBalanceLogV2"],[3,"OpenbookV2OpenOrdersBalanceLog"],[3,"WithdrawLoanOriginationFeeLog"],[3,"WithdrawLoanLog"],[3,"TokenLiqBankruptcyLog"],[3,"DeactivateTokenPositionLog"],[3,"DeactivatePerpPositionLog"],[3,"TokenMetaDataLog"],[3,"TokenMetaDataLogV2"],[3,"PerpMarketMetaDataLog"],[3,"Serum3RegisterMarketLog"],[3,"OpenbookV2RegisterMarketLog"],[3,"PerpLiqBaseOrPositivePnlLog"],[3,"PerpLiqBaseOrPositivePnlLogV2"],[3,"PerpLiqBaseOrPositivePnlLogV3"],[3,"PerpLiqBankruptcyLog"],[3,"PerpLiqNegativePnlOrBankruptcyLog"],[3,"PerpSettlePnlLog"],[3,"PerpSettleFeesLog"],[3,"AccountBuybackFeesWithMngoLog"],[3,"FilledPerpOrderLog"],[3,"PerpTakerTradeLog"],[3,"PerpForceClosePositionLog"],[3,"TokenForceCloseBorrowsWithTokenLog"],[3,"TokenForceCloseBorrowsWithTokenLogV2"],[3,"TokenConditionalSwapCreateLog"],[3,"TokenConditionalSwapCreateLogV2"],[3,"TokenConditionalSwapCreateLogV3"],[3,"TokenConditionalSwapTriggerLog"],[3,"TokenConditionalSwapTriggerLogV2"],[3,"TokenConditionalSwapTriggerLogV3"],[3,"TokenConditionalSwapCancelLog"],[3,"TokenConditionalSwapStartLog"],[3,"TokenCollateralFeeLog"],[3,"ForceWithdrawLog"],[3,"FlashLoanTokenDetail"],[3,"FlashLoanTokenDetailV2"],[3,"FlashLoanTokenDetailV3"],[8,"Event"],[3,"Context"],[15,"f32"],[15,"u16"],[15,"f64"],[15,"u128"],[6,"OpenbookV2MarketIndex"],[3,"OracleConfigParams"],[4,"PlaceOrderType"],[15,"i32"],[4,"SelfTradeBehavior"],[6,"Serum3MarketIndex"],[4,"TokenConditionalSwapDisplayPriceStyle"],[4,"TokenConditionalSwapIntention"],[3,"MangoV4"],[3,"InitOpenOrders"],[3,"Group"],[3,"CloseOpenOrders"],[3,"SettleFunds"],[3,"PlaceOrder"],[3,"NewOrderInstructionV3"],[3,"CancelOrder"],[3,"CancelOrderInstructionV2"],[3,"OrderBookStateHeader"],[3,"MarketState"],[3,"Slab"],[8,"AccountReader"],[3,"MangoAccountDynamicHeader"],[3,"MangoAccountFixed"],[8,"DerefOrBorrow"],[3,"DynamicAccount"],[8,"Iterator"],[8,"DerefOrBorrowMut"],[4,"BookSideOrderTree"],[3,"LeafNode"],[3,"TokenConditionalSwap"],[3,"AnyNode"],[3,"InnerNode"],[3,"MintInfo"],[3,"FillEvent"],[3,"BookSide"],[3,"Orderbook"],[6,"MangoAccountRefMut"],[4,"SideAndOrderTree"],[3,"TokenPosition"],[3,"WithdrawResult"],[3,"OracleState"],[3,"OracleConfig"],[4,"CheckLiquidatable"],[3,"TransferResult"],[3,"PerpOpenOrder"],[8,"Clone"],[4,"IxGate"],[3,"MangoAccount"],[3,"OpenbookV2Market"],[3,"OpenbookV2MarketIndexReservation"],[4,"OracleType"],[3,"StubOracle"],[4,"OrderState"],[3,"FreeNode"],[4,"PostOrderType"],[4,"OrderTreeType"],[3,"OrderTreeRoot"],[3,"OrderTreeNodes"],[3,"EventQueue"],[3,"EventQueueHeader"],[3,"AnyEvent"],[4,"EventType"],[3,"OutEvent"],[3,"Serum3Market"],[3,"Serum3MarketIndexReservation"],[3,"StablePriceModel"],[4,"TokenConditionalSwapType"],[3,"OracleAccountInfos"],[6,"MangoAccountLoadedRef"],[3,"Global"],[3,"CLMMPoolState"],[8,"Sized"],[3,"Order"],[3,"BookSideIterItem"],[3,"OrderTreeIter"],[3,"BookSideIter"],[6,"MangoAccountLoadedRefCell"],[6,"MangoAccountLoadedRefCellMut"],[15,"str"],[6,"NodeHandle"],[3,"MangoAccountPdaSeeds"],[15,"i8"],[3,"ProgressBar"],[3,"ProgressBarIter"],[4,"NodeTag"],[3,"TokenIndex"],[3,"Serum3MarketIndex"],[3,"PerpMarketIndex"],[3,"I80F48"],[8,"AccountDataWriter"],[8,"LoadZeroCopy"],[8,"LoadZeroCopyRef"],[8,"LoadMutZeroCopy"],[8,"LoadMutZeroCopyRef"],[8,"Contextable"],[8,"IsAnchorErrorWithCode"],[8,"LowPrecisionDivision"],[8,"ClampToInt"],[8,"OpenOrdersAmounts"],[4,"OrderParams"],[8,"QueueHeader"],[3,"BookSideOrderHandle"],[8,"DynamicHeader"],[8,"MangoAccountLoader"],[13,"OraclePegged"],[13,"Fixed"],[13,"ImmediateOrCancel"]]},\ +"mango_v4":{"doc":"","t":"HDLOAAAALOLLLFLLLLLLLFAOOALOAAFLLALALLOAOLLAOOLLAOALLLLALLALLLODDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNDDDDDDDDDDDDDNNDNNNNDNNDDDEDDDDDDEDDNNNNDDNNNNNNNNDDDDDDDEEDEDEDDDDDDDDDDDDDDDDDDNNNNNDDDDDDDDEDDEDDDEDDDNNDDDDDDDDDDDDDDDDDDNLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAAMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRFFRFFRFFRFFIDDIDIDIIIILLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLMMMKLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLMMMMKKLLLLKKLLLLKKLKKLLLLLLLLLLLLLLLLLLKLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFNNNNNNNINNNNNNNNNNNNNNNNNNNNNNNNNNINNNENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNLLLLLLLLLKLLLLOOLLLLLKKLLLLLOOLLLLLLLLLLKLLDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLIDDENNNNDDDDNDEDDDLLLLLLLLLLMMMLLLKLLLLLLLLLLLLLLMKLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLMLLLMMLFFFFFLLKLLMLLLLLLLLLLLLLLLLLLLLLLLLLKLLMLMMMLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLMMFFMMMMLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIIKKKKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMDDDDDDDDDDDDDDDNNENDNDNDDDDDDDDDDDDDNDDNDNDDDDDDDNDDDDDDDDDDNNDDDDDDLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMFFMMMLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDIDDDDLMMMLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLFLLLLLLLLLLLLLLLFFFFFFLLLLLLLLLLLLLLMMMMMKLKLKLKLKLKLKLMMMMMMMMMMLLLLLLLLLLLLLLMMMMMFMMMFMMLLLLLLLLLLLLLLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNDDNNNNDNNNNNDDDDENDNERRNIIDIDDERRNDNNNNDNDNNNNRNNNNDNNQENDNNNNNNRRRDDDGGGIDGGGNNDGENRRRNNNNNNNDGDDNNNNDDDNNDENDEEDDDEDNDRNNNNNNNNNNNNDGDNDNNNENNNNENNRRRIRRNRENNNNNNNNNDGDDNNNNEENDNNDNNNNNNRNNDNNNNEENNENNNNGNNDNNNNDNNNDRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMOOLLMLLLLLLLMLMMLLLLLLLMLMMLLLLLLLLLLMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMOOLMMMMMMMLMLLMMMMLLMLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMMMMMMMMMLMLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMFLLLLMMKLLLMMMMMMLLLLLLKLLLLLLLLLLLLLMMMLMMMMLMLLMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLMMMMFMMMMMMMMLLLLLMFFMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLMMLMLLFLMMMMMMMMMMMMMMOOMLLLLLLKLMMLMMMMMMMMMLMMMKLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMKLLLLMMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMMMMMMMMMMMLMKKKFFMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMLMMLMMMMLMLMMMOOMMMMMMMMLLMMLMLLMMMLMMMLMLMMMMMMLLLLLLLMMMMMMLLLLLMMMMMLLLLLLLFLLLMMLLLMMLLMMLMMMMMLMMOOLLLLMMMMMMMFFFLLLLMMLFMAMLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLMLMLLMLLLMMLLLLLLMMMMLMMLMMLMMMMMMFMLMLMMMLMMMMLLLAAMMMMLMMMMLMMLMMMMFMMAMLLLLLMLMMMMMMMMMLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLMOOMLKLLKLLLMMMLLLMMMMMMMLLLLLMMLMLLAMMMLMMLLMMMMMAAAAMMMMMMLMMMLMLMMMLMMMMMMLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLMMLMLMMMMMLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMMMMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMRFFRFFRFFRFFRFFRFFRFFRFFRFFRFFDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFF","n":["ID","Mango","__clone_box","account_seeds","accounts","accounts_ix","accounts_zerocopy","address_lookup_table_program","az","bank_seeds","borrow","borrow_mut","cast_from","check_id","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","drop","entry","error","error_msg","error_msg_typed","events","from","group_seeds","health","i80f48","id","id","init","instruction","into","logs","lossless_try_into","lossy_into","mango_account_seeds","mango_v4","openbook_v2_market_seeds","overflowing_as","overflowing_cast_from","program","require_msg","require_msg_typed","saturating_as","saturating_cast_from","serum3_cpi","serum_market_seeds","state","to_owned","try_from","try_into","type_id","types","unwrapped_as","unwrapped_cast_from","util","vzip","wrapping_as","wrapping_cast_from","zip","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountCreateV2","AccountCreateV3","AccountEdit","AccountExpand","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","FlashLoanSwapBegin","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthCheck","HealthRegionBegin","HealthRegionEnd","IxGateSet","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","StubOracleClose","StubOracleCreate","StubOracleSet","TokenAddBank","TokenChargeCollateralFees","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","alternate_owner_token_account","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","associated_token_program","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","event_heap","event_heap","event_queue","event_queue","event_queue","event_queue","existing_bank","fallback_oracle","fallback_oracle","fallback_oracle","fees_bank","fees_oracle","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","input_mint","instructions","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_vault","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","new_insurance_mint","new_insurance_vault","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_account","open_orders_account","open_orders_indexer","open_orders_indexer","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_ata_token_account","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_oracle","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","receiver_bank","rent","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_destination","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountCreateV2","AccountCreateV3","AccountEdit","AccountExpand","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Ask","Ask","Benchmark","Bid","Bid","CancelProvide","CancelProvide","ComputeAccountData","DecrementTake","DecrementTake","FlashLoanBegin","FlashLoanEnd","FlashLoanSwapBegin","FlashLoanType","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthCheck","HealthCheckKind","HealthRegionBegin","HealthRegionEnd","ImmediateOrCancel","ImmediateOrCancel","Init","InitRatio","InterestRateParams","IxGateSet","Limit","Limit","Limit","LiquidationEnd","LiquidationEndRatio","Maint","MaintRatio","Market","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceOrderType","OpenbookV2PostOrderType","OpenbookV2RegisterMarket","OpenbookV2SelfTradeBehavior","OpenbookV2SettleFunds","OpenbookV2Side","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PostOnly","PostOnly","PostOnly","PostOnlySlide","PostOnlySlide","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3OrderType","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SelfTradeBehavior","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","Serum3Side","StubOracleClose","StubOracleCreate","StubOracleSet","Swap","SwapWithoutFee","TokenAddBank","TokenChargeCollateralFees","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","Unknown","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","adjustment_factor","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","alternate_owner_token_account","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","associated_token_program","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","close_ctx","compute_budget","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","eq","event_heap","event_heap","event_queue","event_queue","event_queue","event_queue","existing_bank","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","fallback_oracle","fallback_oracle","fallback_oracle","fees_bank","fees_oracle","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","input_mint","instructions","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","jupiter_mainnet_3","jupiter_mainnet_4","jupiter_mainnet_6","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_vault","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","max_rate","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","new_insurance_mint","new_insurance_vault","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_account","open_orders_account","open_orders_indexer","open_orders_indexer","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_ata_token_account","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_oracle","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","rate0","rate1","receiver_bank","rent","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_external","to_external","to_external_post_order_type","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","util0","util1","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_destination","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","AccountDataWriter","AccountInfoRef","AccountInfoRefMut","AccountReader","KeyedAccount","KeyedAccountReader","KeyedAccountSharedData","LoadMutZeroCopy","LoadMutZeroCopyRef","LoadZeroCopy","LoadZeroCopyRef","__clone_box","__clone_box","account","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_slice","borrow_slice","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","data","data","data","data","data","data","data","data","data_as_mut_slice","data_as_mut_slice","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","key","key","key","key","key","key","key","key","key","load","load","load","load","load","load","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_mut","load_mut","load_mut","load_mut_fully_unchecked","load_mut_fully_unchecked","load_mut_fully_unchecked","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","addresses","contains","cpi_extend","AccountIsFrozen","BankBorrowLimitReached","BankDepositLimit","BankNetBorrowsLimitReached","BeingLiquidated","BorrowsRequireHealthAccountBank","CannotSettleWithSelf","Contextable","DelegateWithdrawMustClosePosition","DelegateWithdrawOnlyToOwnerAta","DelegateWithdrawSmall","DepositLimit","DepositsIntoLiquidatingMustRecover","GroupIsHalted","HasLiquidatablePerpBasePosition","HasLiquidatablePositivePerpPnl","HasLiquidatableTokenPosition","HasOpenOrUnsettledSpotOrders","HasOpenPerpOrders","HasOpenPerpTakerFills","HealthAccountBankNotWritable","HealthMustBeNegative","HealthMustBePositive","HealthMustBePositiveOrIncrease","HealthRegionBadInnerInstruction","InitAssetWeightCantBeNegative","InsufficentBankVaultFunds","InvalidBank","InvalidCLMMOracle","InvalidFeedForCLMMOracle","InvalidFlashLoanTargetCpiProgram","InvalidHealth","InvalidHealthAccountCount","InvalidSequenceNumber","IsAnchorErrorWithCode","IsBankrupt","IsNotBankrupt","IxIsDisabled","MangoError","MarketInReduceOnlyMode","MathError","MaxSettleAmountMustBeGreaterThanZero","MissingFeedForCLMMOracle","NoFreeOpenbookV2OpenOrdersIndex","NoFreePerpPositionIndex","NoFreeSerum3OpenOrdersIndex","NoFreeTokenPositionIndex","NoLiquidatablePerpBasePosition","NotImplementedError","OpenbookV2OpenOrdersExistAlready","OracleConfidence","OracleStale","PerpHasBaseLots","PerpOrderIdNotFound","PerpPositionDoesNotExist","ProfitabilityMismatch","Serum3OpenOrdersExistAlready","SettlementAmountMustBePositive","SomeError","SpotPriceBandExceeded","TokenAssetLiquidationDisabled","TokenConditionalSwapAlreadyStarted","TokenConditionalSwapCantPayIncentive","TokenConditionalSwapExpired","TokenConditionalSwapIndexIdMismatch","TokenConditionalSwapMinBuyTokenNotReached","TokenConditionalSwapNotSet","TokenConditionalSwapNotStarted","TokenConditionalSwapPriceNotInRange","TokenConditionalSwapTakerPriceTooLow","TokenConditionalSwapTooSmallForStartIncentive","TokenConditionalSwapTypeNotStartable","TokenInForceClose","TokenInReduceOnlyMode","TokenPositionDoesNotExist","UnexpectedOracle","UnknownOracleType","WouldSelfTrade","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","context","deref","deref_mut","drop","error_code","error_msg","error_msg_typed","fmt","fmt","from","init","into","is_anchor_error_with_code","is_oracle_error","lossless_try_into","lossy_into","name","overflowing_as","overflowing_cast_from","require_msg","require_msg_typed","saturating_as","saturating_cast_from","to_owned","to_string","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","with_context","wrapping_as","wrapping_cast_from","Equity","MangoAccountData","PerpEquity","TokenEquity","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","data","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","drop","drop","drop","drop","equity","fmt","fmt","fmt","from","from","from","from","init","init","init","init","init_health","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_health","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market_index","perps","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","token_index","tokens","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","value","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountRetriever","FixedOrderAccountRetriever","HealthCache","HealthType","Init","LiquidationEnd","Maint","OpenbookV2","PerpInfo","Prices","ScannedBanksAndOracles","ScanningAccountRetriever","Serum3","SpotInfo","SpotMarketIndex","TokenBalance","TokenInfo","TokenMaxReserved","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","adjust_token_balance","ais","allow_asset_liquidation","asks_base_lots","asset","asset_weighted_price","assets_and_liabs","available_banks","available_banks","available_banks","az","az","az","az","az","az","az","az","az","az","az","az","balance_spot","bank_and_oracle","bank_and_oracle","bank_and_oracle","banks_mut_and_oracles","banks_mut_and_oracles","base_info_index","base_lot_size","base_lots","base_prices","begin_fallback_oracles","begin_openbook_v2","begin_perp","begin_serum3","bids_base_lots","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","check_has_all_spot_infos_for_token","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","compute_health","compute_health_from_fixed_accounts","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_variant","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","effective_token_balances","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","has_liq_spot_assets","has_liq_spot_borrows","has_open_fills","has_open_orders","has_perp_base_positions","has_perp_negative_pnl_no_base","has_perp_open_fills","has_perp_open_orders","has_perp_positive_pnl_no_base","has_phase1_liquidatable","has_phase2_liquidatable","has_phase3_liquidatable","has_possible_spot_liquidations","has_spot_open_orders_funds","has_token_info","has_zero_funds","health","health_assets_and_liabs_stable_assets","health_assets_and_liabs_stable_liabs","health_contribution","health_ratio","health_unsettled_pnl","in_phase1_liquidation","in_phase2_liquidation","in_phase3_liquidation","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","init_scaled_asset_weight","init_scaled_liab_weight","into","into","into","into","into","into","into","into","into","into","into","into","into_banks_and_oracles","is_liquidatable","leverage","liab","liab_weighted_price","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","max_borrow_for_health_ratio","max_perp_for_health_ratio","max_spot_reserved","max_swap_source_for_health_fn","max_swap_source_for_health_ratio_ignoring_limits","max_swap_source_for_health_ratio_with_limits","n_banks","n_perps","new","new_fixed_order_account_retriever","new_fixed_order_account_retriever_inner","new_fixed_order_account_retriever_with_optional_banks","new_health_cache","new_health_cache_skipping_missing_banks_and_bad_oracles","new_single_price","new_with_staleness","openbook_oo","openbook_oo","openbook_oo","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_info","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_index","perp_max_settle","prices","quote","quote_info_index","recompute_openbook_v2_info","recompute_perp_info","recompute_serum3_info","require_after_phase1_liquidation","require_after_phase2_liquidation","reserved_base","reserved_base_as_quote_lowest_ask","reserved_quote","reserved_quote_as_base_highest_bid","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scanned_bank_and_oracle","scanned_bank_and_oracle","scanned_openbook_oo","scanned_perp_market_and_oracle","scanned_serum_oo","serialize","serum_oo","serum_oo","serum_oo","settle_token_index","sol_oracle_index","spot_amount_given_for_health_zero","spot_amount_taken_for_health_zero","spot_and_perp","spot_market_index","stable","staleness_slot","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","token_index","token_info","token_info_index","token_infos","total_spot_potential","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unweighted_health_unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","usdc_oracle_index","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ClampToInt","LowPrecisionDivision","checked_div_30bit_precision","checked_div_f64_precision","clamp_to_i64","clamp_to_u64","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountCreateV2","AccountCreateV3","AccountEdit","AccountExpand","AccountExpandV2","AccountExpandV3","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","FlashLoanEndV2","FlashLoanSwapBegin","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthCheck","HealthRegionBegin","HealthRegionEnd","IxGateSet","LiqTokenBankruptcy","LiqTokenWithToken","OpenbookV2CancelAllOrders","OpenbookV2CancelOrder","OpenbookV2CancelOrderByClientOrderId","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpPlaceOrderPegged","PerpPlaceOrderPeggedV2","PerpPlaceOrderV2","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CancelOrderByClientOrderId","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3PlaceOrderV2","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFundsV2","StubOracleClose","StubOracleCreate","StubOracleSet","StubOracleSetTest","TokenAddBank","TokenChargeCollateralFees","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapCreateLinearAuction","TokenConditionalSwapCreatePremiumAuction","TokenConditionalSwapCreateV2","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenConditionalSwapTriggerV2","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenUpdateIndexAndRateResilient","TokenWithdraw","account_num","account_num","account_num","admin_opt","allow_borrow","allow_creating_borrows","allow_creating_borrows","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","allow_creating_deposits","allow_creating_deposits","allowed_fast_listings_per_interval_opt","amount","amount","amount","amount","asset_token_index","asset_token_index","asset_token_index","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","base_decimals","base_decimals_opt","base_liquidation_fee","base_liquidation_fee_opt","base_lot_size","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","borrow_weight_scale_start_quote_opt","buyback_fees_bonus_factor_opt","buyback_fees_expiry_interval_opt","buyback_fees_opt","buyback_fees_swap_mango_account_opt","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","check_kind","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","collateral_fee_interval_opt","collateral_fee_per_day","collateral_fee_per_day_opt","delegate_opt","deposit_limit","deposit_limit_opt","deposit_limit_quote_opt","deposit_weight_scale_start_quote","deposit_weight_scale_start_quote_opt","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deviation","disable_asset_liquidation","disable_asset_liquidation_opt","display_price_style","display_price_style","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","duration_seconds","duration_seconds","expected_sequence_number","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","fast_listing_admin_opt","fee_penalty","fee_penalty_opt","fees_to_dao","fees_to_dao","flash_loan_swap_fee_rate","flash_loan_swap_fee_rate_opt","flash_loan_type","flash_loan_type","force_close","force_close_opt","force_close_opt","force_close_opt","force_close_opt","force_withdraw_opt","freeze","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group_insurance_fund","group_insurance_fund","group_insurance_fund_opt","group_insurance_fund_opt","group_num","impact_quantity","impact_quantity_opt","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_asset_weight_opt","init_base_asset_weight","init_base_asset_weight_opt","init_base_liab_weight","init_base_liab_weight_opt","init_liab_weight","init_liab_weight_opt","init_overall_asset_weight","init_overall_asset_weight_opt","intention","intention","interest_curve_scaling","interest_curve_scaling_opt","interest_rate_params","interest_rate_params_opt","interest_target_utilization","interest_target_utilization_opt","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","ix_gate","last_update_slot","liab_token_index","liab_token_index","liab_token_index","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit_price","limit_price","liquidation_fee","liquidation_fee_opt","loan_amount","loan_amounts","loan_fee_rate","loan_fee_rate_opt","loan_origination_fee_rate","loan_origination_fee_rate_opt","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_asset_weight_opt","maint_base_asset_weight","maint_base_asset_weight_opt","maint_base_liab_weight","maint_base_liab_weight_opt","maint_liab_weight","maint_liab_weight_opt","maint_overall_asset_weight","maint_overall_asset_weight_opt","maint_weight_shift_abort","maint_weight_shift_asset_target_opt","maint_weight_shift_end_opt","maint_weight_shift_liab_target_opt","maint_weight_shift_start_opt","maker_fee","maker_fee_opt","market_index","market_index","max_base_lots","max_base_lots","max_base_lots","max_base_lots","max_base_lots","max_base_qty","max_base_qty","max_base_transfer","max_buy","max_buy","max_buy","max_buy","max_buy_token_to_liqee","max_buy_token_to_liqee","max_buyback_usd","max_funding","max_funding_opt","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_native_quote_qty_including_fees","max_native_quote_qty_including_fees","max_oracle_staleness_slots","max_oracle_staleness_slots","max_pnl_transfer","max_price_premium_rate","max_quote_lots","max_quote_lots","max_quote_lots","max_quote_lots","max_quote_lots_including_fees","max_sell","max_sell","max_sell","max_sell","max_sell_token_to_liqor","max_sell_token_to_liqor","max_settle_amount","min_buy_token","min_funding","min_funding_opt","min_health_value","min_taker_price","min_vault_to_deposits_ratio","min_vault_to_deposits_ratio_opt","mngo_token_index_opt","name","name","name","name","name","name","name","name","name_opt","name_opt","name_opt","name_opt","name_opt","net_borrow_limit_per_window_quote","net_borrow_limit_per_window_quote_opt","net_borrow_limit_window_size_ts","net_borrow_limit_window_size_ts_opt","new_addresses","num_loans","openbook_v2_count","openbook_v2_count","oracle_config","oracle_config","oracle_config_opt","oracle_config_opt","oracle_opt","oracle_opt","oracle_price_band","oracle_price_band","oracle_price_band_opt","oracle_price_band_opt","order_id","order_id","order_id","order_type","order_type","order_type","order_type","order_type","order_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","peg_limit","peg_limit","perp_count","perp_count","perp_count","perp_count","perp_count","perp_count","perp_market_index","perp_oo_count","perp_oo_count","perp_oo_count","perp_oo_count","perp_oo_count","perp_oo_count","platform_liquidation_fee","platform_liquidation_fee","platform_liquidation_fee_opt","platform_liquidation_fee_opt","positive_pnl_liquidation_fee","positive_pnl_liquidation_fee_opt","price","price","price","price_end","price_lots","price_lots","price_lots","price_lower_limit","price_lower_limit","price_lower_limit","price_offset_lots","price_offset_lots","price_premium_rate","price_premium_rate","price_start","price_upper_limit","price_upper_limit","price_upper_limit","quote_lot_size","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only_opt","reduce_only_opt","reduce_only_opt","reduce_only_opt","reset_net_borrow_limit","reset_stable_price","reset_stable_price","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","security_admin_opt","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3_count","serum3_count","serum3_count","serum3_count","serum3_count","serum3_count","set_fallback_oracle","settle_fee_amount_threshold","settle_fee_amount_threshold_opt","settle_fee_flat","settle_fee_flat_opt","settle_fee_fraction_low_health","settle_fee_fraction_low_health_opt","settle_pnl_limit_factor","settle_pnl_limit_factor_opt","settle_pnl_limit_window_size_ts","settle_pnl_limit_window_size_ts_opt","settle_token_index","side","side","side","side","side","side","side","side","side","side","side_opt","side_option","stable_price_delay_growth_limit","stable_price_delay_growth_limit_opt","stable_price_delay_growth_limit_opt","stable_price_delay_interval_seconds","stable_price_delay_interval_seconds_opt","stable_price_delay_interval_seconds_opt","stable_price_growth_limit","stable_price_growth_limit_opt","stable_price_growth_limit_opt","start_timestamp","taker_fee","taker_fee_opt","temporary_delegate_expiry_opt","temporary_delegate_opt","testing","testing_opt","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_maker_fee_rate_opt","token_conditional_swap_taker_fee_rate","token_conditional_swap_taker_fee_rate_opt","token_count","token_count","token_count","token_count","token_count","token_count","token_index","token_index","token_index","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","version","version_opt","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","zero_util_rate","zero_util_rate_opt","AccountBuybackFeesWithMngoLog","DeactivatePerpPositionLog","DeactivateTokenPositionLog","DepositLog","FillLog","FillLogV2","FillLogV3","FilledPerpOrderLog","FlashLoanLog","FlashLoanLogV2","FlashLoanLogV3","FlashLoanTokenDetail","FlashLoanTokenDetailV2","FlashLoanTokenDetailV3","ForceWithdrawLog","LiqTokenBankruptcy","LiqTokenWithToken","LoanOriginationFeeInstruction","OpenbookV2LiqForceCancelOrders","OpenbookV2OpenOrdersBalanceLog","OpenbookV2PlaceOrder","OpenbookV2RegisterMarketLog","OpenbookV2SettleFunds","PerpBalanceLog","PerpForceClosePositionLog","PerpLiqBankruptcyLog","PerpLiqBaseOrPositivePnlLog","PerpLiqBaseOrPositivePnlLogV2","PerpLiqBaseOrPositivePnlLogV3","PerpLiqNegativePnlOrBankruptcyLog","PerpMarketMetaDataLog","PerpSettleFeesLog","PerpSettlePnlLog","PerpTakerTradeLog","PerpUpdateFundingLog","PerpUpdateFundingLogV2","Serum3LiqForceCancelOrders","Serum3OpenOrdersBalanceLog","Serum3OpenOrdersBalanceLogV2","Serum3PlaceOrder","Serum3RegisterMarketLog","Serum3SettleFunds","TokenBalanceLog","TokenCollateralFeeLog","TokenConditionalSwapCancelLog","TokenConditionalSwapCreateLog","TokenConditionalSwapCreateLogV2","TokenConditionalSwapCreateLogV3","TokenConditionalSwapStartLog","TokenConditionalSwapTrigger","TokenConditionalSwapTriggerLog","TokenConditionalSwapTriggerLogV2","TokenConditionalSwapTriggerLogV3","TokenForceCloseBorrowsWithTokenLog","TokenForceCloseBorrowsWithTokenLogV2","TokenLiqBankruptcyLog","TokenLiqWithTokenLog","TokenLiqWithTokenLogV2","TokenMetaDataLog","TokenMetaDataLogV2","TokenWithdraw","Unknown","UpdateIndexLog","UpdateRateLog","UpdateRateLogV2","WithdrawLoanLog","WithdrawLoanOriginationFeeLog","WithdrawLog","__clone_box","account_a","account_b","allow_creating_borrows","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","allow_creating_deposits","approved_amount","approved_amount","asset_liquidation_fee","asset_liquidation_fee","asset_price","asset_price","asset_price","asset_price","asset_token_index","asset_token_index","asset_token_index","asset_token_index","asset_transfer","asset_transfer","asset_transfer_from_liqee","asset_transfer_from_liqee","asset_transfer_to_liqor","asset_transfer_to_liqor","asset_usage_fraction","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bankruptcy","bankruptcy","base_decimals","base_free","base_free","base_free","base_lot_size","base_position","base_token_index","base_token_index","base_token_index","base_token_index","base_token_index","base_total","base_total","base_total","base_transfer","base_transfer","base_transfer_liqee","base_transfer_liqee","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_index","borrow_index","borrow_index","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_rate","buy_amount","buy_amount","buy_amount","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_price","buy_token_price","buy_token_price","buyback_fees","buyback_mngo","caller","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_amount","change_amount","change_amount","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","closed","closed","closed","collected_fees","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","curve_scaling","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","deposit_fee","deposit_index","deposit_index","deposit_index","deposit_index","deposit_index","deposit_rate","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_variant","display_price_style","display_price_style","display_price_style","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","duration_seconds","emit_perp_balances","emit_stack","ending_liab_deposit_index","ending_long_funding","ending_short_funding","eq","expiry_timestamp","expiry_timestamp","expiry_timestamp","fallback_oracle","fee","fee","fee_factor","fee_factor","fee_penalty","fees_accrued","fees_accrued","fees_settled","fees_settled","flash_loan_type","flash_loan_type","flash_loan_type","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","id","id","id","id","incentive_amount","incentive_token_index","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","initial_liab_native","instantaneous_funding_rate","instantaneous_funding_rate","instruction","instruction","insurance_token_index","insurance_transfer","insurance_transfer","intention","intention","intention","intention","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_price","liab_price","liab_price","liab_price","liab_price","liab_token_index","liab_token_index","liab_token_index","liab_token_index","liab_token_index","liab_transfer","liab_transfer","liab_transfer","liab_transfer","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","loan","loan","loan","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee","loan_origination_fee","loan_origination_fee","loan_origination_fee","long_funding","long_funding","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maker","maker","maker","maker_client_order_id","maker_client_order_id","maker_closed_pnl","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_fee_rate","maker_fee_rate","maker_order_id","maker_out","maker_out","maker_out","maker_slot","maker_slot","maker_slot","maker_timestamp","maker_timestamp","maker_timestamp","maker_volume","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account_a","mango_account_b","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","max_buy","max_buy","max_buy","max_rate","max_rate","max_sell","max_sell","max_sell","mint","mint","mint_decimals","mint_decimals","mint_info","mint_info","mngo_buyback_price","open_interest","open_interest","openbook_market","openbook_market_external","openbook_program","oracle","oracle","oracle","oracle_confidence","oracle_price","oracle_slot","oracle_slot","oracle_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_spot_transfers","pnl_settle_limit_transfer","pnl_settle_limit_transfer","pnl_settle_limit_transfer_oneshot","pnl_settle_limit_transfer_recurring","pnl_transfer","pnl_transfer","pnl_transfer","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price","price_lower_limit","price_lower_limit","price_lower_limit","price_premium_rate","price_premium_rate","price_premium_rate","price_upper_limit","price_upper_limit","price_upper_limit","quantity","quantity","quantity","quantity","quantity","quantity","quote_free","quote_free","quote_free","quote_lot_size","quote_platform_fee","quote_platform_fee","quote_position","quote_token_index","quote_token_index","quote_token_index","quote_token_index","quote_token_index","quote_total","quote_total","quote_total","quote_transfer","quote_transfer","quote_transfer_liqee","quote_transfer_liqee","quote_transfer_liqor","quote_transfer_liqor","rate0","rate0","rate1","rate1","referrer_rebates_accrued","referrer_rebates_accrued","referrer_rebates_accrued","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_amount","sell_amount","sell_amount","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_price","sell_token_price","sell_token_price","seq_num","seq_num","seq_num","seq_num","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_program","serum_program_external","settlement","settlement","settlement","settler","short_funding","short_funding","short_funding","short_settled_funding","signer","signer","socialized_loss","socialized_loss","stable_price","stable_price","stable_price","start_timestamp","start_timestamp","starting_liab_deposit_index","starting_long_funding","starting_short_funding","swap_fee","taker","taker","taker","taker_client_order_id","taker_client_order_id","taker_client_order_id","taker_closed_pnl","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_fee_rate","taker_fee_rate","taker_fees_paid","taker_order_id","taker_side","taker_side","taker_side","taker_side","taker_volume","target_utilization","tcs_type","tcs_type","timestamp","timestamp","timestamp","to_owned","to_token_account","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_id","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_loan_details","token_loan_details","token_loan_details","total_base_lots_decremented","total_base_lots_taken","total_borrows","total_deposits","total_quote_lots_decremented","total_quote_lots_taken","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","util0","util1","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","account_buyback_fees_with_mngo","account_close","account_create","account_create_v2","account_create_v3","account_edit","account_expand","account_expand_v2","account_expand_v3","account_size_migration","account_toggle_freeze","admin_perp_withdraw_fees","admin_token_withdraw_fees","alt_extend","alt_set","benchmark","compute_account_data","flash_loan_begin","flash_loan_end","flash_loan_end_v2","flash_loan_swap_begin","group_change_insurance_fund","group_close","group_create","group_edit","group_withdraw_insurance_fund","health_check","health_region_begin","health_region_end","ix_gate_set","liq_token_bankruptcy","liq_token_with_token","openbook_v2_cancel_all_orders","openbook_v2_cancel_order","openbook_v2_cancel_order_by_client_order_id","openbook_v2_close_open_orders","openbook_v2_create_open_orders","openbook_v2_deregister_market","openbook_v2_edit_market","openbook_v2_liq_force_cancel_orders","openbook_v2_place_order","openbook_v2_register_market","openbook_v2_settle_funds","perp_cancel_all_orders","perp_cancel_all_orders_by_side","perp_cancel_order","perp_cancel_order_by_client_order_id","perp_close_market","perp_consume_events","perp_create_market","perp_deactivate_position","perp_edit_market","perp_force_close_position","perp_liq_base_or_positive_pnl","perp_liq_force_cancel_orders","perp_liq_negative_pnl_or_bankruptcy","perp_liq_negative_pnl_or_bankruptcy_v2","perp_place_order","perp_place_order_pegged","perp_place_order_pegged_v2","perp_place_order_v2","perp_settle_fees","perp_settle_pnl","perp_update_funding","sequence_check","serum3_cancel_all_orders","serum3_cancel_order","serum3_cancel_order_by_client_order_id","serum3_close_open_orders","serum3_create_open_orders","serum3_deregister_market","serum3_edit_market","serum3_liq_force_cancel_orders","serum3_place_order","serum3_place_order_v2","serum3_register_market","serum3_settle_funds","serum3_settle_funds_v2","stub_oracle_close","stub_oracle_create","stub_oracle_set","stub_oracle_set_test","token_add_bank","token_charge_collateral_fees","token_conditional_swap_cancel","token_conditional_swap_create","token_conditional_swap_create_linear_auction","token_conditional_swap_create_premium_auction","token_conditional_swap_create_v2","token_conditional_swap_start","token_conditional_swap_trigger","token_conditional_swap_trigger_v2","token_deposit","token_deposit_into_existing","token_deregister","token_edit","token_force_close_borrows_with_token","token_force_withdraw","token_liq_bankruptcy","token_liq_with_token","token_register","token_register_trustless","token_update_index_and_rate","token_update_index_and_rate_resilient","token_withdraw","MangoV4","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","drop","from","id","init","into","lossless_try_into","lossy_into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","to_owned","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","CancelOrder","CloseOpenOrders","InitOpenOrders","OpenOrdersAmounts","OpenOrdersSlim","OrderBookStateHeader","PlaceOrder","SettleFunds","__clone_box","account_flags","asks","asks","az","az","az","az","az","az","az","base_vault","base_vault","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call","call","call","cancel_all","cancel_one","cancel_one_by_client_order_id","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","event_queue","event_queue","fmt","from","from","from","from","from","from","from","from_oo","from_oo_v2","has_serum_header","init","init","init","init","init","init","init","into","into","into","into","into","into","into","is_valid_bit_pattern","load_asks_mut","load_bids_mut","load_market_state","load_open_orders","load_open_orders_bytes","load_open_orders_ref","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market","market","market","native_base_free","native_base_free","native_base_reserved","native_base_reserved","native_base_total","native_base_total","native_quote_free","native_quote_free","native_quote_reserved","native_quote_reserved","native_quote_total","native_quote_total","native_rebates","native_rebates","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_authority","open_orders_authority","open_orders_authority","open_orders_authority","order_payer_token_account","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","program","program","program","program","program","pubkey_from_u64_array","quote_vault","quote_vault","rebates_quote_wallet","remove_slop_mut","rent","request_queue","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sol_destination","to_owned","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","user_authority","user_base_wallet","user_quote_wallet","vault_signer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountSizeMigration","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","AnyEvent","AnyNode","Ask","AskFixed","AskOraclePegged","Asks","Bank","BecameNotLiquidatable","Bid","BidFixed","BidOraclePegged","Bids","BookSide","BookSideIter","BookSideIterItem","BookSideOrderHandle","BookSideOrderTree","BuyTokenPerSellToken","CLMMPoolState","CancelProvide","CheckLiquidatable","DAY","DAY_I80F48","DecrementTake","DerefOrBorrow","DerefOrBorrowMut","DynamicAccount","DynamicHeader","EventQueue","EventQueueHeader","EventType","FEE_BUYBACK_QUOTE_TOKEN_INDEX","FREE_ORDER_SLOT","Fill","FillEvent","Fixed","Fixed","FixedPremium","FlashLoan","FreeNode","FreeNode","Group","GroupChangeInsuranceFund","GroupClose","GroupCreate","GroupWithdrawInsuranceFund","HOUR","HealthCheck","HealthRegion","ImmediateOrCancel","ImmediateOrCancel","InnerNode","InnerNode","Invalid","Item","IxGate","LastFreeNode","LeafNode","LeafNode","Limit","Limit","LinearAuction","Liquidatable","Liquidate","MAX_BANKS","MAX_NUM_EVENTS","MAX_ORDERTREE_NODES","MangoAccount","MangoAccountDynamicHeader","MangoAccountFixed","MangoAccountLoadedRef","MangoAccountLoadedRefCell","MangoAccountLoadedRefCellMut","MangoAccountLoader","MangoAccountPdaSeeds","MangoAccountRef","MangoAccountRefMut","MangoAccountValue","Market","Market","MintInfo","NodeHandle","NodeTag","NotLiquidatable","ONE_BPS","ORCA_WHIRLPOOL_DISCRIMINATOR","ORCA_WHIRLPOOL_LEN","OpenbookV2CancelAllOrders","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2Market","OpenbookV2MarketIndex","OpenbookV2MarketIndexReservation","OpenbookV2Orders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","OracleAccountInfos","OracleConfig","OracleConfigParams","OraclePegged","OraclePegged","OracleState","OracleType","OrcaCLMM","Order","OrderParams","OrderState","OrderTreeIter","OrderTreeNodes","OrderTreeRoot","OrderTreeType","Orderbook","Out","OutEvent","PERP_SETTLE_TOKEN_INDEX","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpMarket","PerpMarketIndex","PerpOpenOrder","PerpPlaceOrder","PerpPosition","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PlaceOrderType","PostOnly","PostOnly","PostOnlySlide","PostOnlySlide","PostOrderType","PremiumAuction","Pyth","QUOTE_DECIMALS","QUOTE_NATIVE_TO_UI","QUOTE_TOKEN_INDEX","QueueHeader","RAYDIUM_POOL_DISCRIMINATOR","RAYDIUM_POOL_LEN","RaydiumCLMM","SOL_DECIMALS","SelfTradeBehavior","SellTokenPerBuyToken","SequenceCheck","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3Market","Serum3MarketIndex","Serum3MarketIndexReservation","Serum3Orders","Serum3PlaceOrder","Serum3PlaceOrderV2","Serum3RegisterMarket","Serum3SettleFunds","Side","SideAndOrderTree","Skipped","StablePriceModel","StopLoss","Stub","StubOracle","StubOracleClose","StubOracleCreate","StubOracleSet","SwitchboardOnDemand","SwitchboardV1","SwitchboardV2","TCS_START_INCENTIVE","TakeProfit","TokenAddBank","TokenConditionalSwap","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapCreateLinearAuction","TokenConditionalSwapCreatePremiumAuction","TokenConditionalSwapDisplayPriceStyle","TokenConditionalSwapIntention","TokenConditionalSwapStart","TokenConditionalSwapTrigger","TokenConditionalSwapType","TokenDeposit","TokenDeregister","TokenForceCloseBorrowsWithToken","TokenForceWithdraw","TokenIndex","TokenLiqBankruptcy","TokenLiqWithToken","TokenPosition","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","TransferResult","Uninitialized","Unknown","Valid","WithdrawResult","YEAR_I80F48","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account_num","account_num","account_num_bytes","account_seeds","account_seeds","account_size","accrue_buyback_fees","accrued_liquidation_fees","active_openbook_v2_orders","active_perp_positions","active_serum3_orders","active_token_conditional_swaps","active_token_positions","add_perp_order","add_taker_trade","address_lookup_tables","adjust_maker_lots","adjustment_factor","admin","all_openbook_v2_orders","all_perp_orders","all_perp_positions","all_serum3_orders","all_token_conditional_swaps","all_token_positions","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","allowed_fast_listings_per_interval","allows_asset_liquidation","apply_pnl_settle_limit","are_borrows_reduce_only","are_deposits_reduce_only","as_inner","as_inner_mut","as_leaf","as_leaf_mut","as_ref","as_ref","asks","asks","asks_base_lots","available_settle_limit","avg_entry_price","avg_entry_price_per_base_lot","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","bank_rate_last_updated","bank_seeds","bank_seeds","banks","banks","base_borrows_without_fee","base_borrows_without_fee","base_decimals","base_liquidation_fee","base_lot_size","base_lot_size","base_position_lots","base_position_lots","base_position_native","base_quote_change","base_token_index","base_token_index","base_token_index","base_token_index","being_liquidated","being_liquidated","being_liquidated","best_price","bids","bids","bids_base_lots","blocked1","bookside","bookside_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","bought","break_even_price","buf","bump","bump","bump","bump","bump","bump","bump","bump_bytes","bump_index","buy_token_index","buyback_fees","buyback_fees","buyback_fees_accrued","buyback_fees_accrued_current","buyback_fees_accrued_current","buyback_fees_accrued_previous","buyback_fees_accrued_previous","buyback_fees_expiry_interval","buyback_fees_expiry_timestamp","buyback_fees_expiry_timestamp","buyback_fees_mngo_bonus_factor","buyback_fees_swap_mango_account","cancel_all_orders","cancel_order_by_id","cancel_order_by_slot","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_with_fee","change_without_fee","check_confidence","check_confidence_and_maybe_staleness","check_deposit_and_oo_limit","check_health_post","check_health_post_checks","check_health_post_checks_strict","check_health_pre","check_health_pre_checks","check_is_valid_fallback_oracle","check_liquidatable","check_net_borrows","check_resize_from","check_staleness","check_startable","check_triggerable","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_transfer_with_fee","child_earliest_expiry","children","clear","client_id","client_order_id","client_order_id","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collateral_fee_interval","collateral_fee_per_day","collected_collateral_fees","collected_fees_native","collected_liquidation_fees","compute_equity","compute_index","compute_interest_rate","compute_new_avg_utilization","compute_settle_fee","conf_filter","conf_filter","count","count","create_openbook_v2_orders","create_serum3_orders","creator","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","data","deactivate_openbook_v2_orders","deactivate_perp_position","deactivate_perp_position_and_log","deactivate_serum3_orders","deactivate_token_position","deactivate_token_position_and_log","decr_event_id","decr_event_id","decrement_in_use","default","default","default","default","default","default","default","default","default","default_for_tests","default_for_tests","delay_accumulator_price","delay_accumulator_time","delay_growth_limit","delay_interval_index","delay_interval_seconds","delay_prices","delegate","delegate","deposit","deposit_index","deposit_internal","deposit_internal_wrapper","deposit_limit","deposit_limit_quote","deposit_weight_scale_start_quote","deposit_with_dusting","deprecated_realized_trade_pnl_native","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","deserialize_variant","determine_oracle_type","deviation","deviation","disable_asset_liquidation","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","duration_seconds","dust","dust_if_possible","dynamic","dynamic_openbook_v2_vec_offset","dynamic_perp_oo_vec_offset","dynamic_perp_vec_offset","dynamic_reserved_bytes_offset","dynamic_serum3_vec_offset","dynamic_size","dynamic_token_conditional_swap_vec_offset","dynamic_token_vec_offset","earliest_expiry","earliest_expiry","effective_base_position_lots","elligible_for_group_insurance_fund","elligible_for_group_insurance_fund","enforce_borrows_lte_deposits","enforce_max_utilization_on_borrow","ensure_perp_position","ensure_token_position","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","event_queue","event_type","event_type","event_type","execute_perp_maker","execute_perp_out_event","execute_perp_taker","expected_health_accounts","expire_buyback_fees","expiry","expiry_timestamp","fallback_opt","fallback_oracle","fallback_oracle","fallback_oracle_state_unchecked","fast_listing_admin","fast_listing_interval_start","fast_listings_in_interval","fee_penalty","fees_accrued","fees_settled","fees_withdrawn","fees_withdrawn","find_earliest_expiry","find_first_active_unused_perp_position","find_worst","first_bank","first_vault","fixed","fixed_price_data","fixed_price_lots","flash_loan_approved_amount","flash_loan_swap_fee_rate","flash_loan_token_account_initial","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force_close","force_close","force_close","force_close","force_withdraw","free_list_head","free_list_len","free_token_conditional_swap_mut","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_existing_bank","from_leaf_node","from_reader","frozen_until","frozen_until","full","funding_last_updated","gen_order_id","get_clmm_price","get_pyth_state","get_quote_oracle","group","group","group","group","group","group","group","group","group","group","group","group_insurance_fund","group_insurance_fund","group_num","group_seeds","group_seeds","handle","has_loan","has_loan","has_open_orders","has_open_orders_or_fills","has_open_taker_fills","has_quote_token","head","head","header","header","header_version","header_version","health_region_begin_init_health","health_region_begin_init_health","highest_placed_ask","highest_placed_ask","highest_placed_bid_inv","highest_placed_bid_inv","id","id","impact_price","impact_quantity","in_health_region","in_use_count","incr_event_id","incr_event_id","increment_in_use","index_last_updated","indexed_borrows","indexed_deposits","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","initialize","initialize","insert_leaf","insert_leaf","inside_price_limit","insurance_mint","insurance_vault","intention","interest_curve_scaling","interest_rate_curve_calculator","interest_target_utilization","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","invert_side","is_active","is_active","is_active","is_active","is_active","is_active_for_market","is_active_for_market","is_active_for_market","is_active_for_market","is_active_for_token","is_configured","is_configured","is_delegate","is_empty","is_expired","is_expired","is_force_close","is_force_close","is_force_close","is_force_close","is_force_withdraw","is_full","is_full","is_in_health_region","is_in_use","is_inverted","is_ix_enabled","is_operational","is_owner_or_delegate","is_post_only","is_price_better","is_price_data_better","is_price_within_limit","is_reduce_only","is_reduce_only","is_reduce_only","is_startable","is_startable_type","is_testing","is_triggerable","is_valid","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","iter","iter","iter_all_including_invalid","iter_valid","ix_gate","key","key","key","last_collateral_fee_charge","last_collateral_fee_charge","last_delay_interval_index","last_net_borrows_window_start_ts","last_update_slot","last_update_slot","last_update_timestamp","last_update_ts","leaf_count","len","liquidation_fee","load_full","load_full_init","load_full_mut","load_orca_pool_state","load_raydium_pool_state","loan_amount","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee","loan_origination_fee_rate","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lot_to_native_price","lowest_placed_ask","lowest_placed_ask","lowest_placed_bid_inv","lowest_placed_bid_inv","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","maint_weight_shift_asset_target","maint_weight_shift_duration_inv","maint_weight_shift_end","maint_weight_shift_liab_target","maint_weight_shift_start","maint_weights","maker","maker_client_order_id","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_order_id","maker_out","maker_out","maker_price","maker_slot","maker_timestamp","maker_volume","mango_account_seeds","mango_account_seeds","market","market_index","market_index","market_index","market_index","market_index","market_index","market_index","matched_amount","matched_quantity","max_base_lots","max_buy","max_buy_for_position","max_funding","max_health_accounts","max_leaf","max_quote_lots","max_rate","max_sell","max_sell_for_position","max_staleness_slots","max_staleness_slots","maybe_node","maybe_recover_from_being_liquidated","min_funding","min_leaf","min_vault_to_deposits_ratio","mint","mint","mint","mint_decimals","mngo_token_index","multiple_banks_supported","multiunzip","name","name","name","name","name","name","name","name","name","name","name","native","native_borrows","native_deposits","native_price_to_lot","needs_penalty_fee","net_borrow_limit_per_window_quote","net_borrow_limit_window_size_ts","net_borrows_in_window","net_deposits","net_deposits","new","new","new","new","new","new","new","new_node_key","new_order","next","next","next_token_conditional_swap_id","next_token_conditional_swap_id","node","node","node","node","node","node_mut","node_mut","nodes","nodes","num_banks","oneshot_settle_pnl_allowance","open_interest","open_orders","open_orders","openbook_v2","openbook_v2_count","openbook_v2_count","openbook_v2_market_external","openbook_v2_market_seeds","openbook_v2_market_seeds","openbook_v2_orders","openbook_v2_orders_by_raw_index","openbook_v2_orders_mut","openbook_v2_orders_mut_by_raw_index","openbook_v2_program","oracle","oracle","oracle","oracle","oracle_config","oracle_config","oracle_log_context","oracle_pegged_price_data","oracle_pegged_price_offset","oracle_price","oracle_price","oracle_price_band","oracle_price_band","oracle_price_band","oracle_price_band","oracle_state","oracle_state_unchecked","oracle_type","orca_mainnet_whirlpool","order_id","order_tree","order_tree","order_tree_type","order_tree_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_slot","owner_slot","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding1","padding1","padding1","padding2","padding2","padding2","padding2","padding2","padding2","padding3","padding3","padding3","padding4","padding4","padding5","padding6","padding7","padding8","padding9","params","passed_start","pda_seeds","peek","peek_front","peek_front_mut","peg_limit","peg_limit","perp_count","perp_count","perp_find_order_with_client_order_id","perp_find_order_with_order_id","perp_market_index","perp_next_order_slot","perp_offset","perp_oo_count","perp_oo_count","perp_open_orders","perp_order_by_raw_index","perp_order_mut_by_raw_index","perp_position","perp_position_by_raw_index","perp_position_mut","perp_position_mut_by_raw_index","perp_spot_transfers","perp_spot_transfers","perp_spot_transfers","perps","perps_supported","platform_liquidation_fee","platform_liquidation_fee","pop_front","position_is_active","positive_pnl_liquidation_fee","post_target","potential_base_tokens","potential_base_tokens","potential_openbook_tokens","potential_quote_tokens","potential_quote_tokens","potential_serum_tokens","power_of_ten","prefix_len","premium_price","previous_index","price","price","price","price","price_data","price_lots","price_lower_limit","price_premium_rate","price_upper_limit","progress_with","progress_with","push_back","pyth_mainnet_sol_oracle","pyth_mainnet_usdc_oracle","quantity","quantity","quantity","quantity","quantity_at_price","quote_borrows_without_fee","quote_borrows_without_fee","quote_lot_size","quote_lot_size","quote_position_native","quote_position_native","quote_running_native","quote_state_unchecked","quote_token_index","quote_token_index","quote_token_index","quote_token_index","rank_orders","rate0","rate1","raydium_mainnet","realized_pnl_for_position_native","record_liquidation_pnl_takeover","record_liquidation_quote_change","record_settle","record_trade","record_trading_fee","recurring_settle_pnl_allowance","reduce_buyback_fees_accrued","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","registration_time","registration_time","registration_time","registration_time","remaining_buy","remaining_deposits_until_limit","remaining_net_borrows_quote","remaining_sell","remove_by_key","remove_by_key","remove_one_expired","remove_one_expired","remove_perp_order","remove_taker_trade","remove_worst","remove_worst","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved_dynamic","reserved_roots","reset_on_nonzero_price","reset_to_price","resize_dynamic_content","revert_pushes","root","root_mut","roots","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scaled_init_asset_weight","scaled_init_liab_weight","security_admin","self_trade_behavior","sell_token_index","seq_num","seq_num","seq_num","seq_num","sequence_number","sequence_number","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3","serum3_count","serum3_count","serum3_offset","serum3_orders","serum3_orders_by_raw_index","serum3_orders_mut","serum3_orders_mut_by_raw_index","serum3_supported","serum_market_external","serum_market_seeds","serum_market_seeds","serum_program","set_being_liquidated","set_count","set_count","set_elligible_for_group_insurance_fund","set_head","set_head","set_in_health_region","set_is_configured","settle_fee_amount_threshold","settle_fee_flat","settle_fee_fraction_low_health","settle_funding","settle_limit","settle_pnl_limit_factor","settle_pnl_limit_factor","settle_pnl_limit_settled_in_current_window_native","settle_pnl_limit_window","settle_pnl_limit_window_size_ts","settle_token_index","short_funding","short_settled_funding","side","side","side","side","side","side","side","side_and_tree","side_and_tree","signer_seeds","socialize_loss","sol_mint_mainnet","sol_opt","sold","source_is_active","space","sqrt_price","stable_growth_limit","stable_price","stable_price","stable_price","stable_price_model","stable_price_model","start_timestamp","state","switchboard_on_demand_devnet_oracle","switchboard_on_demand_mainnet_oracle","switchboard_v1_devnet_oracle","switchboard_v2_mainnet_oracle","tag","tag","tag","taker","taker_base_lots","taker_client_order_id","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_price","taker_quote_lots","taker_side","taker_side","taker_volume","target_is_active","tcs_type","tcs_type","temporary_delegate","temporary_delegate","temporary_delegate_expiry","temporary_delegate_expiry","testing","tif_from_expiry","time_in_force","time_in_force","timestamp","timestamp","timestamp","to_oracle_config","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_post_order_type","token_conditional_swap_by_id","token_conditional_swap_by_index","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_free_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_mut_by_index","token_conditional_swap_taker_fee_rate","token_conditional_swaps","token_count","token_count","token_decrement_dust_deactivate","token_index","token_index","token_index","token_mint_a","token_mint_b","token_offset","token_position","token_position_and_raw_index","token_position_by_raw_index","token_position_mut","token_position_mut_by_raw_index","tokens","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_serialize","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","ui","unsettled_funding","unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update","update_cumulative_interest","update_funding_and_stable_price","update_interest_rate_scaling","update_net_borrows","update_parent_earliest_expiry","update_potential_openbook_tokens","update_potential_serum_tokens","update_settle_limit","usdc_mint_mainnet","usdc_opt","util0","util1","vault","vaults","verify","verify_banks_ais","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_loan_origination_fee","withdraw_with_fee","withdraw_without_fee","withdraw_without_fee_with_dusting","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","zero","zero_util_rate","max_oracle_staleness_slots","order_type","order_type","peg_limit","price_lots","price_lots","price_offset_lots","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","ID","check_id","id","I80F48","PerpMarketIndex","Serum3MarketIndex","TokenIndex","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","default","default","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","clock_now","fill_from_str","format_zero_terminated_utf8_bytes"],"q":[[0,"mango_v4"],[63,"mango_v4::accounts"],[3226,"mango_v4::accounts_ix"],[6953,"mango_v4::accounts_ix::compute_budget"],[6956,"mango_v4::accounts_ix::jupiter_mainnet_3"],[6959,"mango_v4::accounts_ix::jupiter_mainnet_4"],[6962,"mango_v4::accounts_ix::jupiter_mainnet_6"],[6965,"mango_v4::accounts_zerocopy"],[7138,"mango_v4::address_lookup_table_program"],[7141,"mango_v4::error"],[7262,"mango_v4::events"],[7390,"mango_v4::health"],[7901,"mango_v4::i80f48"],[7907,"mango_v4::instruction"],[11447,"mango_v4::logs"],[13684,"mango_v4::mango_v4"],[13789,"mango_v4::program"],[13821,"mango_v4::serum3_cpi"],[14090,"mango_v4::state"],[17288,"mango_v4::state::OrderParams"],[17295,"mango_v4::state::orca_mainnet_whirlpool"],[17298,"mango_v4::state::pyth_mainnet_sol_oracle"],[17301,"mango_v4::state::pyth_mainnet_usdc_oracle"],[17304,"mango_v4::state::raydium_mainnet"],[17307,"mango_v4::state::sol_mint_mainnet"],[17310,"mango_v4::state::switchboard_on_demand_devnet_oracle"],[17313,"mango_v4::state::switchboard_on_demand_mainnet_oracle"],[17316,"mango_v4::state::switchboard_v1_devnet_oracle"],[17319,"mango_v4::state::switchboard_v2_mainnet_oracle"],[17322,"mango_v4::state::usdc_mint_mainnet"],[17325,"mango_v4::types"],[17445,"mango_v4::util"]],"d":["The static program ID","","","","An Anchor generated module, providing a set of structs …","","","","","","","","","Confirms that a given pubkey is equivalent to the program …","","","","","","","","The Anchor codegen exposes a programming model where a …","","Creates an Error with a particular message, using …","Creates an Error with a particular message, using …","","Returns the argument unchanged.","","","","Returns the program ID","","","An Anchor generated module containing the program’s set …","Calls U::from(self).","","","","","","","","","Module representing the program.","Like anchor’s require!(), but with a customizable message","Like anchor’s require!(), but with a customizable …","","","","","","","","","","","","","","","","","","Generated client accounts for AccountBuybackFeesWithMngo.","Generated client accounts for AccountClose.","Generated client accounts for AccountCreate.","Generated client accounts for AccountCreateV2.","Generated client accounts for AccountCreateV3.","Generated client accounts for AccountEdit.","Generated client accounts for AccountExpand.","Generated client accounts for AccountSizeMigration.","Generated client accounts for AccountToggleFreeze.","Generated client accounts for AdminPerpWithdrawFees.","Generated client accounts for AdminTokenWithdrawFees.","Generated client accounts for AltExtend.","Generated client accounts for AltSet.","Generated client accounts for Benchmark.","Generated client accounts for ComputeAccountData.","Generated client accounts for FlashLoanBegin.","Generated client accounts for FlashLoanEnd.","Generated client accounts for FlashLoanSwapBegin.","Generated client accounts for GroupChangeInsuranceFund.","Generated client accounts for GroupClose.","Generated client accounts for GroupCreate.","Generated client accounts for GroupEdit.","Generated client accounts for GroupWithdrawInsuranceFund.","Generated client accounts for HealthCheck.","Generated client accounts for HealthRegionBegin.","Generated client accounts for HealthRegionEnd.","Generated client accounts for IxGateSet.","Generated client accounts for OpenbookV2CancelOrder.","Generated client accounts for OpenbookV2CloseOpenOrders.","Generated client accounts for OpenbookV2CreateOpenOrders.","Generated client accounts for OpenbookV2DeregisterMarket.","Generated client accounts for OpenbookV2EditMarket.","Generated client accounts for …","Generated client accounts for OpenbookV2PlaceOrder.","Generated client accounts for OpenbookV2RegisterMarket.","Generated client accounts for OpenbookV2SettleFunds.","Generated client accounts for PerpCancelAllOrders.","Generated client accounts for PerpCancelAllOrdersBySide.","Generated client accounts for PerpCancelOrder.","Generated client accounts for …","Generated client accounts for PerpCloseMarket.","Generated client accounts for PerpConsumeEvents.","Generated client accounts for PerpCreateMarket.","Generated client accounts for PerpDeactivatePosition.","Generated client accounts for PerpEditMarket.","Generated client accounts for PerpForceClosePosition.","Generated client accounts for PerpLiqBaseOrPositivePnl.","Generated client accounts for PerpLiqForceCancelOrders.","Generated client accounts for …","Generated client accounts for …","Generated client accounts for PerpPlaceOrder.","Generated client accounts for PerpSettleFees.","Generated client accounts for PerpSettlePnl.","Generated client accounts for PerpUpdateFunding.","Generated client accounts for SequenceCheck.","Generated client accounts for Serum3CancelAllOrders.","Generated client accounts for Serum3CancelOrder.","Generated client accounts for Serum3CloseOpenOrders.","Generated client accounts for Serum3CreateOpenOrders.","Generated client accounts for Serum3DeregisterMarket.","Generated client accounts for Serum3EditMarket.","Generated client accounts for Serum3LiqForceCancelOrders.","Generated client accounts for Serum3PlaceOrder.","Generated client accounts for Serum3RegisterMarket.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFundsV2.","Generated client accounts for Serum3SettleFundsV2Extra.","Generated client accounts for StubOracleClose.","Generated client accounts for StubOracleCreate.","Generated client accounts for StubOracleSet.","Generated client accounts for TokenAddBank.","Generated client accounts for TokenChargeCollateralFees.","Generated client accounts for TokenConditionalSwapCancel.","Generated client accounts for TokenConditionalSwapCreate.","Generated client accounts for TokenConditionalSwapStart.","Generated client accounts for TokenConditionalSwapTrigger.","Generated client accounts for TokenDeposit.","Generated client accounts for TokenDepositIntoExisting.","Generated client accounts for TokenDeregister.","Generated client accounts for TokenEdit.","Generated client accounts for …","Generated client accounts for TokenForceWithdraw.","Generated client accounts for TokenLiqBankruptcy.","Generated client accounts for TokenLiqWithToken.","Generated client accounts for TokenRegister.","Generated client accounts for TokenRegisterTrustless.","Generated client accounts for TokenUpdateIndexAndRate.","Generated client accounts for TokenWithdraw.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","group admin or fast listing admin, checked at #1","","","","","","group admin or fast listing admin, checked at #1","","","","","","","","","Only for the unusual case where the owner_ata account is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The fallback oracle account is optional and only used when …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instructions Sysvar for instruction introspection","Instructions Sysvar for instruction introspection","Instructions Sysvar for instruction introspection","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","needed for the automatic settle_funds call","","needed for the automatic settle_funds call","needed for the automatic settle_funds call","needed for the automatic settle_funds call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","can’t zerocopy this unfortunately","","","","","","","","","","","","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order. Bank oracle also …","The bank that pays for the order, if necessary","","The bank vault that pays for the order","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that receives the funds upon settlement. Bank …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets up mango vaults for flash loan","Finalizes a flash loan","","","","","","","","","","Sets up for a health region","Ends a health region.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Copy paste a bunch of enums so that we could …","","","","","","","","A flash loan used for a swap where one token is exchanged …","Like Swap, but without the flash_loan_swap_fee_rate","","Charges collateral fees on an account","","","","","","","In addition to these accounts, there must be …","Changes a token’s parameters.","","","","","","","Updates token interest and interest rates.","","An arbitrary flash loan","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: ALT address is checked inline","CHECK: ALT authority is checked inline","","","","","","","","","","","","","","group admin or fast listing admin, checked at #1","","","","","","group admin or fast listing admin, checked at #1","","","","","","","","","Only for the unusual case where the owner_ata account is …","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: validated against banks at #4","CHECK: The oracle can be one of several different account …","","","","","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: unused, exists only because anchor is unhappy in …","","","CHECK: event will be checked by openbook_v2","CHECK: event queue will be checked by openbook_v2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The fallback oracle account is optional and only used when …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","","CHECK: Oracle can have different account types","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","CHECK: Instruction gate will be checked in instruction …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: bank/vault/token account in remaining accounts …","Instructions Sysvar for instruction introspection CHECK: …","Instructions Sysvar for instruction introspection CHECK: …","Instructions Sysvar for instruction introspection CHECK: …","CHECK: fixed instructions sysvar account","","","","CHECK: Oracle can have different account types","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: vault will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the openbook_v2 cpi call","needed for the automatic settle_funds call CHECK: …","CHECK: Validated by the serum cpi call","needed for the automatic settle_funds call CHECK: …","needed for the automatic settle_funds call CHECK: …","","","","","","","","","","","","","CHECK: Oracle can have different account types","","","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","","","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Newly created by serum cpi call","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Will be checked against seeds and will be initiated …","CHECK: Will be checked against seeds and will be initiated …","CHECK: Will be checked against seeds and will be initiated …","","","","","","","","","","","","","","","","","","","","","","","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: oracle can be one of multiple account types","CHECK: The oracle can be one of several different account …","CHECK: bank/vault/token account in remaining accounts …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order. Bank oracle also …","The bank that pays for the order, if necessary","CHECK: The oracle can be one of several different account …","The bank vault that pays for the order","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: validated against banks at #4","CHECK: The oracle can be one of several different account …","","","","","","","","The bank that receives the funds upon settlement. Bank …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register any serum market","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register a market for any serum program","CHECK: The pubkey is checked and then it’s passed to the …","","","","","","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","","","","","","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","","A Ref to an AccountInfo - makes AccountInfo compatible …","","Functions should prefer to work with AccountReader where …","","Like AccountReader, but can also get the account pubkey","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Using AccountLoader forces a AccountInfo.clone() and then …","Using AccountLoader forces a AccountInfo.clone() and then …","","","","","Same as load(), but doesn’t check the discriminator or …","Same as load(), but doesn’t check the discriminator or …","","","","","Same as load(), but mut","Same as load(), but mut","","Same as load_fully_unchecked(), but mut","Same as load_fully_unchecked(), but mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add a context string c to a Result or Error","","","","","Creates an Error with a particular message, using …","Creates an Error with a particular message, using …","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","Gets the name of this [#enum_name].","","","Like anchor’s require!(), but with a customizable message","Like anchor’s require!(), but with a customizable …","","","","","","","","","","","Like context(), but evaluate the context string lazily","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This trait abstracts how to find accounts needed for the …","Assumes the account infos needed for the health …","Store information needed to compute account health","There are three types of health:","","","","","Stores information about perp market positions and their …","Information about prices for a bank or perp market.","","Takes a list of account infos containing","","Information about reserved funds on Serum3 and Openbook V2 …","","Temporary value used during health computations","","","","","","","","","","","","Changes the cached user account token balance.","","","","The asset price to use for the given health type","","Computes the account assets and liabilities marked to …","Returns the token indexes of the available banks. …","","","","","","","","","","","","","","","Freely available spot balance for the token.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Verifies that the health cache has information on all …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Compute health with an arbitrary AccountRetriever","Computes health for a mango account given a set of account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns token balances that account for spot and perp …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Liquidatable spot assets mean: actual token deposits and …","Liquidatable spot borrows mean: actual token borrows plus …","","","","","","","","Phase1 is spot/perp order cancellation and spot settlement …","Phase2 is for:","Phase3 is bankruptcy:","","","","The open orders account has no free or reserved funds","","","","","The health ratio is","The perp-risk (but not token-risk) adjusted upnl. Also …","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Computes the account leverage as ratio of liabs / (assets …","The liability price to use for the given health type","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NOTE: keep getMaxSourceForTokenSwap in ts/client in sync …","The sum of reserved amounts over all serum3 and openbookV2 …","How many source native tokens may be swapped for target …","Verifies neither the net borrow or deposit limits","","","","","Creates a FixedOrderAccountRetriever where all banks are …","","A FixedOrderAccountRetriever with n_banks <= …","Generate a HealthCache for an account and its health …","Generate a special HealthCache for an account and its …","","","","","","The current oracle price","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns how much pnl is settleable for a given settle …","","","","Recompute the cached information about a serum market.","","Recompute the cached information about a serum market.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","How much of a token can be gained before health increases …","How much of a token can be taken away before health …","Sum of token_info.balance_spot and perp …","","A “stable” price, provided by StablePriceModel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Settle token native provided by perp position and open …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount that was transfered out to the user","The amount that was transfered out to the user","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount by which the user’s token position changed at …","The amount by which the user’s token position changed at …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Deposit fee paid for positive change_amount.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","including liqor and platform liquidation fees","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount that was a loan (<= approved_amount, depends on …","The amount that was a loan (<= approved_amount, depends on …","","","","The fee paid on the loan, not included in loan or …","The fee paid on the loan, not included in loan or …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Swap fee paid on the in token of a swap.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","benchmark","Warning, this instruction is for testing purposes only!","","","","A version of flash_loan_begin that’s specialized for …","","","","","","","","","","","","","","","","","","","","","OpenbookV2","","","","","","","","Perps","","","","","","","","","","","","","","","","","","","","","","","","","requires the receiver_bank in the health account list to …","Serum","Deprecated instruction that used to settles all free funds …","Like Serum3SettleFunds, but fees_to_dao determines if …","","","","","","","","","","","","","","","","","","","","","","","","","","","","Type representing the program.","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","For loan origination fees bookkeeping purposes","Copied over from serum dex","","","","","CHECK: cpi","CHECK: cpi","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","must cover the open_orders and the …","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","Cancels the whole transaction as soon as a self-matching …","","","","","","","","","","","","","","","","","","","","","","","","","Iterates the fixed and oracle_pegged OrderTrees …","","Reference to a node in a book side component","","","","Cancels the maker side of the trade, the taker side gets …","","","","Both the maker and taker sides of the matched orders are …","","","","Header is created by scanning and parsing the dynamic …","","","","The token index used in AccountBuybackFeesWithMngo to …","","","","","","","","","","","","","","","","","","","Take existing orders up to price, max_base_quantity and …","InnerNodes and LeafNodes compose the binary tree of orders.","","","","Enum for lookup into ix gate note: total ix files 56, ix …","","LeafNodes represent an order in the binary tree","","Take existing orders up to price, max_base_quantity and …","Take existing orders up to price, max_base_quantity and …","","","","","","","","","","Useful when loading from bytes","Useful when loading from RefCell, like from AccountInfo","Useful when loading from RefCell, like from AccountInfo","Trait to allow a AccountLoader to create an accessor for …","","Full reference type, useful for borrows","Full reference type, useful for borrows","Fully owned MangoAccount, useful for tests","","Ignore price and take orders up to max_base_quantity and …","","","","","","","","","","","","","","","","","","","","","","","Contains all oracle account infos that could be used to …","","","","","","","","Perp order parameters","","","Iterate over orders in order (bids=descending, …","A binary tree on AnyNode::key()","","","","","","The token index used for settling perp markets.","","","","","","","","","","","","","","","","","","","","","","Never take any existing orders, post the order on the book …","Never take any existing orders, post the order on the book …","If existing orders match with this order, adjust the price …","If existing orders match with this order, adjust the price …","","","","","","This token index is supposed to be the token that oracles …","","","","","","Self trade behavior controls how taker orders interact …","","","","","","","","","","","","","","","","","","","SideAndOrderTree is a storage optimization, so we don’t …","","Maintains a “stable_price” based on the oracle price.","Reducing a position when the price gets worse","","","","","","","","","Incentive to pay to callers who start an auction, in $1e-6","Reducing a position when the price gets better","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add new fees that are usable with the buyback fees feature.","Platform fees that were accrued during liquidation (in …","","","","","","","Add taker trade after it has been matched but before it …","","","","","","","","","","","","may token selling create borrows? (often users just want …","","may token purchases create deposits? (often users just …","Number of fast listings that are allowed per interval","","Given some pnl, applies the pnl settle limit and returns …","","","","","","","","","","Address of the BookSide account for asks","Base lots in open asks","Returns the (min_pnl, max_pnl) range of quote-native pnl …","Calculate the average entry price of the position, in …","The native average entry price for the base lots of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Tracks the amount of borrows that have flowed into the …","Tracks the amount of borrows that have flowed into the …","Number of decimals used for the base token.","Fees Fee for base position liquidation","","Number of base native in a base lot. Must be a power of 10.","","Active position size, measured in base lots","","","Store the base/quote token index, so health computations …","Store the base/quote token index, so health computations …","","","","","Tracks that this account should be liquidated until …","Return the price of the order closest to the spread","","Address of the BookSide account for bids","Base lots in open bids","Field used to contain the trusted_market flag and is now …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Soft borrow limit in native quote","how many native tokens were already bought/sold","Calculate the break even price of the position, in …","","","","","","","PDA bump","","","","indexes of tokens for the swap","","","The total buyback fees amount that the account can make …","Fees usable with the “fees buyback” feature. This …","","Fees buyback amount from the previous expiry interval.","","Number of seconds after which fees that could be used with …","End timestamp of the current expiry interval of the …","","","","Cancels up to limit orders that are listed on the mango …","Cancels an order on a side, removing it from the book and …","Cancels an order in an open order slot, removing it from …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change a position, while taking the loan origination fee …","Change a position without applying the loan origination fee","","","","","","A stricter version of check_health_post_checks() that …","","","","","","Error if this header isn’t a valid resize from prev","","Do the current conditions and tcs type allow starting?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Generic “transfer” from source to target.","The earliest expiry timestamp for the left and right …","indexes into BookSide::nodes","","","Arbitrary user-controlled order id.","User defined id for this order, used in FillEvents","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Intervals in which collateral fee is applied","The daily collateral fees rate for fully utilized …","Collateral fees that have been collected (in native tokens)","Fees collected over the lifetime of the bank","Platform fees that were collected during liquidation (in …","","","returns the current interest rate in APR","","Returns the fee for settling settlement when the account …","","","","","","","","","","Cumulative long funding in quote native units. If the user …","Cumulative short funding in quote native units If the user …","","","","","","","","","","","","","","","","","","","","","Creates default market for tests","The delay price is based on an average over each …","Accumulating the total time for the above average.","Maximal relative difference between two delay_price in …","","Length of a delay_interval","Stored delay_price for each delay_interval. If we want the …","","","Deposits native_amount.","the index used to scale the value of an IndexedPosition …","Internal function to deposit funds","","zero means none, in token native","","Limit for collateral of deposits in native quote","Like deposit(), but allows dusting of in-use accounts.","Deprecated field: Amount of pnl that was realized by …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If set to 1, deposits cannot be liquidated when an account …","The stored prices are always “sell token per buy token”…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Duration of the auction mechanism","","Returns true if the position remains active","","","","","","","","","","The lowest timestamp at which one of the contained …","","","","","","Prevent borrowing away the full bank vault. Keep some in …","","Creates or retrieves a TokenPosition for the token_index. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the EventQueue account","","","","Returns amount of realized trade pnl for the maker","","Returns amount of realized trade pnl for the taker","","Updates the buyback_fees_* fields for staggered expiry of …","Time at which this order will expire, u64::MAX if never","timestamp until which the conditional swap is valid","","Oracle that may be used if the main oracle is stale or not …","","","","Fast-listings are limited per week, this is the start of …","Number of fast listings that happened this interval","Fee (in quote native) to charge for ioc orders","Fees accrued in native quote currency these are increased …","Fees settled in native quote currency these are increased …","","","Returns the handle of the node with the lowest expiry …","","","","","","Creates price data for a fixed order’s price","Retrieves the price (in lots) from a fixed order’s price …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Builds header by scanning and parsing the dynamic portion …","","","","","","","","","","","","timestamp that funding was last updated in","","","","","","","","","","","","","","","","","Is this market covered by the group insurance fund?","","","","","","","Does the user have any orders on the book?","Are there any open orders or fills that haven’t been …","","","","","","","","","Init health as calculated during HealthReginBegin, rounded …","","","","Track something like the highest open bid / lowest open …","Track something like the highest open bid / lowest open …","","","Walk up the book quantity units and return the price at …","For funding, get the impact price this many base lots deep …","The account is currently inside a health region marked by …","incremented when a market requires this position to stay …","","","","","","deposits/borrows for this bank","The deposit_index (if positive) or borrow_index (if …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","initializes a header on the dynamic portion of a new …","","","","Is native_price an acceptable order for the side of this …","","","The intention the user had when placing this order, …","Current interest curve scaling, always >= 1.0","calculator function that can be used to compute an interest","Target utilization: If actual utilization is higher, scale …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Whether the entry is in use","If this struct is in use. (tcs are stored in a …","","","Returns if the order is expired at now_ts","","","","","","","","","","","","","","","Is this order required to be posted to the orderbook? It …","Is lhs is a better order for side than rhs?","Is lhs is a better order for side than rhs?","Is price acceptable for a limit order on side?","","","","","Does this tcs type support an explicit tcs_start …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterate over all entries, including invalid orders","","Iterate over all entries, including invalid orders","Iterate over all entries in the book filtering out invalid …","","","only the top prefix_len bits of key are relevant","The binary tree key, see new_node_key()","Time at which the last collateral fee was charged","","The delay_interval_index that update() was last called on.","Timestamp at which the last net borrows window started","","","","","","","Liquidation fee that goes to the liqor.","","","","","","","","","","","","Current long funding value. Increasing it means that every …","Already settled long funding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert from the price stored on the book to the price …","","","Track lowest bid/highest ask, same way as for highest …","Track lowest bid/highest ask, same way as for highest …","","These weights apply to the base position. The quote …","","","Weights for full perp market health, if positive","Maint asset weight to reach at _shift_end.","Cache of the inverse of maint_weight_shift_end - …","End timestamp in seconds until which the maint weights …","","Start timestamp in seconds at which maint weights should …","","","","","","Fee when matching maker orders. May be negative.","The maker has to pay premium_price * (1 + maker_fee_rate)","","","","Premium price adjusted for the maker fee","","","Cumulative maker volume in quote native units","","","","","","","","","","","Walk up the book given base units and return the amount in …","Walk up the book given quote units and return the quantity …","Max base lots to buy/sell.","maximum amount of native tokens to buy or sell","The remaining buy amount, taking the current buy token …","Maximal funding rate per day, must be >= 0.","","","Max quote lots to pay/receive (not taking fees into …","the 100% utilization rate","","The remaining sell amount, taking the current sell token …","","","","","Minimal funding rate per day, must be <= 0.","","The maximum utilization allowed when borrowing is 1-this …","","","","","","","","","","","","","","","","","Name. Trailing zero bytes are ignored.","","","","","","Should this order be penalized with an extra fee?","Net borrow limit per window in quote native; set to -1 to …","Size in seconds of a net borrows window","Sum of all deposits and borrows in the last window, in …","","","","","","","","","","Creates a binary tree node key.","","","","Next id to use when adding a token condition swap","","","","","","","","","","","","Amount of pnl that can be settled once.","Number of base lots currently active in the market. Always …","","","","","","","","","","","","","","","","","Oracle account address","","Oracle configuration","","Creates price data for an oracle pegged order from the …","Retrieves the price offset (in lots) from an oracle pegged …","Tries to return the primary oracle price, and if there is …","","","","Limit orders must be <= oracle * (1+band) and >= oracle / …","Limit orders must be <= oracle * (1+band) and >= oracle / …","","Returns the price of one native base token, in native …","","","","","","","","PostOrderType, this was added for TradingView move order","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the owning MangoAccount","","Index into the owning MangoAccount’s PerpOpenOrders","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Order type specific params","","","","","","pegging limit for oracle peg orders, otherwise -1","If the effective price of an oracle pegged order exceeds …","","","","","Index of this perp market. Other data, like the …","","","","","","","","","","","","","","Cumulative number of quote native units transfered from …","","","Additional to liquidation_fee, but goes to the group owner …","Additional to liquidation_fee, but goes to the group owner …","","","","Order tree that this order should be added to","An overestimate of the amount of tokens that might flow …","An overestimate of the amount of tokens that might flow …","Largest amount of tokens that might be added the bank …","","","Largest amount of tokens that might be added the bank …","","number of highest key bits that all children share e.g. if …","Base price adjusted for the premium","","Compute the price_lots this order is currently at, as well …","","","","The order’s price_data as stored in the key","","The lower or starting price:","The premium to pay over oracle price to incentivize …","Parallel to price_lower_limit, but an upper limit / …","","","","","","","Number of base lots to buy or sell, always >=1","","","Return the quantity of orders that can be matched by an …","","","Stores the market’s lot sizes","Number of quote native in a quote lot. Must be a power of …","","Active position in oracle quote native. At the same time …","Tracks what the position is to calculate average entry & …","","","","","","Compares the fixed and oracle_pegged order and returns the …","","","","Trade pnl, fees, funding that were added over the current …","Takes over a quote position along with recurring and …","Adds immediately-settleable realized pnl when a liqor …","Update the perp position for pnl settlement","Change the base and quote positions as the result of a …","Update perp position for a maker/taker fee payment","Amount of pnl that can be settled in each settle window.","Reduce the available buyback fees amount because it was …","Reduce only","","","If true, users may no longer increase their market …","","","","Timestamp in seconds that the market was registered at.","","","","","","","","Remove the order with the lowest expiry timestamp in the …","Remove the order with the lowest expiry timestamp, if that…","Removes the perp order and updates the maker bids/asks …","Remove taker trade after it has been processed on …","Remove the overall worst-price order.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If set to 1, the stable price will reset on the next …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the init asset weight, adjusted for the number of …","","","Configure how matches with order of the same owner are …","","","","","Total number of orders seen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Pnl settlement amount needed to be eligible for the flat …","In native units of settlement token, given to each settle …","Fraction of pnl to pay out as fee if +pnl account has low …","Move unrealized funding payments into the quote_position","Returns the (min_pnl, max_pnl) range of quote-native pnl …","","Controls the strictness of the settle limit. Set to a …","Amount of realized trade pnl and unrealized pnl that was …","Index of the current settle pnl limit window","Window size in seconds for the perp settlement limit","Token index that settlements happen in.","See long_funding.","Already settled short funding","","","","","","","","","","","Socialize the loss in this account across all longs and …","","","","","Number of bytes needed for the MangoAccount, including the …","","Maximal per-second relative difference of the stable price.","","","Current stable price to use in health","","Maintains a stable price based on the oracle price that is …","In seconds since epoch. 0 means not-started.","","","","","","","NodeTag","","","Amount of base lots on the EventQueue waiting to be …","","","","Fee for taker orders, may not be negative.","The taker receives only premium_price * (1 - …","Premium price adjusted for the taker fee","Amount of quote lots on the EventQueue waiting to be …","","","Cumulative taker volume in quote native units","","","Stores a TokenConditionalSwapType enum value","","","","","","Convert an input expiry timestamp to a time_in_force value","Number of seconds the order shall live, 0 meaning forever","Time in seconds after timestamp at which the order expires.","The time the order was placed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fees for the token conditional swap feature","","","","Decrements the in_use_count for the token position for the …","","index into Group.tokens","","","","","","Returns","","Returns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount of funding this account still needs to pay, in …","Calculate the PnL of the position for a given price","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Use current order book price and index price to update the …","","Update the bank’s net_borrows fields.","When a node changes, the parents’ child_earliest_expiry …","Grows potential_openbook_tokens if new > old, shrinks it …","Grows potential_serum_tokens if new > old, shrinks it …","Updates the perp pnl limit time windowing, resetting the …","","","The unscaled borrow interest curve is defined as …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Withdraws native_amount while applying the loan …","Withdraws native_amount without applying the loan …","Like withdraw_without_fee() but allows dusting of in-use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The unscaled borrow interest curve point for zero …","","","","","","","","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","The const program ID.","Returns true if given pubkey is the program ID.","Returns the program ID.","","","","Nothing in Rust shall use these types. They only exist so …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,5,0,0,0,0,0,5,0,5,5,5,0,5,5,5,5,5,5,5,0,0,0,0,0,5,0,0,0,0,5,5,0,5,0,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,5,5,5,5,0,5,5,0,5,5,5,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,13,14,15,16,17,18,19,20,26,27,28,29,35,36,37,39,40,41,44,45,47,48,49,50,51,55,59,62,63,66,67,68,69,70,73,74,76,76,83,84,85,88,89,93,99,57,64,57,64,23,24,20,21,22,23,24,30,31,33,34,38,42,43,46,52,54,56,71,72,75,79,80,81,82,90,91,96,97,93,39,44,45,48,49,50,51,52,54,59,62,65,28,39,40,41,45,47,84,85,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,21,22,82,88,89,93,96,97,99,40,44,46,47,73,75,76,76,47,77,44,47,73,76,76,39,44,45,48,49,50,51,52,54,59,62,65,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,84,85,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,32,10,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,34,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,25,90,44,45,52,53,54,62,82,91,96,97,10,10,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,26,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,42,46,71,75,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,28,27,28,36,98,61,61,32,61,30,31,32,34,60,61,94,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,94,58,60,61,86,87,92,94,95,58,60,61,86,87,92,94,95,86,87,58,60,61,92,94,95,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,43,72,67,68,73,74,44,47,73,74,76,76,67,68,73,74,67,68,73,74,44,47,73,74,76,76,74,45,44,45,47,73,74,76,76,80,82,96,97,82,90,91,96,97,98,10,10,30,30,39,44,45,47,67,68,69,70,73,74,76,76,40,41,40,41,39,40,41,42,44,45,46,47,39,40,41,44,45,46,47,39,40,41,44,45,46,47,54,56,57,58,60,61,62,63,64,65,79,80,81,88,89,91,93,96,97,98,99,28,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,27,28,29,48,49,50,51,55,62,66,67,68,69,70,74,76,76,89,99,93,14,15,16,18,19,23,30,32,41,44,46,54,70,75,80,82,96,97,45,74,74,45,74,21,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,40,44,46,47,73,75,76,76,47,77,44,47,73,76,76,94,45,30,32,41,70,82,96,97,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,84,85,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,67,68,69,70,71,73,74,75,76,76,67,68,69,70,73,74,75,76,76,67,68,69,70,73,74,75,76,76,58,60,61,63,64,58,60,61,63,64,58,60,61,64,64,13,31,40,42,52,69,71,79,90,14,15,16,18,19,28,30,32,40,41,44,46,47,54,70,75,80,82,96,97,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,21,22,88,89,99,88,89,13,21,22,27,28,29,30,31,32,34,40,42,44,45,47,52,60,61,71,73,74,76,76,79,82,88,89,90,93,94,96,97,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,78,78,21,22,82,88,89,93,96,97,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,30,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,106,108,0,0,0,0,0,0,0,0,0,0,0,0,0,107,110,0,107,110,106,108,0,106,108,0,0,0,0,0,0,0,0,0,0,0,0,0,104,109,103,103,0,0,104,105,109,103,103,103,103,104,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,104,105,109,104,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,103,104,105,106,107,108,109,110,117,119,120,121,122,123,124,125,126,132,133,134,135,140,141,142,144,145,146,149,150,152,153,154,155,156,160,164,167,168,171,172,173,174,175,178,179,181,188,189,190,193,194,198,204,162,169,162,169,129,130,115,126,127,128,129,130,111,136,138,139,143,147,148,151,157,159,161,176,177,180,184,185,186,187,195,196,201,202,198,144,149,150,153,154,155,156,157,159,164,167,170,134,144,145,146,150,152,189,190,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,127,128,187,193,194,198,201,202,204,145,149,151,152,178,180,181,152,182,149,152,178,181,144,149,150,153,154,155,156,157,159,164,167,170,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,189,190,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,102,103,104,105,106,107,108,109,110,102,103,104,105,106,107,108,109,110,111,0,137,117,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,102,103,104,105,106,107,108,109,110,115,102,103,104,105,106,107,108,109,110,139,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,131,195,102,149,150,157,158,159,167,187,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,196,201,202,117,117,102,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,132,111,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,147,151,176,180,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,134,133,134,141,203,166,166,137,166,111,136,137,139,165,166,199,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,0,0,0,199,163,165,166,191,192,197,199,200,163,165,166,191,192,197,199,200,191,192,163,165,166,197,199,200,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,148,177,172,173,178,179,149,152,178,179,181,172,173,178,179,172,173,178,179,149,152,178,179,181,179,150,149,150,152,178,179,181,115,185,187,201,202,187,195,196,201,202,203,117,117,111,111,144,149,150,152,172,173,174,175,178,179,181,145,146,145,146,144,145,146,147,149,150,151,152,144,145,146,149,150,151,152,144,145,146,149,150,151,152,159,161,162,163,165,166,167,168,169,170,184,185,186,193,194,196,198,201,202,203,204,134,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,133,134,135,153,154,155,156,160,167,171,172,173,174,175,179,181,194,204,198,120,121,122,124,125,129,111,137,146,149,151,159,175,180,185,187,201,202,150,179,179,150,179,127,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,145,149,151,152,178,180,181,152,182,149,152,178,181,199,115,115,150,111,137,146,175,187,201,202,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,189,190,102,103,104,105,106,107,108,109,110,115,172,173,174,175,176,178,179,180,181,172,173,174,175,178,179,180,181,172,173,174,175,178,179,180,181,163,165,166,168,169,163,165,166,168,169,163,165,166,169,169,119,136,145,147,157,174,176,184,195,120,121,122,124,125,134,111,137,145,146,149,151,152,159,175,180,185,187,201,202,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,106,107,104,102,103,104,105,106,107,108,109,110,127,128,193,194,204,193,194,119,127,128,133,134,135,111,136,137,139,145,147,149,150,152,157,165,166,176,178,179,181,184,187,193,194,195,198,199,201,202,204,127,128,111,139,166,199,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,111,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,103,140,141,142,143,144,145,146,147,148,149,104,104,105,105,106,106,107,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,108,109,109,110,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,103,104,105,106,107,108,109,110,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,115,115,183,183,127,128,187,193,194,198,201,202,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,111,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,102,111,136,137,138,139,103,140,141,142,143,144,145,146,147,148,149,104,105,106,107,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,108,109,110,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,115,202,203,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,219,218,216,217,218,219,216,216,217,217,218,219,216,217,218,219,216,217,216,217,218,219,216,217,218,219,216,217,218,219,218,219,218,219,454,216,217,218,219,216,217,219,523,217,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,243,216,217,218,219,216,217,218,219,524,525,216,217,218,219,524,525,216,217,218,219,526,527,217,526,527,217,216,217,218,219,216,217,218,219,219,216,217,218,219,216,217,218,219,454,216,217,218,219,216,217,216,217,218,219,216,217,218,219,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,216,217,218,219,0,0,0,227,227,227,227,227,227,227,0,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,0,227,227,227,0,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,528,227,227,227,227,0,0,227,227,227,227,227,529,529,227,227,227,227,227,0,0,227,227,227,227,227,227,227,227,227,227,528,227,227,0,0,0,0,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,232,233,234,235,232,233,234,235,232,233,234,235,232,232,233,234,235,232,233,234,235,235,233,232,233,234,235,232,233,234,235,232,233,234,235,234,233,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,232,233,234,235,234,232,233,234,235,232,233,234,235,232,233,234,235,0,0,0,0,240,240,240,250,0,0,0,0,250,0,0,0,0,0,239,240,241,248,249,250,251,252,236,236,244,241,252,239,241,236,253,244,245,244,246,245,239,240,241,248,249,250,251,252,236,241,253,244,245,246,245,251,252,252,252,244,244,244,244,252,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,239,240,241,248,249,250,251,252,236,239,240,241,248,249,250,251,252,236,0,0,248,249,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,240,240,244,246,245,239,240,241,248,249,250,251,252,236,236,240,250,239,241,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,236,236,252,252,236,236,236,236,236,236,236,236,236,236,236,251,236,236,236,241,236,252,236,236,236,244,246,245,239,240,241,248,249,250,251,252,236,241,252,252,241,252,241,241,244,246,245,239,240,241,248,249,250,251,252,236,245,236,236,239,241,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,241,252,252,241,252,236,236,249,236,236,236,244,244,245,0,0,0,0,0,239,245,253,244,245,239,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,236,253,244,245,252,236,241,252,251,236,236,236,236,236,251,251,251,251,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,246,245,245,245,245,240,253,244,245,252,244,0,0,248,251,239,244,239,240,241,248,249,250,251,252,236,241,236,236,236,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,252,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,244,246,245,239,240,241,248,249,250,251,252,236,0,0,530,530,531,531,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,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,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,0,0,0,353,354,355,367,336,286,287,288,289,286,287,288,289,367,336,337,338,366,313,314,316,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,359,310,309,310,309,310,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,367,367,367,367,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,343,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,270,272,301,303,304,305,306,321,323,324,367,362,360,348,362,360,367,362,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,339,362,360,286,287,288,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,286,287,344,272,286,287,288,289,303,304,305,306,367,310,309,269,318,362,360,332,333,346,276,309,328,360,360,347,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,310,362,309,360,368,310,309,279,280,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,310,309,310,309,362,360,310,309,287,288,362,360,362,360,362,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,364,339,313,314,316,267,268,272,292,298,299,300,303,304,305,306,317,320,323,324,323,324,362,360,334,335,362,360,362,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,310,309,310,309,362,360,310,309,360,360,360,360,360,310,309,277,329,272,303,304,305,306,323,324,293,286,287,288,289,283,284,345,310,309,290,291,312,313,314,315,316,323,324,303,304,293,287,303,304,305,306,272,286,287,288,289,283,284,294,283,310,309,343,283,362,360,367,277,310,329,353,354,355,361,362,276,309,328,348,360,362,360,362,360,279,332,350,353,310,362,309,360,309,360,277,329,276,328,271,302,322,272,303,304,305,306,323,324,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,303,304,350,351,352,353,354,355,310,350,351,352,353,354,355,310,362,309,360,310,309,339,340,342,286,272,305,306,287,288,289,303,304,288,289,286,287,288,289,310,272,303,304,305,306,337,338,362,276,309,328,360,360,309,360,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,367,272,303,305,323,324,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,350,351,352,353,354,355,360,310,309,310,309,310,309,310,309,310,309,310,270,271,272,303,304,305,306,322,323,324,267,299,362,309,360,362,309,360,362,309,360,286,310,309,348,348,368,367,350,351,353,354,282,283,284,285,282,283,284,285,362,360,362,360,350,351,352,353,354,355,359,361,362,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,368,367,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,362,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,371,371,0,371,0,371,0,371,0,0,0,0,0,0,0,0,0,0,0,0,0,371,0,0,371,0,371,0,0,0,0,0,0,0,371,0,0,0,0,0,0,0,0,0,0,371,371,0,0,0,0,0,0,371,412,412,415,416,417,415,416,417,426,427,388,414,387,388,413,414,387,388,413,414,387,413,388,414,388,414,423,384,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,387,388,399,389,390,391,399,372,389,390,391,400,401,389,390,391,402,412,403,404,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,373,425,426,427,384,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,384,418,419,420,415,416,417,418,419,420,418,419,420,409,409,422,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,371,371,418,419,420,384,395,395,396,396,386,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,426,373,425,426,427,384,384,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,371,416,417,419,420,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,417,0,0,394,405,405,371,415,416,417,398,407,423,413,414,411,382,383,382,383,374,375,376,371,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,415,416,417,421,422,422,373,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,394,382,383,392,393,394,394,405,416,417,419,420,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,387,388,394,413,414,387,388,394,413,414,387,388,413,414,387,388,394,402,403,404,405,406,413,414,418,419,420,387,388,394,402,403,404,405,406,413,414,418,419,420,425,426,427,393,384,425,426,427,392,393,372,382,383,372,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,379,380,381,380,381,381,379,380,381,418,419,420,415,416,417,379,379,380,381,379,380,381,379,380,381,396,372,373,374,375,376,377,378,389,390,391,392,393,395,396,408,409,411,415,416,417,421,422,423,424,407,407,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,379,380,381,382,383,390,391,396,400,401,415,416,417,385,386,415,416,417,397,398,397,398,397,398,409,382,383,401,401,401,397,398,399,383,409,382,383,383,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,399,399,402,403,404,405,406,407,408,410,411,412,396,402,403,404,404,402,403,404,425,426,427,377,378,379,380,381,382,383,384,393,402,403,404,412,423,424,415,416,417,415,416,417,415,416,417,377,378,379,380,381,424,389,390,391,399,403,404,372,389,390,391,400,401,389,390,391,402,412,403,404,403,404,385,386,385,386,389,390,391,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,418,419,420,415,416,417,418,419,420,418,419,420,379,380,381,410,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,400,400,400,406,407,408,407,372,382,383,372,377,378,394,405,382,383,384,417,420,394,405,405,427,379,380,381,379,380,381,381,379,380,381,418,419,420,415,416,417,411,379,379,380,381,411,396,386,417,420,379,380,381,371,424,418,419,420,422,373,425,426,427,377,378,384,385,386,392,393,395,397,398,423,424,374,375,376,411,411,384,384,411,411,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,386,386,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,372,373,425,426,427,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,371,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,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,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,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,0,0,0,0,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,0,0,0,0,0,0,0,0,451,451,447,449,443,445,446,447,449,451,264,446,447,447,449,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,449,449,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,451,451,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,447,449,264,443,445,446,447,449,451,264,264,264,0,443,445,446,447,449,451,264,443,445,446,447,449,451,264,451,0,0,0,0,0,0,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,532,264,532,264,532,264,532,264,532,264,532,264,532,264,443,445,446,447,449,443,445,446,449,447,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,0,446,447,446,0,443,447,443,445,446,447,449,451,264,443,445,446,447,449,451,264,445,451,446,447,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,447,446,446,446,443,445,446,447,449,451,264,443,445,446,447,449,451,264,443,445,446,447,449,451,264,438,480,480,480,480,480,480,480,480,480,480,480,0,0,257,471,471,489,0,476,257,471,471,489,0,0,0,0,0,440,0,438,0,0,0,438,0,0,0,0,0,0,0,0,0,495,0,533,461,500,480,0,518,0,480,480,480,480,0,480,480,533,436,0,518,486,534,0,518,0,518,436,488,500,476,495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,533,436,0,0,0,476,0,0,0,480,480,480,480,480,480,480,0,0,0,0,480,480,480,480,0,0,0,533,461,0,0,484,0,0,0,0,0,0,0,0,495,0,0,480,480,480,480,480,480,480,480,480,480,480,480,0,0,0,480,0,480,480,480,0,436,488,436,488,0,500,484,0,0,0,0,0,0,484,0,0,440,480,480,480,480,480,480,480,480,0,0,0,0,480,480,480,480,0,0,486,0,441,484,0,480,480,480,484,484,484,0,441,480,0,480,480,480,480,0,0,480,480,0,480,480,480,480,0,480,480,0,480,480,480,480,0,518,441,486,0,0,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,481,456,514,0,0,455,456,262,458,458,458,458,458,458,261,444,261,237,444,458,458,458,458,458,458,463,463,463,463,444,237,261,237,237,464,464,464,464,465,462,469,262,261,261,261,261,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,0,0,466,466,263,260,262,262,260,262,261,261,261,467,263,260,482,497,458,456,481,468,469,262,261,262,469,469,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,463,261,492,237,444,481,456,482,262,497,514,491,463,444,444,456,481,456,481,456,444,481,456,444,444,469,469,469,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,474,474,237,458,458,458,458,458,0,458,237,455,474,463,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,465,465,478,478,506,462,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,444,237,237,237,237,0,237,237,237,262,475,435,534,493,458,458,444,472,472,261,261,464,458,458,458,458,458,458,534,493,472,472,263,260,261,478,435,438,499,463,481,262,499,499,499,499,499,499,481,456,237,237,237,237,237,444,237,237,261,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,457,460,481,472,263,260,261,478,475,435,484,461,465,462,436,488,438,257,471,489,467,496,440,441,500,463,484,461,436,488,438,257,471,489,440,441,500,0,474,485,237,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,463,237,237,458,481,481,481,481,481,481,481,481,465,464,261,466,262,237,237,458,458,476,481,472,263,260,261,478,475,484,461,486,462,436,488,438,257,471,489,495,440,441,500,463,475,475,461,461,462,462,436,436,488,488,438,438,257,257,471,471,489,489,495,495,440,440,441,441,500,500,262,494,467,496,458,458,458,455,456,462,463,501,237,466,0,444,444,444,262,262,262,237,262,491,458,491,466,466,458,0,0,237,237,237,237,444,480,481,455,472,263,260,261,478,466,482,483,475,435,461,462,436,488,438,257,471,489,494,467,496,262,497,498,499,463,237,482,262,497,237,491,491,458,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,536,255,502,458,458,455,237,496,501,481,456,492,262,262,504,0,504,514,237,481,456,466,482,483,485,262,497,498,466,262,444,0,0,507,473,477,261,261,261,504,534,493,458,492,458,481,481,456,263,260,263,260,478,463,468,262,481,472,534,493,472,237,237,237,472,504,473,477,514,474,501,469,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,262,262,237,262,536,455,468,491,262,444,444,463,237,237,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,509,508,257,472,263,260,261,478,263,260,261,478,472,463,463,456,492,462,463,237,482,262,497,237,468,491,456,472,504,444,456,456,506,257,257,257,482,262,497,463,463,444,463,507,237,444,456,472,263,260,261,478,466,482,483,475,485,468,465,462,487,464,490,491,492,493,494,467,496,262,497,498,499,463,491,492,468,468,444,464,465,462,481,456,499,237,474,485,499,485,490,492,237,537,537,537,0,0,473,477,237,473,477,237,262,261,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,262,263,260,263,260,237,262,262,237,262,237,237,237,237,237,237,467,467,463,467,262,463,467,467,467,463,467,467,261,0,0,478,263,260,261,482,483,497,498,468,468,506,463,463,262,455,491,506,237,463,463,475,435,490,456,262,491,237,237,466,485,237,444,444,508,237,456,482,262,497,237,481,456,482,262,497,472,237,237,262,506,237,237,237,481,456,509,508,465,462,471,467,496,0,469,509,508,481,456,468,490,491,535,507,468,491,468,491,466,261,262,263,260,481,455,455,482,0,0,458,458,458,458,482,501,237,466,262,237,262,0,0,0,237,262,482,497,482,497,262,0,474,0,496,471,535,491,491,462,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,444,481,456,466,482,483,485,468,492,262,497,498,514,481,456,462,496,462,496,237,444,472,263,261,465,462,491,494,467,499,463,478,466,497,237,444,478,462,467,497,481,467,262,481,262,481,481,481,481,481,506,463,456,508,492,492,506,462,455,455,458,458,262,458,455,455,455,481,458,458,458,458,458,458,481,456,261,481,444,237,262,492,473,262,506,263,260,237,263,260,237,0,465,463,472,506,474,485,467,462,507,463,463,463,509,508,492,0,0,478,462,467,496,468,263,260,260,262,261,261,261,504,263,260,482,497,0,237,237,0,261,261,261,261,261,261,261,456,506,237,482,262,497,466,482,262,497,463,237,237,463,468,491,468,491,458,261,468,491,237,444,481,456,472,263,260,261,478,466,482,483,475,485,468,465,462,491,492,467,262,497,498,499,463,481,468,499,499,458,492,468,468,468,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,444,506,463,493,467,496,262,481,456,481,472,263,260,261,478,475,435,484,461,465,462,436,488,438,257,471,489,467,496,440,441,500,463,481,455,455,455,458,458,458,458,444,497,0,0,497,456,534,493,262,534,493,456,463,262,262,262,261,261,262,262,261,261,262,262,262,261,508,468,471,489,496,506,496,478,478,514,262,0,501,463,477,481,504,499,237,262,499,237,262,463,507,0,0,0,0,465,462,464,467,261,467,463,467,262,463,463,261,467,467,261,477,463,463,481,456,481,456,444,506,506,462,462,467,496,435,237,458,444,480,481,456,455,472,263,260,261,478,466,482,483,475,484,485,461,468,486,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,436,458,458,455,455,458,237,458,237,481,455,455,458,237,472,466,504,504,455,458,458,458,458,458,481,237,444,481,466,482,483,485,468,492,262,497,498,237,444,481,466,482,483,485,468,492,262,497,498,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,461,468,486,518,518,465,462,487,464,436,436,488,488,438,438,257,257,471,471,489,489,490,491,492,493,494,495,495,467,467,467,496,496,496,262,497,498,499,440,440,441,441,500,500,463,461,518,436,488,438,257,471,489,495,440,441,500,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,481,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,472,261,261,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,499,237,262,237,237,491,237,237,261,0,501,237,237,237,466,237,466,444,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,237,237,237,237,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,504,473,477,514,474,501,469,535,507,509,506,533,508,237,458,444,480,476,481,456,455,472,263,260,261,478,466,482,483,475,435,484,485,461,468,486,518,465,462,487,464,436,488,438,257,471,489,490,491,492,493,494,495,467,496,262,497,498,499,440,441,500,463,455,237,538,539,538,538,540,539,538,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,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,519,520,521,522,0,0,0],"f":[0,0,[1],0,0,0,0,0,[[]],0,[[]],[[]],[[]],[2,3],[[],4],[[],4],[5,5],[[]],[6],[6],[6],[2,7],0,0,0,0,[[]],0,0,0,[[],2],[[],2],[[],6],0,[[]],0,[[],4],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[],8],[[],8],[[],9],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,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,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,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,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,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,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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],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,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,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,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,[[10,11],[[8,[12]]]],[[13,11],[[8,[12]]]],[[14,11],[[8,[12]]]],[[15,11],[[8,[12]]]],[[16,11],[[8,[12]]]],[[17,11],[[8,[12]]]],[[18,11],[[8,[12]]]],[[19,11],[[8,[12]]]],[[20,11],[[8,[12]]]],[[21,11],[[8,[12]]]],[[22,11],[[8,[12]]]],[[23,11],[[8,[12]]]],[[24,11],[[8,[12]]]],[[25,11],[[8,[12]]]],[[26,11],[[8,[12]]]],[[27,11],[[8,[12]]]],[[28,11],[[8,[12]]]],[[29,11],[[8,[12]]]],[[30,11],[[8,[12]]]],[[31,11],[[8,[12]]]],[[32,11],[[8,[12]]]],[[33,11],[[8,[12]]]],[[34,11],[[8,[12]]]],[[35,11],[[8,[12]]]],[[36,11],[[8,[12]]]],[[37,11],[[8,[12]]]],[[38,11],[[8,[12]]]],[[39,11],[[8,[12]]]],[[40,11],[[8,[12]]]],[[41,11],[[8,[12]]]],[[42,11],[[8,[12]]]],[[43,11],[[8,[12]]]],[[44,11],[[8,[12]]]],[[45,11],[[8,[12]]]],[[46,11],[[8,[12]]]],[[47,11],[[8,[12]]]],[[48,11],[[8,[12]]]],[[49,11],[[8,[12]]]],[[50,11],[[8,[12]]]],[[51,11],[[8,[12]]]],[[52,11],[[8,[12]]]],[[53,11],[[8,[12]]]],[[54,11],[[8,[12]]]],[[55,11],[[8,[12]]]],[[56,11],[[8,[12]]]],[[57,11],[[8,[12]]]],[[58,11],[[8,[12]]]],[[59,11],[[8,[12]]]],[[60,11],[[8,[12]]]],[[61,11],[[8,[12]]]],[[62,11],[[8,[12]]]],[[63,11],[[8,[12]]]],[[64,11],[[8,[12]]]],[[65,11],[[8,[12]]]],[[66,11],[[8,[12]]]],[[67,11],[[8,[12]]]],[[68,11],[[8,[12]]]],[[69,11],[[8,[12]]]],[[70,11],[[8,[12]]]],[[71,11],[[8,[12]]]],[[72,11],[[8,[12]]]],[[73,11],[[8,[12]]]],[[74,11],[[8,[12]]]],[[75,11],[[8,[12]]]],[[76,11],[[8,[12]]]],[[77,11],[[8,[12]]]],[[78,11],[[8,[12]]]],[[79,11],[[8,[12]]]],[[80,11],[[8,[12]]]],[[81,11],[[8,[12]]]],[[82,11],[[8,[12]]]],[[83,11],[[8,[12]]]],[[84,11],[[8,[12]]]],[[85,11],[[8,[12]]]],[[86,11],[[8,[12]]]],[[87,11],[[8,[12]]]],[[88,11],[[8,[12]]]],[[89,11],[[8,[12]]]],[[90,11],[[8,[12]]]],[[91,11],[[8,[12]]]],[[92,11],[[8,[12]]]],[[93,11],[[8,[12]]]],[[94,11],[[8,[12]]]],[[95,11],[[8,[12]]]],[[96,11],[[8,[12]]]],[[97,11],[[8,[12]]]],[[98,11],[[8,[12]]]],[[99,11],[[8,[12]]]],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,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,0,0,0,0,[[10,[4,[3]]],[[101,[100]]]],[[13,[4,[3]]],[[101,[100]]]],[[14,[4,[3]]],[[101,[100]]]],[[15,[4,[3]]],[[101,[100]]]],[[16,[4,[3]]],[[101,[100]]]],[[17,[4,[3]]],[[101,[100]]]],[[18,[4,[3]]],[[101,[100]]]],[[19,[4,[3]]],[[101,[100]]]],[[20,[4,[3]]],[[101,[100]]]],[[21,[4,[3]]],[[101,[100]]]],[[22,[4,[3]]],[[101,[100]]]],[[23,[4,[3]]],[[101,[100]]]],[[24,[4,[3]]],[[101,[100]]]],[[25,[4,[3]]],[[101,[100]]]],[[26,[4,[3]]],[[101,[100]]]],[[27,[4,[3]]],[[101,[100]]]],[[28,[4,[3]]],[[101,[100]]]],[[29,[4,[3]]],[[101,[100]]]],[[30,[4,[3]]],[[101,[100]]]],[[31,[4,[3]]],[[101,[100]]]],[[32,[4,[3]]],[[101,[100]]]],[[33,[4,[3]]],[[101,[100]]]],[[34,[4,[3]]],[[101,[100]]]],[[35,[4,[3]]],[[101,[100]]]],[[36,[4,[3]]],[[101,[100]]]],[[37,[4,[3]]],[[101,[100]]]],[[38,[4,[3]]],[[101,[100]]]],[[39,[4,[3]]],[[101,[100]]]],[[40,[4,[3]]],[[101,[100]]]],[[41,[4,[3]]],[[101,[100]]]],[[42,[4,[3]]],[[101,[100]]]],[[43,[4,[3]]],[[101,[100]]]],[[44,[4,[3]]],[[101,[100]]]],[[45,[4,[3]]],[[101,[100]]]],[[46,[4,[3]]],[[101,[100]]]],[[47,[4,[3]]],[[101,[100]]]],[[48,[4,[3]]],[[101,[100]]]],[[49,[4,[3]]],[[101,[100]]]],[[50,[4,[3]]],[[101,[100]]]],[[51,[4,[3]]],[[101,[100]]]],[[52,[4,[3]]],[[101,[100]]]],[[53,[4,[3]]],[[101,[100]]]],[[54,[4,[3]]],[[101,[100]]]],[[55,[4,[3]]],[[101,[100]]]],[[56,[4,[3]]],[[101,[100]]]],[[57,[4,[3]]],[[101,[100]]]],[[58,[4,[3]]],[[101,[100]]]],[[59,[4,[3]]],[[101,[100]]]],[[60,[4,[3]]],[[101,[100]]]],[[61,[4,[3]]],[[101,[100]]]],[[62,[4,[3]]],[[101,[100]]]],[[63,[4,[3]]],[[101,[100]]]],[[64,[4,[3]]],[[101,[100]]]],[[65,[4,[3]]],[[101,[100]]]],[[66,[4,[3]]],[[101,[100]]]],[[67,[4,[3]]],[[101,[100]]]],[[68,[4,[3]]],[[101,[100]]]],[[69,[4,[3]]],[[101,[100]]]],[[70,[4,[3]]],[[101,[100]]]],[[71,[4,[3]]],[[101,[100]]]],[[72,[4,[3]]],[[101,[100]]]],[[73,[4,[3]]],[[101,[100]]]],[[74,[4,[3]]],[[101,[100]]]],[[75,[4,[3]]],[[101,[100]]]],[[76,[4,[3]]],[[101,[100]]]],[[77,[4,[3]]],[[101,[100]]]],[[78,[4,[3]]],[[101,[100]]]],[[79,[4,[3]]],[[101,[100]]]],[[80,[4,[3]]],[[101,[100]]]],[[81,[4,[3]]],[[101,[100]]]],[[82,[4,[3]]],[[101,[100]]]],[[83,[4,[3]]],[[101,[100]]]],[[84,[4,[3]]],[[101,[100]]]],[[85,[4,[3]]],[[101,[100]]]],[[86,[4,[3]]],[[101,[100]]]],[[87,[4,[3]]],[[101,[100]]]],[[88,[4,[3]]],[[101,[100]]]],[[89,[4,[3]]],[[101,[100]]]],[[90,[4,[3]]],[[101,[100]]]],[[91,[4,[3]]],[[101,[100]]]],[[92,[4,[3]]],[[101,[100]]]],[[93,[4,[3]]],[[101,[100]]]],[[94,[4,[3]]],[[101,[100]]]],[[95,[4,[3]]],[[101,[100]]]],[[96,[4,[3]]],[[101,[100]]]],[[97,[4,[3]]],[[101,[100]]]],[[98,[4,[3]]],[[101,[100]]]],[[99,[4,[3]]],[[101,[100]]]],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,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[1],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,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,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,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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[102,102],[103,103],[104,104],[105,105],[106,106],[107,107],[108,108],[109,109],[110,110],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[111,[[113,[112]]]],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[102,12]]]],[114,[[8,[103,12]]]],[114,[[8,[104,12]]]],[114,[[8,[105,12]]]],[114,[[8,[106,12]]]],[114,[[8,[107,12]]]],[114,[[8,[108,12]]]],[114,[[8,[109,12]]]],[114,[[8,[110,12]]]],[114,[[8,[115,12]]]],[[114,116],[[8,[102,12]]]],[[114,116],[[8,[103,12]]]],[[114,116],[[8,[104,12]]]],[[114,116],[[8,[105,12]]]],[[114,116],[[8,[106,12]]]],[[114,116],[[8,[107,12]]]],[[114,116],[[8,[108,12]]]],[[114,116],[[8,[109,12]]]],[[114,116],[[8,[110,12]]]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[102,102],3],0,0,0,0,0,0,0,[[117,2],118],[[119,2],118],[[120,2],118],[[121,2],118],[[122,2],118],[[123,2],118],[[124,2],118],[[125,2],118],[[126,2],118],[[127,2],118],[[128,2],118],[[129,2],118],[[130,2],118],[[131,2],118],[[132,2],118],[[133,2],118],[[134,2],118],[[135,2],118],[[111,2],118],[[136,2],118],[[137,2],118],[[138,2],118],[[139,2],118],[[140,2],118],[[141,2],118],[[142,2],118],[[143,2],118],[[144,2],118],[[145,2],118],[[146,2],118],[[147,2],118],[[148,2],118],[[149,2],118],[[150,2],118],[[151,2],118],[[152,2],118],[[153,2],118],[[154,2],118],[[155,2],118],[[156,2],118],[[157,2],118],[[158,2],118],[[159,2],118],[[160,2],118],[[161,2],118],[[162,2],118],[[163,2],118],[[164,2],118],[[165,2],118],[[166,2],118],[[167,2],118],[[168,2],118],[[169,2],118],[[170,2],118],[[171,2],118],[[172,2],118],[[173,2],118],[[174,2],118],[[175,2],118],[[176,2],118],[[177,2],118],[[178,2],118],[[179,2],118],[[180,2],118],[[181,2],118],[[182,2],118],[[183,2],118],[[184,2],118],[[185,2],118],[[186,2],118],[[187,2],118],[[188,2],118],[[189,2],118],[[190,2],118],[[191,2],118],[[192,2],118],[[193,2],118],[[194,2],118],[[195,2],118],[[196,2],118],[[197,2],118],[[198,2],118],[[199,2],118],[[200,2],118],[[201,2],118],[[202,2],118],[[203,2],118],[[204,2],118],0,0,0,0,0,[[102,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,[[102,11],[[8,[12]]]],[[103,11],[[8,[12]]]],[[104,11],[[8,[12]]]],[[105,11],[[8,[12]]]],[[106,11],[[8,[12]]]],[[107,11],[[8,[12]]]],[[108,11],[[8,[12]]]],[[109,11],[[8,[12]]]],[[110,11],[[8,[12]]]],[[115,11],[[8,[12]]]],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,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,0,[117,[[101,[207]]]],[119,[[101,[207]]]],[120,[[101,[207]]]],[121,[[101,[207]]]],[122,[[101,[207]]]],[123,[[101,[207]]]],[124,[[101,[207]]]],[125,[[101,[207]]]],[126,[[101,[207]]]],[127,[[101,[207]]]],[128,[[101,[207]]]],[129,[[101,[207]]]],[130,[[101,[207]]]],[131,[[101,[207]]]],[132,[[101,[207]]]],[133,[[101,[207]]]],[134,[[101,[207]]]],[135,[[101,[207]]]],[111,[[101,[207]]]],[136,[[101,[207]]]],[137,[[101,[207]]]],[138,[[101,[207]]]],[139,[[101,[207]]]],[140,[[101,[207]]]],[141,[[101,[207]]]],[142,[[101,[207]]]],[143,[[101,[207]]]],[144,[[101,[207]]]],[145,[[101,[207]]]],[146,[[101,[207]]]],[147,[[101,[207]]]],[148,[[101,[207]]]],[149,[[101,[207]]]],[150,[[101,[207]]]],[151,[[101,[207]]]],[152,[[101,[207]]]],[153,[[101,[207]]]],[154,[[101,[207]]]],[155,[[101,[207]]]],[156,[[101,[207]]]],[157,[[101,[207]]]],[158,[[101,[207]]]],[159,[[101,[207]]]],[160,[[101,[207]]]],[161,[[101,[207]]]],[162,[[101,[207]]]],[163,[[101,[207]]]],[164,[[101,[207]]]],[165,[[101,[207]]]],[166,[[101,[207]]]],[167,[[101,[207]]]],[168,[[101,[207]]]],[169,[[101,[207]]]],[170,[[101,[207]]]],[171,[[101,[207]]]],[172,[[101,[207]]]],[173,[[101,[207]]]],[174,[[101,[207]]]],[175,[[101,[207]]]],[176,[[101,[207]]]],[177,[[101,[207]]]],[178,[[101,[207]]]],[179,[[101,[207]]]],[180,[[101,[207]]]],[181,[[101,[207]]]],[182,[[101,[207]]]],[183,[[101,[207]]]],[184,[[101,[207]]]],[185,[[101,[207]]]],[186,[[101,[207]]]],[187,[[101,[207]]]],[188,[[101,[207]]]],[189,[[101,[207]]]],[190,[[101,[207]]]],[191,[[101,[207]]]],[192,[[101,[207]]]],[193,[[101,[207]]]],[194,[[101,[207]]]],[195,[[101,[207]]]],[196,[[101,[207]]]],[197,[[101,[207]]]],[198,[[101,[207]]]],[199,[[101,[207]]]],[200,[[101,[207]]]],[201,[[101,[207]]]],[202,[[101,[207]]]],[203,[[101,[207]]]],[204,[[101,[207]]]],[[117,[4,[3]]],[[101,[100]]]],[[119,[4,[3]]],[[101,[100]]]],[[120,[4,[3]]],[[101,[100]]]],[[121,[4,[3]]],[[101,[100]]]],[[122,[4,[3]]],[[101,[100]]]],[[123,[4,[3]]],[[101,[100]]]],[[124,[4,[3]]],[[101,[100]]]],[[125,[4,[3]]],[[101,[100]]]],[[126,[4,[3]]],[[101,[100]]]],[[127,[4,[3]]],[[101,[100]]]],[[128,[4,[3]]],[[101,[100]]]],[[129,[4,[3]]],[[101,[100]]]],[[130,[4,[3]]],[[101,[100]]]],[[131,[4,[3]]],[[101,[100]]]],[[132,[4,[3]]],[[101,[100]]]],[[133,[4,[3]]],[[101,[100]]]],[[134,[4,[3]]],[[101,[100]]]],[[135,[4,[3]]],[[101,[100]]]],[[111,[4,[3]]],[[101,[100]]]],[[136,[4,[3]]],[[101,[100]]]],[[137,[4,[3]]],[[101,[100]]]],[[138,[4,[3]]],[[101,[100]]]],[[139,[4,[3]]],[[101,[100]]]],[[140,[4,[3]]],[[101,[100]]]],[[141,[4,[3]]],[[101,[100]]]],[[142,[4,[3]]],[[101,[100]]]],[[143,[4,[3]]],[[101,[100]]]],[[144,[4,[3]]],[[101,[100]]]],[[145,[4,[3]]],[[101,[100]]]],[[146,[4,[3]]],[[101,[100]]]],[[147,[4,[3]]],[[101,[100]]]],[[148,[4,[3]]],[[101,[100]]]],[[149,[4,[3]]],[[101,[100]]]],[[150,[4,[3]]],[[101,[100]]]],[[151,[4,[3]]],[[101,[100]]]],[[152,[4,[3]]],[[101,[100]]]],[[153,[4,[3]]],[[101,[100]]]],[[154,[4,[3]]],[[101,[100]]]],[[155,[4,[3]]],[[101,[100]]]],[[156,[4,[3]]],[[101,[100]]]],[[157,[4,[3]]],[[101,[100]]]],[[158,[4,[3]]],[[101,[100]]]],[[159,[4,[3]]],[[101,[100]]]],[[160,[4,[3]]],[[101,[100]]]],[[161,[4,[3]]],[[101,[100]]]],[[162,[4,[3]]],[[101,[100]]]],[[163,[4,[3]]],[[101,[100]]]],[[164,[4,[3]]],[[101,[100]]]],[[165,[4,[3]]],[[101,[100]]]],[[166,[4,[3]]],[[101,[100]]]],[[167,[4,[3]]],[[101,[100]]]],[[168,[4,[3]]],[[101,[100]]]],[[169,[4,[3]]],[[101,[100]]]],[[170,[4,[3]]],[[101,[100]]]],[[171,[4,[3]]],[[101,[100]]]],[[172,[4,[3]]],[[101,[100]]]],[[173,[4,[3]]],[[101,[100]]]],[[174,[4,[3]]],[[101,[100]]]],[[175,[4,[3]]],[[101,[100]]]],[[176,[4,[3]]],[[101,[100]]]],[[177,[4,[3]]],[[101,[100]]]],[[178,[4,[3]]],[[101,[100]]]],[[179,[4,[3]]],[[101,[100]]]],[[180,[4,[3]]],[[101,[100]]]],[[181,[4,[3]]],[[101,[100]]]],[[182,[4,[3]]],[[101,[100]]]],[[183,[4,[3]]],[[101,[100]]]],[[184,[4,[3]]],[[101,[100]]]],[[185,[4,[3]]],[[101,[100]]]],[[186,[4,[3]]],[[101,[100]]]],[[187,[4,[3]]],[[101,[100]]]],[[188,[4,[3]]],[[101,[100]]]],[[189,[4,[3]]],[[101,[100]]]],[[190,[4,[3]]],[[101,[100]]]],[[191,[4,[3]]],[[101,[100]]]],[[192,[4,[3]]],[[101,[100]]]],[[193,[4,[3]]],[[101,[100]]]],[[194,[4,[3]]],[[101,[100]]]],[[195,[4,[3]]],[[101,[100]]]],[[196,[4,[3]]],[[101,[100]]]],[[197,[4,[3]]],[[101,[100]]]],[[198,[4,[3]]],[[101,[100]]]],[[199,[4,[3]]],[[101,[100]]]],[[200,[4,[3]]],[[101,[100]]]],[[201,[4,[3]]],[[101,[100]]]],[[202,[4,[3]]],[[101,[100]]]],[[203,[4,[3]]],[[101,[100]]]],[[204,[4,[3]]],[[101,[100]]]],[106,208],[107,209],[104,[[118,[210]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,0,0,0,0,0,[127,[[113,[211]]]],[128,[[113,[211]]]],[111,[[113,[211]]]],[139,[[113,[211]]]],[166,[[113,[211]]]],[199,[[113,[211]]]],[204,[[113,[211]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[117]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[119]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[120]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[121]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[122]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[123]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[124]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[125]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[126]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[127]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[128]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[129]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[130]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[131]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[132]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[133]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[134]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[135]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[111]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[136]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[137]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[138]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[139]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[140]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[141]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[142]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[143]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[144]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[145]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[146]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[147]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[148]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[149]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[150]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[151]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[152]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[153]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[154]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[155]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[156]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[157]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[158]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[159]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[160]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[161]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[162]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[163]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[164]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[165]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[166]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[167]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[168]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[169]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[170]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[171]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[172]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[173]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[174]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[175]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[176]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[177]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[178]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[179]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[180]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[181]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[182]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[183]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[184]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[185]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[186]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[187]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[188]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[189]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[190]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[191]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[192]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[193]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[194]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[195]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[196]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[197]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[198]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[199]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[200]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[201]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[202]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[203]]]],[[2,[213,[212,116]],[214,[2]]],[[118,[204]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[103,[215,[103]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[104,[215,[104]]]]]],[[],8],[[],8],[116,[[8,[105,[215,[105]]]]]],[[],8],[116,[[8,[106,[215,[106]]]]]],[[],8],[116,[[8,[107,[215,[107]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[108,[215,[108]]]]]],[[],8],[[],8],[116,[[8,[109,[215,[109]]]]]],[[],8],[116,[[8,[110,[215,[110]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],[[8,[103,[215,[103]]]]]],[[],[[8,[104,[215,[104]]]]]],[[],[[8,[105,[215,[105]]]]]],[[],[[8,[106,[215,[106]]]]]],[[],[[8,[107,[215,[107]]]]]],[[],[[8,[108,[215,[108]]]]]],[[],[[8,[109,[215,[109]]]]]],[[],[[8,[110,[215,[110]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,0,0,0,0,0,0,0,[1],[1],0,[[]],[[]],[[]],[[]],[207,[[118,[216]]]],[[]],[207,[[118,[217]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[118,[[101,[216]]]]]],[[],[[118,[[101,[217]]]]]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[218,218],[219,219],[[]],[[]],[[]],[216],[217],[218],[219],0,0,0,[[]],[217],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],2],[216,2],[217,2],[218,2],[219,2],0,0,0,0,[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[222,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[222,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[224,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],[[118,[[0,[220,221]]]]]],[[],[[118,[[224,[[0,[220,221]]]]]]]],[[],[[8,[[0,[220,221]],223]]]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[2,225],219],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[216,2],[217,2],[218,2],[219,2],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[2,3],[[207,207,207,[101,[2]]],[[8,[226]]]],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,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,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[227,227],[[]],[228],[6],[6],[6],[227,229],0,0,[[227,205],206],[[227,205],[[8,[230]]]],[[]],[[],6],[[]],[229,3],[[],3],[[],4],[[]],[227,212],[[]],[[]],0,0,[[]],[[]],[[]],[[],212],[[],8],[[],8],[[],9],[[]],[[]],[[]],[231],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[232,[[101,[116]]]],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[232,12]]]],[114,[[8,[233,12]]]],[114,[[8,[234,12]]]],[114,[[8,[235,12]]]],[6],[6],[6],[6],0,[[233,205],206],[[234,205],206],[[235,205],206],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],0,[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[232,11],[[8,[12]]]],[[233,11],[[8,[12]]]],[[234,11],[[8,[12]]]],[[235,11],[[8,[12]]]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[1],[[236,237,238],118],0,0,0,[[239,240],238],[[241,240],238],[236],[[],[[118,[[101,[242]]]]]],[[[244,[243]]],[[118,[[101,[242]]]]]],[245,[[118,[[101,[242]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[2,6,242],118],[[[244,[243]],2,6,242],118],[[245,2,6,242],118],[[246,242,242],118],[[245,242,242],118],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[236,247,242],118],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[239,239],[240,240],[241,241],[248,248],[249,249],[250,250],[251,251],[252,252],[236,236],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[247,240,253,254],[[118,[238]]]],[[247,240,254],[[118,[238]]]],[[],248],[[],249],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[240,12]]]],[[114,116],[[8,[240,12]]]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[236,240],[[101,[248]]]],[[240,240],3],[[250,250],3],[[239,205],206],[[241,205],206],[[250,205],206],[[251,205],206],[[252,205],206],[[236,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[236,3],[236,3],0,0,[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[236,3],[[236,242],3],0,[[236,240],238],[[236,240]],[[236,240]],[[241,240,238],238],[[236,240],238],[[252,240],238],[236,3],[236,3],[236,3],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[245,246],[236,3],[236,238],[[239,240],238],[[241,240],238],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[236,255,237,238],[[118,[238]]]],[[236,256,238,257,238],[[118,[258]]]],0,[[236,255,237,238,237,238,238],[[118,[238]]]],[[236,255,237,238,237,238,238],[[118,[238]]]],[[236,255,237,238,237,238,238],[[118,[238]]]],0,0,[2,[[118,[245]]]],[[247,254],[[118,[[244,[216]]]]]],[[247,254,6],[[118,[[244,[216]]]]]],[[247,254],[[118,[[244,[216]]]]]],[[247,253,254],[[118,[236]]]],[[247,253,254],[[118,[236]]]],[238,239],[[2,[4,[254]]],[[118,[245]]]],[[6,2],[[118,[259]]]],[[[244,[243]],6,2],[[118,[259]]]],[[245,6,2],[[118,[259]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[236,256],[[118,[252]]]],[[2,6,256],118],[[[244,[243]],2,6,256],118],[[245,2,6,256],118],0,[[236,242],[[118,[238]]]],0,0,0,[[236,260,259,238,238],118],[[236,261,262],118],[[236,263,264,238,238],118],[236,118],[236,118],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[246,242],118],[[245,242],118],[[245,2],[[118,[259]]]],[[245,256],118],[[245,2],[[118,[265]]]],[[240,11],[[8,[12]]]],[[6,2],[[118,[265]]]],[[[244,[243]],6,2],[[118,[265]]]],[[245,6,2],[[118,[265]]]],0,0,[[238,238,238,238],[[118,[238]]]],[[238,238,238,238],[[118,[238]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[236,242],[[118,[241]]]],[[236,242],[[118,[6]]]],0,[[236,240,242],[[118,[238]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[252,240],238],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[238,[[4,[238]]]],[238,[[4,[238]]]],[[],258],[[],254],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,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,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,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,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[266,12]]]],[114,[[8,[267,12]]]],[114,[[8,[268,12]]]],[114,[[8,[269,12]]]],[114,[[8,[270,12]]]],[114,[[8,[271,12]]]],[114,[[8,[272,12]]]],[114,[[8,[273,12]]]],[114,[[8,[274,12]]]],[114,[[8,[275,12]]]],[114,[[8,[276,12]]]],[114,[[8,[277,12]]]],[114,[[8,[278,12]]]],[114,[[8,[279,12]]]],[114,[[8,[280,12]]]],[114,[[8,[281,12]]]],[114,[[8,[282,12]]]],[114,[[8,[283,12]]]],[114,[[8,[284,12]]]],[114,[[8,[285,12]]]],[114,[[8,[286,12]]]],[114,[[8,[287,12]]]],[114,[[8,[288,12]]]],[114,[[8,[289,12]]]],[114,[[8,[290,12]]]],[114,[[8,[291,12]]]],[114,[[8,[292,12]]]],[114,[[8,[293,12]]]],[114,[[8,[294,12]]]],[114,[[8,[295,12]]]],[114,[[8,[296,12]]]],[114,[[8,[297,12]]]],[114,[[8,[298,12]]]],[114,[[8,[299,12]]]],[114,[[8,[300,12]]]],[114,[[8,[301,12]]]],[114,[[8,[302,12]]]],[114,[[8,[303,12]]]],[114,[[8,[304,12]]]],[114,[[8,[305,12]]]],[114,[[8,[306,12]]]],[114,[[8,[307,12]]]],[114,[[8,[308,12]]]],[114,[[8,[309,12]]]],[114,[[8,[310,12]]]],[114,[[8,[311,12]]]],[114,[[8,[312,12]]]],[114,[[8,[313,12]]]],[114,[[8,[314,12]]]],[114,[[8,[315,12]]]],[114,[[8,[316,12]]]],[114,[[8,[317,12]]]],[114,[[8,[318,12]]]],[114,[[8,[319,12]]]],[114,[[8,[320,12]]]],[114,[[8,[321,12]]]],[114,[[8,[322,12]]]],[114,[[8,[323,12]]]],[114,[[8,[324,12]]]],[114,[[8,[325,12]]]],[114,[[8,[326,12]]]],[114,[[8,[327,12]]]],[114,[[8,[328,12]]]],[114,[[8,[329,12]]]],[114,[[8,[330,12]]]],[114,[[8,[331,12]]]],[114,[[8,[332,12]]]],[114,[[8,[333,12]]]],[114,[[8,[334,12]]]],[114,[[8,[335,12]]]],[114,[[8,[336,12]]]],[114,[[8,[337,12]]]],[114,[[8,[338,12]]]],[114,[[8,[339,12]]]],[114,[[8,[340,12]]]],[114,[[8,[341,12]]]],[114,[[8,[342,12]]]],[114,[[8,[343,12]]]],[114,[[8,[344,12]]]],[114,[[8,[345,12]]]],[114,[[8,[346,12]]]],[114,[[8,[347,12]]]],[114,[[8,[348,12]]]],[114,[[8,[349,12]]]],[114,[[8,[350,12]]]],[114,[[8,[351,12]]]],[114,[[8,[352,12]]]],[114,[[8,[353,12]]]],[114,[[8,[354,12]]]],[114,[[8,[355,12]]]],[114,[[8,[356,12]]]],[114,[[8,[357,12]]]],[114,[[8,[358,12]]]],[114,[[8,[359,12]]]],[114,[[8,[360,12]]]],[114,[[8,[361,12]]]],[114,[[8,[362,12]]]],[114,[[8,[363,12]]]],[114,[[8,[364,12]]]],[114,[[8,[365,12]]]],[114,[[8,[366,12]]]],[114,[[8,[367,12]]]],[114,[[8,[368,12]]]],[114,[[8,[369,12]]]],[114,[[8,[370,12]]]],0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],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,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],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,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,[[266,11],[[8,[12]]]],[[267,11],[[8,[12]]]],[[268,11],[[8,[12]]]],[[269,11],[[8,[12]]]],[[270,11],[[8,[12]]]],[[271,11],[[8,[12]]]],[[272,11],[[8,[12]]]],[[273,11],[[8,[12]]]],[[274,11],[[8,[12]]]],[[275,11],[[8,[12]]]],[[276,11],[[8,[12]]]],[[277,11],[[8,[12]]]],[[278,11],[[8,[12]]]],[[279,11],[[8,[12]]]],[[280,11],[[8,[12]]]],[[281,11],[[8,[12]]]],[[282,11],[[8,[12]]]],[[283,11],[[8,[12]]]],[[284,11],[[8,[12]]]],[[285,11],[[8,[12]]]],[[286,11],[[8,[12]]]],[[287,11],[[8,[12]]]],[[288,11],[[8,[12]]]],[[289,11],[[8,[12]]]],[[290,11],[[8,[12]]]],[[291,11],[[8,[12]]]],[[292,11],[[8,[12]]]],[[293,11],[[8,[12]]]],[[294,11],[[8,[12]]]],[[295,11],[[8,[12]]]],[[296,11],[[8,[12]]]],[[297,11],[[8,[12]]]],[[298,11],[[8,[12]]]],[[299,11],[[8,[12]]]],[[300,11],[[8,[12]]]],[[301,11],[[8,[12]]]],[[302,11],[[8,[12]]]],[[303,11],[[8,[12]]]],[[304,11],[[8,[12]]]],[[305,11],[[8,[12]]]],[[306,11],[[8,[12]]]],[[307,11],[[8,[12]]]],[[308,11],[[8,[12]]]],[[309,11],[[8,[12]]]],[[310,11],[[8,[12]]]],[[311,11],[[8,[12]]]],[[312,11],[[8,[12]]]],[[313,11],[[8,[12]]]],[[314,11],[[8,[12]]]],[[315,11],[[8,[12]]]],[[316,11],[[8,[12]]]],[[317,11],[[8,[12]]]],[[318,11],[[8,[12]]]],[[319,11],[[8,[12]]]],[[320,11],[[8,[12]]]],[[321,11],[[8,[12]]]],[[322,11],[[8,[12]]]],[[323,11],[[8,[12]]]],[[324,11],[[8,[12]]]],[[325,11],[[8,[12]]]],[[326,11],[[8,[12]]]],[[327,11],[[8,[12]]]],[[328,11],[[8,[12]]]],[[329,11],[[8,[12]]]],[[330,11],[[8,[12]]]],[[331,11],[[8,[12]]]],[[332,11],[[8,[12]]]],[[333,11],[[8,[12]]]],[[334,11],[[8,[12]]]],[[335,11],[[8,[12]]]],[[336,11],[[8,[12]]]],[[337,11],[[8,[12]]]],[[338,11],[[8,[12]]]],[[339,11],[[8,[12]]]],[[340,11],[[8,[12]]]],[[341,11],[[8,[12]]]],[[342,11],[[8,[12]]]],[[343,11],[[8,[12]]]],[[344,11],[[8,[12]]]],[[345,11],[[8,[12]]]],[[346,11],[[8,[12]]]],[[347,11],[[8,[12]]]],[[348,11],[[8,[12]]]],[[349,11],[[8,[12]]]],[[350,11],[[8,[12]]]],[[351,11],[[8,[12]]]],[[352,11],[[8,[12]]]],[[353,11],[[8,[12]]]],[[354,11],[[8,[12]]]],[[355,11],[[8,[12]]]],[[356,11],[[8,[12]]]],[[357,11],[[8,[12]]]],[[358,11],[[8,[12]]]],[[359,11],[[8,[12]]]],[[360,11],[[8,[12]]]],[[361,11],[[8,[12]]]],[[362,11],[[8,[12]]]],[[363,11],[[8,[12]]]],[[364,11],[[8,[12]]]],[[365,11],[[8,[12]]]],[[366,11],[[8,[12]]]],[[367,11],[[8,[12]]]],[[368,11],[[8,[12]]]],[[369,11],[[8,[12]]]],[[370,11],[[8,[12]]]],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,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,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,0,0,0,0,[1],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,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,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[371,371],[[]],0,0,0,0,0,0,0,0,0,[372,[[101,[116]]]],[373,[[101,[116]]]],[374,[[101,[116]]]],[375,[[101,[116]]]],[376,[[101,[116]]]],[377,[[101,[116]]]],[378,[[101,[116]]]],[379,[[101,[116]]]],[380,[[101,[116]]]],[381,[[101,[116]]]],[382,[[101,[116]]]],[383,[[101,[116]]]],[384,[[101,[116]]]],[385,[[101,[116]]]],[386,[[101,[116]]]],[387,[[101,[116]]]],[388,[[101,[116]]]],[389,[[101,[116]]]],[390,[[101,[116]]]],[391,[[101,[116]]]],[392,[[101,[116]]]],[393,[[101,[116]]]],[394,[[101,[116]]]],[395,[[101,[116]]]],[396,[[101,[116]]]],[397,[[101,[116]]]],[398,[[101,[116]]]],[399,[[101,[116]]]],[400,[[101,[116]]]],[401,[[101,[116]]]],[402,[[101,[116]]]],[403,[[101,[116]]]],[404,[[101,[116]]]],[405,[[101,[116]]]],[406,[[101,[116]]]],[407,[[101,[116]]]],[408,[[101,[116]]]],[409,[[101,[116]]]],[410,[[101,[116]]]],[411,[[101,[116]]]],[412,[[101,[116]]]],[413,[[101,[116]]]],[414,[[101,[116]]]],[415,[[101,[116]]]],[416,[[101,[116]]]],[417,[[101,[116]]]],[418,[[101,[116]]]],[419,[[101,[116]]]],[420,[[101,[116]]]],[421,[[101,[116]]]],[422,[[101,[116]]]],[423,[[101,[116]]]],[424,[[101,[116]]]],0,0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[372,12]]]],[114,[[8,[373,12]]]],[114,[[8,[425,12]]]],[114,[[8,[426,12]]]],[114,[[8,[427,12]]]],[114,[[8,[374,12]]]],[114,[[8,[375,12]]]],[114,[[8,[376,12]]]],[114,[[8,[377,12]]]],[114,[[8,[378,12]]]],[114,[[8,[379,12]]]],[114,[[8,[380,12]]]],[114,[[8,[381,12]]]],[114,[[8,[382,12]]]],[114,[[8,[383,12]]]],[114,[[8,[384,12]]]],[114,[[8,[385,12]]]],[114,[[8,[386,12]]]],[114,[[8,[387,12]]]],[114,[[8,[388,12]]]],[114,[[8,[389,12]]]],[114,[[8,[390,12]]]],[114,[[8,[391,12]]]],[114,[[8,[371,12]]]],[114,[[8,[392,12]]]],[114,[[8,[393,12]]]],[114,[[8,[394,12]]]],[114,[[8,[395,12]]]],[114,[[8,[396,12]]]],[114,[[8,[397,12]]]],[114,[[8,[398,12]]]],[114,[[8,[399,12]]]],[114,[[8,[400,12]]]],[114,[[8,[401,12]]]],[114,[[8,[402,12]]]],[114,[[8,[403,12]]]],[114,[[8,[404,12]]]],[114,[[8,[405,12]]]],[114,[[8,[406,12]]]],[114,[[8,[407,12]]]],[114,[[8,[408,12]]]],[114,[[8,[409,12]]]],[114,[[8,[410,12]]]],[114,[[8,[411,12]]]],[114,[[8,[412,12]]]],[114,[[8,[413,12]]]],[114,[[8,[414,12]]]],[114,[[8,[415,12]]]],[114,[[8,[416,12]]]],[114,[[8,[417,12]]]],[114,[[8,[418,12]]]],[114,[[8,[419,12]]]],[114,[[8,[420,12]]]],[114,[[8,[421,12]]]],[114,[[8,[422,12]]]],[114,[[8,[423,12]]]],[114,[[8,[424,12]]]],[[114,116],[[8,[371,12]]]],0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,[[2,2,261,262]],[428],0,0,0,[[371,371],3],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[371,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],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,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,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,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,0,0,0,[[372,11],[[8,[12]]]],[[373,11],[[8,[12]]]],[[425,11],[[8,[12]]]],[[426,11],[[8,[12]]]],[[427,11],[[8,[12]]]],[[374,11],[[8,[12]]]],[[375,11],[[8,[12]]]],[[376,11],[[8,[12]]]],[[377,11],[[8,[12]]]],[[378,11],[[8,[12]]]],[[379,11],[[8,[12]]]],[[380,11],[[8,[12]]]],[[381,11],[[8,[12]]]],[[382,11],[[8,[12]]]],[[383,11],[[8,[12]]]],[[384,11],[[8,[12]]]],[[385,11],[[8,[12]]]],[[386,11],[[8,[12]]]],[[387,11],[[8,[12]]]],[[388,11],[[8,[12]]]],[[389,11],[[8,[12]]]],[[390,11],[[8,[12]]]],[[391,11],[[8,[12]]]],[[371,11],[[8,[12]]]],[[392,11],[[8,[12]]]],[[393,11],[[8,[12]]]],[[394,11],[[8,[12]]]],[[395,11],[[8,[12]]]],[[396,11],[[8,[12]]]],[[397,11],[[8,[12]]]],[[398,11],[[8,[12]]]],[[399,11],[[8,[12]]]],[[400,11],[[8,[12]]]],[[401,11],[[8,[12]]]],[[402,11],[[8,[12]]]],[[403,11],[[8,[12]]]],[[404,11],[[8,[12]]]],[[405,11],[[8,[12]]]],[[406,11],[[8,[12]]]],[[407,11],[[8,[12]]]],[[408,11],[[8,[12]]]],[[409,11],[[8,[12]]]],[[410,11],[[8,[12]]]],[[411,11],[[8,[12]]]],[[412,11],[[8,[12]]]],[[413,11],[[8,[12]]]],[[414,11],[[8,[12]]]],[[415,11],[[8,[12]]]],[[416,11],[[8,[12]]]],[[417,11],[[8,[12]]]],[[418,11],[[8,[12]]]],[[419,11],[[8,[12]]]],[[420,11],[[8,[12]]]],[[421,11],[[8,[12]]]],[[422,11],[[8,[12]]]],[[423,11],[[8,[12]]]],[[424,11],[[8,[12]]]],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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[429,[117]],254],118],[[[429,[119]],3],118],[[[429,[120]],229,116,116,116,116,212],118],[[[429,[121]],229,116,116,116,116,116,212],118],[[[429,[122]],229,116,116,116,116,116,116,212],118],[[[429,[123]],[4,[212]],[4,[2]],[4,[2]],[4,[254]]],118],[[[429,[124]],116,116,116,116],118],[[[429,[124]],116,116,116,116,116],118],[[[429,[124]],116,116,116,116,116,116],118],[[[429,[125]]],118],[[[429,[126]],3],118],[[[429,[127]]],118],[[[429,[128]]],118],[[[429,[129]],116,[101,[2]]],118],[[[429,[130]],116],118],[[[429,[131]]],118],[[[429,[132]]],118],[[[429,[133]],[101,[254]]],118],[[[429,[135]],102],118],[[[429,[135]],116,102],118],[[[429,[134]],254],118],[[[429,[111]]],118],[[[429,[136]]],118],[[[429,[137]],229,116,116],118],[[[429,[138]],[4,[2]],[4,[2]],[4,[2]],[4,[116]],[4,[116]],[4,[254]],[4,[3]],[4,[430]],[4,[2]],[4,[242]],[4,[254]],[4,[431]],[4,[254]]],118],[[[429,[139]],254],118],[[[429,[140]],432,103],118],[[[429,[141]]],118],[[[429,[142]]],118],[[[429,[143]],433],118],[[[429,[199]],238],118],[[[429,[200]],242,242,238],118],[[[429,[144]],116,[4,[107]]],118],[[[429,[144]],107,433],118],[[[429,[144]],107,254],118],[[[429,[145]]],118],[[[429,[146]]],118],[[[429,[147]]],118],[[[429,[148]],[4,[3]],[4,[3]],[4,[212]],[4,[430]]],118],[[[429,[149]],116],118],[[[429,[150]],107,258,258,258,254,104,106,3,254,116],118],[[[429,[151]],434,212,430],118],[[[429,[152]],3],118],[[[429,[153]],116],118],[[[429,[154]],[4,[257]],116],118],[[[429,[155]],433],118],[[[429,[156]],254],118],[[[429,[157]]],118],[[[429,[158]],6],118],[[[429,[159]],256,212,435,116,258,258,430,430,430,430,430,430,430,430,430,430,430,258,3,430,430,430,430,242,430,254,430,430],118],[[[429,[160]]],118],[[[429,[161]],[4,[2]],[4,[435]],[4,[116]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[258]],[4,[3]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[229]],[4,[430]],[4,[430]],[4,[430]],[4,[254]],[4,[3]],3,[4,[430]],[4,[212]],[4,[3]],[4,[430]]],118],[[[429,[162]]],118],[[[429,[163]],258,254],118],[[[429,[164]],116],118],[[[429,[165]],254],118],[[[429,[166]],254],118],[[[429,[167]],257,258,258,258,254,436,3,254,116],[[118,[[4,[433]]]]]],[[[429,[167]],257,258,258,258,258,254,436,3,254,116,437],[[118,[[4,[433]]]]]],[[[429,[167]],257,258,258,258,258,254,436,438,3,254,116,437],[[118,[[4,[433]]]]]],[[[429,[167]],257,258,258,258,254,436,438,3,254,116],[[118,[[4,[433]]]]]],[[[429,[168]],254],118],[[[429,[169]]],118],[[[429,[170]]],118],[[[429,[171]],116],118],[[[429,[172]],116],118],[[[429,[173]],110,433],118],[[[429,[173]],254],118],[[[429,[174]]],118],[[[429,[175]]],118],[[[429,[176]]],118],[[[429,[177]],[4,[3]],[4,[3]],[4,[212]],[4,[430]]],118],[[[429,[178]],116],118],[[[429,[179]],110,254,254,254,108,109,254,431],118],[[[429,[179]],110,254,254,254,108,109,254,431],118],[[[429,[180]],439,212,430],118],[[[429,[181]]],118],[[[429,[183]],3],118],[[[429,[184]]],118],[[[429,[185]],238],118],[[[429,[186]],238],118],[[[429,[186]],238,254,238],118],[[[429,[187]],242,229],118],[[[429,[188]]],118],[[[429,[189]],116,254],118],[[[429,[190]],254,254,254,432,432,432,3,3],118],[[[429,[190]],254,254,254,432,432,3,3,440,254,254],118],[[[429,[190]],254,254,254,432,432,432,3,3,440,441,254],118],[[[429,[190]],254,254,254,432,432,432,3,3,440,441],118],[[[429,[191]],116,254],118],[[[429,[192]],116,254,254,254],118],[[[429,[192]],116,254,254,254,254,430],118],[[[429,[194]],254,3],118],[[[429,[193]],254,3],118],[[[429,[195]]],118],[[[429,[196]],[4,[2]],[4,[435]],[4,[3]],[4,[115]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[229]],[4,[430]],[4,[430]],[4,[432]],[4,[258]],[4,[254]],[4,[432]],[4,[432]],3,3,[4,[116]],[4,[212]],[4,[3]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[430]],[4,[254]],[4,[254]],[4,[430]],[4,[430]],3,3,[4,[254]],[4,[430]],[4,[430]],[4,[3]],[4,[430]],[4,[3]]],118],[[[429,[197]],242,242,254],118],[[[429,[198]]],118],[[[429,[199]],238],118],[[[429,[200]],242,242,238],118],[[[429,[201]],242,212,435,115,430,430,430,430,430,430,430,229,430,430,432,254,258,432,432,116,430,430,430,430,430,3,254,430,430,3,430],118],[[[429,[202]],242,212],118],[[[429,[203]]],118],[[[429,[203]]],118],[[[429,[204]],254,3],118],0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[442,442],[[]],[6],[6],[6],[[]],[[],2],[[],6],[[]],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],9],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[1],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[443,444],118],[[445,444],118],[[446,444],118],[[447,444,448],118],[[449,444,116],118],[[449,444,450],118],[[449,444,254],118],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[451,451],[[]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[264,205],206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[265,264],[[259,254,254],264],[[],3],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],3],[[452,207],[[118,[[224,[453]]]]]],[[452,207],[[118,[[224,[453]]]]]],[[207,2],[[118,[[222,[452]]]]]],[454,[[118,[265]]]],[[],[[118,[265]]]],[207,[[118,[[222,[265]]]]]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],[[],254],[264,254],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],2],0,0,0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],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,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,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,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,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,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,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,[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],0,0,0,0,0,[455,6],[[456,254]],0,[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,257,461,462],118],[[261,257,258,258]],0,[[261,257,258]],0,0,[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[[[458,[[457,[455]],[457,[456]],457]]],459],[463,3],0,[463,3],0,0,[237,3],[[261,262,238],238],[237,3],[237,3],[464,[[4,[465]]]],[464,[[4,[465]]]],[464,[[4,[462]]]],[464,[[4,[462]]]],[465,464],[462,464],0,0,0,[[261,262]],[[261,262],432],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[466],0,0,0,0,0,0,0,[261,258],0,[[261,262],238],[[467,257]],0,0,0,0,[[[458,[[457,[455]],[457,[456]],457]]],3],[456,3],0,[[468,254,258],[[4,[258]]]],0,0,0,0,[[469,257],468],[[469,257],468],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[458,[[457,[455]],[457,[456]],457]]],247],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]]],470],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[261,262],432],0,0,0,0,0,0,0,0,0,0,0,[444,3],0,[456,254],0,0,0,0,0,0,0,0,0,[[469,470,2,262,116,[4,[257]]],118],[[469,470,433,471,[4,[2]]],[[118,[462]]]],[[469,470,2,6,256],118],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[237,472,238,254],[[118,[473]]]],[[237,472,238,254],[[118,[3]]]],[[474,475],118],[[474,475,[4,[254]]],118],[237,118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236,238],[[118,[238]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],238,238],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],238],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236],[[118,[238]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236,238],118],[243,118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],236],[[118,[476]]]],[[237,238],118],[[455,455],118],[[474,475,254],118],[[463,432,254],118],[[463,432,254],118],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[237,472,238,472,238,254,238],[[118,[477]]]],0,0,[478],0,0,0,[237,237],[[[458,[479,479,479]]],[[458,[479,479,479]]]],[444,444],[480,480],[481,481],[456,456],[455,455],[472,472],[263,263],[260,260],[261,261],[478,478],[466,466],[482,482],[483,483],[475,475],[484,484],[485,485],[461,461],[468,468],[486,486],[465,465],[462,462],[487,487],[464,464],[436,436],[488,488],[438,438],[257,257],[471,471],[489,489],[490,490],[491,491],[492,492],[493,493],[494,494],[495,495],[467,467],[496,496],[262,262],[497,497],[498,498],[499,499],[440,440],[441,441],[500,500],[463,463],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[247,245],[[118,[233]]]],[[237,238,238,238],118],[[237,238],238],[[237,238,238,254],238],[[262,238,238,238,238,238],[[118,[238]]]],0,0,[[],6],[493,6],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],434],[[118,[260]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],439],[[118,[263]]]],0,0,0,0,0,0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],434],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,242],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,242,2],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],439],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6,2]],[254],[[493,254]],[472],[[],472],[[],263],[[],260],[[],261],[[],478],[[],435],[[],438],[[],499],[[],463],[[],481],[[],262],0,0,0,[[499,254],116],0,0,0,0,[[237,472,238,254],[[118,[3]]]],0,[[237,472,238,3,254],[[118,[3]]]],[[237,472,238,3,254],[[118,[3]]]],0,0,0,[[237,472,238,254],[[118,[3]]]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[114,[[8,[481,12]]]],[114,[[8,[472,12]]]],[114,[[8,[263,12]]]],[114,[[8,[260,12]]]],[114,[[8,[261,12]]]],[114,[[8,[478,12]]]],[114,[[8,[475,12]]]],[114,[[8,[435,12]]]],[114,[[8,[484,12]]]],[114,[[8,[461,12]]]],[114,[[8,[465,12]]]],[114,[[8,[462,12]]]],[114,[[8,[436,12]]]],[114,[[8,[488,12]]]],[114,[[8,[438,12]]]],[114,[[8,[257,12]]]],[114,[[8,[471,12]]]],[114,[[8,[489,12]]]],[114,[[8,[467,12]]]],[114,[[8,[496,12]]]],[114,[[8,[440,12]]]],[114,[[8,[441,12]]]],[114,[[8,[500,12]]]],[114,[[8,[463,12]]]],[[114,116],[[8,[484,12]]]],[[114,116],[[8,[461,12]]]],[[114,116],[[8,[436,12]]]],[[114,116],[[8,[488,12]]]],[[114,116],[[8,[438,12]]]],[[114,116],[[8,[257,12]]]],[[114,116],[[8,[471,12]]]],[[114,116],[[8,[489,12]]]],[[114,116],[[8,[440,12]]]],[[114,116],[[8,[441,12]]]],[[114,116],[[8,[500,12]]]],[243,[[118,[484]]]],0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[237,472,254],[[118,[3]]]],0,[[116,116,116,116,116],6],[[116,116,116],6],[[116,116],6],[[116,116,116,116,116,116],6],[116,6],[[116,116,116,116,116,116],6],[[116,116,116,116],6],[[],6],[465,254],[464,254],[261,258],[466,3],[262,3],[237,118],[237,118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,242],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],242],118],[[476,476],3],[[481,481],3],[[472,472],3],[[263,263],3],[[260,260],3],[[261,261],3],[[478,478],3],[[475,475],3],[[484,484],3],[[461,461],3],[[486,486],3],[[462,462],3],[[436,436],3],[[488,488],3],[[438,438],3],[[257,257],3],[[471,471],3],[[489,489],3],[[495,495],3],[[440,440],3],[[441,441],3],[[500,500],3],[[463,463],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],0,0,0,0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,262,467,444],[[118,[238]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,257,6,258,433],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256,262,467],[[118,[238]]]],[455,6],[[456,254,254]],[462,254],0,0,0,0,[[[501,[243]],116],[[118,[474]]]],0,0,0,0,0,0,0,0,[[491,490],4],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]]],[[4,[261]]]],[[491,490],4],[466,2],[466,2],0,[258,[[118,[254]]]],[254,258],0,0,0,[[237,205],206],[[444,205],206],[[480,205],206],[[481,205],206],[[455,205],206],[[472,205],206],[[263,205],206],[[260,205],206],[[261,205],206],[[478,205],206],[[466,205],206],[[482,205],206],[[483,205],206],[[475,205],206],[[435,205],206],[[461,205],206],[[462,205],206],[[436,205],206],[[488,205],206],[[438,205],206],[[257,205],206],[[471,205],206],[[489,205],206],[[494,205],206],[[467,205],206],[[496,205],206],[[262,205],206],[[497,205],206],[[498,205],206],[[499,205],206],[[463,205],206],0,0,0,0,0,0,0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]]],[[118,[463]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],118],[[],[[118,[255]]]],[[],[[118,[502]]]],[[],[[118,[[458,[455,456]]]]]],[[],[[118,[[458,[455,456,[101,[116,503]]]]]]]],[[],[[118,[455]]]],[[237,2,229,116],237],[[257,254,254,462],496],[243,[[501,[243]]]],0,0,[492,3],0,[[262,257,254],433],[504,238],[[[0,[243,505]],116],[[118,[474]]]],[504,[[118,[2]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[473,3],[477,3],[261,3],[261,3],[261,3],[504,3],[[],6],[493,6],0,0,[[[458,[[457,[455]],[457,[456]],457]]],116],0,0,0,0,0,0,0,0,0,[[468,258,254,258],[[4,[258]]]],0,0,0,[[]],[493],[472],0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[469],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,[[],118],[[],118],[[468,461,462],118],[[491,490,462],118],[[262,257,238,238],3],0,0,0,0,[[238,238,238,238,238,238,238,432],238],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[257,257],[472,3],[263,3],[260,3],[261,3],[478,3],[[263,439],3],[[260,434],3],[[261,256],3],[[478,256],3],[[472,242],3],[463,3],0,[[456,2],3],[492,3],[[462,254],3],[[463,254],3],[237,3],[482,3],[262,3],[497,3],[237,3],[468,3],[491,3],[456,3],[472,3],[504,3],[[444,480],3],[456,3],[[456,2],3],[506,3],[[257,258,258],3],[[257,254,254],3],[[257,258,258],3],[482,3],[262,3],[497,3],[[463,432,254],3],[463,3],[444,3],[[463,432,254],3],[507,3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[491,490],508],[492,459],[[468,254,258],509],[[468,254,258],459],0,[464,[[4,[433]]]],0,0,0,0,0,0,0,0,0,0,0,[492,6],0,[[],[[118,[510]]]],[[],[[118,[511]]]],[[],[[118,[511]]]],[243,[[118,[504]]]],[243,[[118,[504]]]],0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[262,258],238],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[237,254]],0,0,[[463,238],254],0,0,0,0,[467,3],0,[[463,432],432],0,0,0,0,0,0,0,0,0,0,0,0,0,[[468,258,254,258],[[4,[258]]]],[[468,258,254,258],[[4,[258]]]],0,0,[[463,238,237],254],0,[[],6],[[491,490],4],0,0,0,[[463,238,237],254],0,0,0,[[456,238],3],0,[[491,490],4],0,0,0,0,0,0,[444,3],[[]],[237,512],[456,512],[482,512],[262,512],[497,512],0,0,0,0,0,0,[[472,237],238],[237,238],[237,238],[[262,238],258],[506,3],0,0,0,0,0,[[468,254,258],509],[[491,490],508],[[229,433],465],[[116,433,2,258,254,488,431,258,254],462],[[257,461],471],[[257,3,116,254,254,2,433,254,238,254,2,254,238,258,258],467],[[257,116,254,254,2,258,433],496],[[257,254,254],433],[[469,506,262,492,238,470,2,254,116],[[8,[[4,[433]],223]]]],[509,4],[508,4],0,0,[[468,513],[[4,[464]]]],[490,[[4,[513]]]],[[491,513],[[4,[464]]]],0,0,[[468,513],[[4,[464]]]],[[491,513],[[4,[464]]]],0,0,[466,6],0,0,0,0,0,[455,6],0,0,0,0,[[[458,[[457,[455]],[457,[456]],457]],434],[[118,[260]]]],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[260]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],434],[[118,[260]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],260],0,0,0,0,0,0,0,[[512,474,475,[4,[254]]],212],[258,254],[254,258],[[237,[501,[243]],[4,[254]]],[[118,[238]]]],[[262,[501,[243]],[4,[254]]],[[118,[238]]]],[482,430],[497,430],0,0,[[262,[501,[243]],[4,[254]]],[[118,[474]]]],[[[501,[243]],116],[[118,[474]]]],0,0,0,[471,461],0,[491,489],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],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,0,0,0,0,0,[[463,254],3],[456,514],[508,4],[492,[[4,[494]]]],[492,[[4,[494]]]],[506,258],0,[455,6],0,[[[458,[[457,[455]],[457,[456]],457]],256,254],4],[[[458,[[457,[455]],[457,[456]],457]],256,433],4],0,[[[458,[[457,[455]],[457,[456]],457]]],[[118,[6]]]],[[455,6],6],[455,6],0,0,[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[478]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],478],[[[458,[[457,[455]],[457,[456]],457]],256],[[118,[261]]]],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[261]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],256],[[118,[261]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],261],0,0,0,0,[444,3],0,0,[492,[[118,[494]]]],0,0,[506,[[4,[461]]]],0,0,0,0,0,0,[515,238],0,[[463,432,254],432],0,[[506,254,258,469],118],0,0,0,[462,254],0,0,0,0,[516,517],[516,517],[[492,494],[[8,[494]]]],0,0,0,0,0,0,[[468,258,254,258],258],0,0,0,0,[261,238],0,0,[[504,[501,[243]]],[[118,[474]]]],0,0,0,0,[[257,4,4,3,254,258],[[4,[507]]]],0,0,0,0,[[261,238,258,258]],[[261,238]],[[261,238,262]],[[261,262,258,238],238],[[261,238]],0,[[456,254]],0,0,0,0,0,0,0,0,0,[463,254],[237,238],[[237,238],238],[463,254],[[468,461,433],[[4,[462]]]],[[491,490,433],[[4,[462]]]],[[468,461,254],[[4,[462]]]],[[491,490,254],[[4,[462]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6,258],118],[[261,258,258]],[[468,254,258],4],[[491,490],[[4,[462]]]],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,[[499,432,254]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],116,116,116,116,116,116],118],[[492,6],118],[[468,461],490],[[468,461],490],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[237,238],238],[[237,238],238],0,0,0,0,0,0,0,0,0,[[481,11],[[8,[12]]]],[[472,11],[[8,[12]]]],[[263,11],[[8,[12]]]],[[260,11],[[8,[12]]]],[[261,11],[[8,[12]]]],[[478,11],[[8,[12]]]],[[475,11],[[8,[12]]]],[[435,11],[[8,[12]]]],[[484,11],[[8,[12]]]],[[461,11],[[8,[12]]]],[[465,11],[[8,[12]]]],[[462,11],[[8,[12]]]],[[436,11],[[8,[12]]]],[[488,11],[[8,[12]]]],[[438,11],[[8,[12]]]],[[257,11],[[8,[12]]]],[[471,11],[[8,[12]]]],[[489,11],[[8,[12]]]],[[467,11],[[8,[12]]]],[[496,11],[[8,[12]]]],[[440,11],[[8,[12]]]],[[441,11],[[8,[12]]]],[[500,11],[[8,[12]]]],[[463,11],[[8,[12]]]],0,[455,6],0,[[455,6],6],[[[458,[[457,[455]],[457,[456]],457]],439],[[118,[263]]]],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[263]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],439],[[118,[263]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],263],[444,3],0,0,0,0,[[456,3]],[229],[[493,229]],[[262,3]],[229],[[493,229]],[[456,3]],[[463,3]],0,0,0,[[261,262]],[[261,262]],[262,238],0,0,0,0,0,0,0,[508,257],[468,257],[471,257],[489,257],[496,257],0,0,[478,471],0,[514],[[262,238],[[118,[238]]]],0,0,0,0,[[116,116,116,116,116,116],6],0,0,[237,238],[262,238],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[463,238],254],0,0,0,[[463,432],432],0,[467,257],0,0,0,[463,500],0,0,0,0,0,0,[254,[[4,[431]]]],0,0,0,0,0,[435,475],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[436,[[118,[488]]]],[[[458,[[457,[455]],[457,[456]],457]],254],118],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[463]]]],[455,6],0,[[[458,[[457,[455]],[457,[456]],457]]],[[118,[6]]]],0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],[[118,[463]]]],0,0,[455,6],0,[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],237,254,2],118],0,0,0,0,0,[[455,6],6],[[[458,[[457,[455]],[457,[456]],457]],242],[[118,[472]]]],[[[458,[[457,[455]],[457,[456]],457]],242],118],[[[458,[[457,[455]],[457,[456]],457]],6],[[118,[472]]]],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],242],118],[[[458,[[0,[[460,[455]],[457,[455]]]],[0,[[460,[456]],[457,[456]]]],[0,[460,457]]]],6],472],0,[[],[[118,[237]]]],[[],[[118,[444]]]],[[],[[118,[481]]]],[[],[[118,[466]]]],[[],[[118,[482]]]],[[],[[118,[483]]]],[[],[[118,[485]]]],[[],[[118,[468]]]],[[],[[118,[492]]]],[[],[[118,[262]]]],[[],[[118,[497]]]],[[],[[118,[498]]]],[[],[[118,[237]]]],[[],[[118,[444]]]],[[],[[118,[481]]]],[[],[[118,[466]]]],[[],[[118,[482]]]],[[],[[118,[483]]]],[[],[[118,[485]]]],[[],[[118,[468]]]],[[],[[118,[492]]]],[[],[[118,[262]]]],[[],[[118,[497]]]],[[],[[118,[498]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[461,[215,[461]]]]]],[[],8],[[],8],[[],8],[116,[[8,[518,[215,[518]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[436,[215,[436]]]]]],[116,[[8,[488,[215,[488]]]]]],[[],8],[116,[[8,[438,[215,[438]]]]]],[[],8],[[],8],[116,[[8,[257,[215,[257]]]]]],[[],8],[116,[[8,[471,[215,[471]]]]]],[[],8],[116,[[8,[489,[215,[489]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[116,[[8,[495,[215,[495]]]]]],[[],8],[494,[[118,[467]]]],[[],8],[494,[[118,[467]]]],[[],8],[494,[[118,[496]]]],[494,[[118,[496]]]],[[],8],[[],8],[[],8],[[],8],[116,[[8,[440,[215,[440]]]]]],[[],8],[116,[[8,[441,[215,[441]]]]]],[[],8],[116,[[8,[500,[215,[500]]]]]],[[],8],[[],8],[[],[[8,[461,[215,[461]]]]]],[[],[[8,[518,[215,[518]]]]]],[[],[[8,[436,[215,[436]]]]]],[[],[[8,[488,[215,[488]]]]]],[[],[[8,[438,[215,[438]]]]]],[[],[[8,[257,[215,[257]]]]]],[[],[[8,[471,[215,[471]]]]]],[[],[[8,[489,[215,[489]]]]]],[[],[[8,[495,[215,[495]]]]]],[[],[[8,[440,[215,[440]]]]]],[[],[[8,[441,[215,[441]]]]]],[[],[[8,[500,[215,[500]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[481,11],118],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[472,237],238],[[261,262],238],[[261,262,238],[[118,[238]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[499,254,432]],[[237,472,238]],[[262,469,474,254],118],[237],[[237,238,254]],[[491,254,254]],[[237,254,254]],[[237,254,254]],[[261,262,254]],0,0,0,0,0,0,[237,118],[466,118],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[237,472,238,254],[[118,[473]]]],[[237,472,238,254],[[118,[473]]]],[[237,472,238,254],[[118,[3]]]],[[237,472,238,254],[[118,[3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],455],0,0,0,0,0,0,0,0,0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],519],[[],520],[[],521],[[],522],[6],[6],[6],[6],[6],[6],[6],[6],[114,[[8,[519,12]]]],[114,[[8,[520,12]]]],[114,[[8,[521,12]]]],[114,[[8,[522,12]]]],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[519,11],[[8,[12]]]],[[520,11],[[8,[12]]]],[[521,11],[[8,[12]]]],[[522,11],[[8,[12]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[512,118],[205,[[8,[230]]]]],"c":[],"p":[[3,"Private"],[3,"Pubkey"],[15,"bool"],[4,"Option"],[3,"Mango"],[15,"usize"],[6,"ProgramResult"],[4,"Result"],[3,"TypeId"],[3,"AccountBuybackFeesWithMngo"],[8,"Write"],[3,"Error"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountCreateV2"],[3,"AccountCreateV3"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountSizeMigration"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanSwapBegin"],[3,"FlashLoanEnd"],[3,"GroupChangeInsuranceFund"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthCheck"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"SequenceCheck"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenChargeCollateralFees"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapStart"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenForceWithdraw"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"AccountMeta"],[3,"Vec"],[4,"FlashLoanType"],[4,"HealthCheckKind"],[4,"OpenbookV2PlaceOrderType"],[4,"OpenbookV2PostOrderType"],[4,"OpenbookV2SelfTradeBehavior"],[4,"OpenbookV2Side"],[4,"Serum3SelfTradeBehavior"],[4,"Serum3OrderType"],[4,"Serum3Side"],[3,"GroupChangeInsuranceFund"],[3,"CloseAccount"],[3,"CpiContext"],[8,"Read"],[3,"InterestRateParams"],[15,"u8"],[3,"AccountBuybackFeesWithMngo"],[6,"Result"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountCreateV2"],[3,"AccountCreateV3"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountSizeMigration"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanSwapBegin"],[3,"FlashLoanEnd"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthCheck"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"SequenceCheck"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenChargeCollateralFees"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapStart"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenForceWithdraw"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"Formatter"],[6,"Result"],[3,"AccountInfo"],[4,"SelfTradeBehavior"],[4,"Side"],[4,"PostOrderType"],[3,"Transfer"],[3,"String"],[3,"BTreeMap"],[3,"BTreeSet"],[3,"TryFromPrimitiveError"],[3,"AccountInfoRef"],[3,"AccountInfoRefMut"],[3,"KeyedAccount"],[3,"KeyedAccountSharedData"],[8,"ZeroCopy"],[8,"Owner"],[3,"Ref"],[4,"Error"],[3,"RefMut"],[3,"AccountSharedData"],[4,"ProgramError"],[4,"MangoError"],[8,"Display"],[15,"u32"],[3,"Error"],[8,"FnOnce"],[3,"MangoAccountData"],[3,"Equity"],[3,"TokenEquity"],[3,"PerpEquity"],[3,"HealthCache"],[3,"Bank"],[6,"I80F48"],[3,"Prices"],[4,"HealthType"],[3,"TokenInfo"],[6,"TokenIndex"],[8,"KeyedAccountReader"],[3,"FixedOrderAccountRetriever"],[3,"ScanningAccountRetriever"],[3,"ScannedBanksAndOracles"],[6,"MangoAccountRef"],[3,"TokenBalance"],[3,"TokenMaxReserved"],[4,"SpotMarketIndex"],[3,"SpotInfo"],[3,"PerpInfo"],[8,"AccountRetriever"],[15,"u64"],[6,"MangoAccountValue"],[6,"PerpMarketIndex"],[4,"Side"],[15,"i64"],[3,"OpenOrdersAccount"],[3,"OpenbookV2Orders"],[3,"PerpPosition"],[3,"PerpMarket"],[3,"Serum3Orders"],[3,"OpenOrdersSlim"],[3,"OpenOrders"],[3,"Benchmark"],[3,"OpenbookV2CancelAllOrders"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2SettleFunds"],[3,"OpenbookV2CancelOrderByClientOrderId"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2RegisterMarket"],[3,"ComputeAccountData"],[3,"AltExtend"],[3,"AltSet"],[3,"TokenChargeCollateralFees"],[3,"TokenConditionalSwapStart"],[3,"TokenConditionalSwapTriggerV2"],[3,"TokenConditionalSwapTrigger"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreateLinearAuction"],[3,"TokenConditionalSwapCreatePremiumAuction"],[3,"TokenConditionalSwapCreateV2"],[3,"TokenConditionalSwapCreate"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpSettleFees"],[3,"PerpForceClosePosition"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"PerpConsumeEvents"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelAllOrders"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCancelOrder"],[3,"PerpPlaceOrderPeggedV2"],[3,"PerpPlaceOrderPegged"],[3,"PerpPlaceOrderV2"],[3,"PerpPlaceOrder"],[3,"PerpDeactivatePosition"],[3,"PerpCloseMarket"],[3,"PerpEditMarket"],[3,"PerpCreateMarket"],[3,"TokenForceWithdraw"],[3,"TokenLiqBankruptcy"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqWithToken"],[3,"LiqTokenBankruptcy"],[3,"LiqTokenWithToken"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3SettleFundsV2"],[3,"Serum3SettleFunds"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrderByClientOrderId"],[3,"Serum3CancelOrder"],[3,"Serum3PlaceOrderV2"],[3,"Serum3PlaceOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3RegisterMarket"],[3,"HealthRegionEnd"],[3,"HealthRegionBegin"],[3,"FlashLoanEndV2"],[3,"FlashLoanEnd"],[3,"FlashLoanSwapBegin"],[3,"FlashLoanBegin"],[3,"TokenWithdraw"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"StubOracleSetTest"],[3,"StubOracleSet"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"HealthCheck"],[3,"SequenceCheck"],[3,"AccountBuybackFeesWithMngo"],[3,"AccountClose"],[3,"AccountToggleFreeze"],[3,"AccountEdit"],[3,"AccountSizeMigration"],[3,"AccountExpandV3"],[3,"AccountExpandV2"],[3,"AccountExpand"],[3,"AccountCreateV3"],[3,"AccountCreateV2"],[3,"AccountCreate"],[3,"TokenUpdateIndexAndRateResilient"],[3,"TokenUpdateIndexAndRate"],[3,"TokenDeregister"],[3,"TokenAddBank"],[3,"TokenEdit"],[3,"TokenRegisterTrustless"],[3,"TokenRegister"],[3,"GroupClose"],[3,"IxGateSet"],[3,"GroupChangeInsuranceFund"],[3,"GroupWithdrawInsuranceFund"],[3,"GroupEdit"],[3,"GroupCreate"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[4,"LoanOriginationFeeInstruction"],[3,"PerpBalanceLog"],[3,"TokenBalanceLog"],[3,"FlashLoanLog"],[3,"FlashLoanLogV2"],[3,"FlashLoanLogV3"],[3,"WithdrawLog"],[3,"DepositLog"],[3,"FillLog"],[3,"FillLogV2"],[3,"FillLogV3"],[3,"PerpUpdateFundingLog"],[3,"PerpUpdateFundingLogV2"],[3,"UpdateIndexLog"],[3,"UpdateRateLog"],[3,"UpdateRateLogV2"],[3,"TokenLiqWithTokenLog"],[3,"TokenLiqWithTokenLogV2"],[3,"Serum3OpenOrdersBalanceLog"],[3,"Serum3OpenOrdersBalanceLogV2"],[3,"OpenbookV2OpenOrdersBalanceLog"],[3,"WithdrawLoanOriginationFeeLog"],[3,"WithdrawLoanLog"],[3,"TokenLiqBankruptcyLog"],[3,"DeactivateTokenPositionLog"],[3,"DeactivatePerpPositionLog"],[3,"TokenMetaDataLog"],[3,"TokenMetaDataLogV2"],[3,"PerpMarketMetaDataLog"],[3,"Serum3RegisterMarketLog"],[3,"OpenbookV2RegisterMarketLog"],[3,"PerpLiqBaseOrPositivePnlLog"],[3,"PerpLiqBaseOrPositivePnlLogV2"],[3,"PerpLiqBaseOrPositivePnlLogV3"],[3,"PerpLiqBankruptcyLog"],[3,"PerpLiqNegativePnlOrBankruptcyLog"],[3,"PerpSettlePnlLog"],[3,"PerpSettleFeesLog"],[3,"AccountBuybackFeesWithMngoLog"],[3,"FilledPerpOrderLog"],[3,"PerpTakerTradeLog"],[3,"PerpForceClosePositionLog"],[3,"TokenForceCloseBorrowsWithTokenLog"],[3,"TokenForceCloseBorrowsWithTokenLogV2"],[3,"TokenConditionalSwapCreateLog"],[3,"TokenConditionalSwapCreateLogV2"],[3,"TokenConditionalSwapCreateLogV3"],[3,"TokenConditionalSwapTriggerLog"],[3,"TokenConditionalSwapTriggerLogV2"],[3,"TokenConditionalSwapTriggerLogV3"],[3,"TokenConditionalSwapCancelLog"],[3,"TokenConditionalSwapStartLog"],[3,"TokenCollateralFeeLog"],[3,"ForceWithdrawLog"],[3,"FlashLoanTokenDetail"],[3,"FlashLoanTokenDetailV2"],[3,"FlashLoanTokenDetailV3"],[8,"Event"],[3,"Context"],[15,"f32"],[15,"u16"],[15,"f64"],[15,"u128"],[6,"OpenbookV2MarketIndex"],[3,"OracleConfigParams"],[4,"PlaceOrderType"],[15,"i32"],[4,"SelfTradeBehavior"],[6,"Serum3MarketIndex"],[4,"TokenConditionalSwapDisplayPriceStyle"],[4,"TokenConditionalSwapIntention"],[3,"MangoV4"],[3,"InitOpenOrders"],[3,"Group"],[3,"CloseOpenOrders"],[3,"SettleFunds"],[3,"PlaceOrder"],[3,"NewOrderInstructionV3"],[3,"CancelOrder"],[3,"CancelOrderInstructionV2"],[3,"OrderBookStateHeader"],[3,"MarketState"],[3,"Slab"],[8,"AccountReader"],[3,"MangoAccountDynamicHeader"],[3,"MangoAccountFixed"],[8,"DerefOrBorrow"],[3,"DynamicAccount"],[8,"Iterator"],[8,"DerefOrBorrowMut"],[4,"BookSideOrderTree"],[3,"LeafNode"],[3,"TokenConditionalSwap"],[3,"AnyNode"],[3,"InnerNode"],[3,"MintInfo"],[3,"FillEvent"],[3,"BookSide"],[3,"Orderbook"],[6,"MangoAccountRefMut"],[4,"SideAndOrderTree"],[3,"TokenPosition"],[3,"WithdrawResult"],[3,"OracleState"],[3,"OracleConfig"],[4,"CheckLiquidatable"],[3,"TransferResult"],[3,"PerpOpenOrder"],[8,"Clone"],[4,"IxGate"],[3,"MangoAccount"],[3,"OpenbookV2Market"],[3,"OpenbookV2MarketIndexReservation"],[4,"OracleType"],[3,"StubOracle"],[4,"OrderState"],[3,"FreeNode"],[4,"PostOrderType"],[4,"OrderTreeType"],[3,"OrderTreeRoot"],[3,"OrderTreeNodes"],[3,"EventQueue"],[3,"EventQueueHeader"],[3,"AnyEvent"],[4,"EventType"],[3,"OutEvent"],[3,"Serum3Market"],[3,"Serum3MarketIndexReservation"],[3,"StablePriceModel"],[4,"TokenConditionalSwapType"],[3,"OracleAccountInfos"],[6,"MangoAccountLoadedRef"],[3,"Global"],[3,"CLMMPoolState"],[8,"Sized"],[3,"Order"],[3,"BookSideIterItem"],[3,"OrderTreeIter"],[3,"BookSideIter"],[6,"MangoAccountLoadedRefCell"],[6,"MangoAccountLoadedRefCellMut"],[15,"str"],[6,"NodeHandle"],[3,"MangoAccountPdaSeeds"],[15,"i8"],[3,"ProgressBar"],[3,"ProgressBarIter"],[4,"NodeTag"],[3,"TokenIndex"],[3,"Serum3MarketIndex"],[3,"PerpMarketIndex"],[3,"I80F48"],[8,"AccountDataWriter"],[8,"LoadZeroCopy"],[8,"LoadZeroCopyRef"],[8,"LoadMutZeroCopy"],[8,"LoadMutZeroCopyRef"],[8,"Contextable"],[8,"IsAnchorErrorWithCode"],[8,"LowPrecisionDivision"],[8,"ClampToInt"],[8,"OpenOrdersAmounts"],[4,"OrderParams"],[8,"QueueHeader"],[3,"BookSideOrderHandle"],[8,"DynamicHeader"],[8,"MangoAccountLoader"],[13,"OraclePegged"],[13,"Fixed"],[13,"ImmediateOrCancel"]]},\ "mango_v4_client":{"doc":"","t":"INIIDDDEDDNNNEDNERDEDNDDDDNDGDDDDEDNNNNQLLLLLLLLLLLLLLMFFAMMMMMMMLLMMMLMLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMLMMLMAMLMMMMMMMMMMMMMMMMMLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMMMMLMLLMLLKLLKLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLALMMMLALLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLMMFLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLKMMMMMLMMMMMLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLMMMLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFLLMAALLLFLMMMMMMMLLLMLMLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMLLLLLMMMMLLAALLMLLLLLLLLLLLLLLLFLLLFLLLLLLLMMLLLLMFLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMNDDENNLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDNNNDELLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMNNDDENNNELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLDDDENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFENNLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLDDDDEDINNLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLKLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLMLLLLLFLLMMLLMLLLLMLLMFLLLLLLLLNNDENNDNNELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMLLLLLLLLLLLLALLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLMLMAALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDLLLLLLLLMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMMMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLMLLLLLLLLLLLLLLLLLLDDDDLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLMLLLLMLLLLLLLLLLLLFLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLMMMLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLEDENNDNNNNLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLMMMMMMLLLLLLLLMMLLLLLLLLMMLLLLLLLLMLLLLLLLLMMMMMMMMMMMLLLLMMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLDLLLLLLLLLLLLLFLLLLLLLMLLLLLLMLLMFLLLLLLLL","n":["AccountFetcher","All","AnyhowWrap","AsyncChannelSendUnlessFull","CachedAccountFetcher","Client","ClientBuilder","ClientBuilderError","ClientConfig","ComputeEstimates","Dynamic","ExactIn","ExactOut","FallbackOracleConfig","FallbackOracleContext","Fixed","JupiterSwapMode","MAX_ACCOUNTS_PER_TRANSACTION","MangoClient","MangoClientError","MangoGroupContext","Never","OpenbookV2MarketContext","PerpMarketContext","PreparedInstructions","RpcAccountFetcher","SendTransactionPreflightFailure","Serum3MarketContext","SimulateTransactionResponse","TokenContext","TransactionBuilder","TransactionBuilderConfig","TransactionBuilderConfigBuilder","TransactionBuilderConfigBuilderError","TransactionSize","UninitializedField","UninitializedField","ValidationError","ValidationError","Value","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account_fetcher","account_fetcher_fetch_anchor_account","account_fetcher_fetch_mango_account","account_update_stream","accounts","additional_cus","address","address","address","address_lookup_tables","address_lookup_tables","append","append","asks","asks","asks","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_oracle_price","banks","banks","base_decimals","base_lot_size","base_lot_size","base_token_index","base_token_index","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_config","builder","builder","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","chain_data","changed_significantly","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clear","clear_cache","client","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cluster","cluster","coin_lot_size","coin_vault","commitment","commitment","compute_budget_per_instruction","compute_budget_per_instruction","compute_estimates","config","config","confirm_transaction","context","create_account","cu","cu_for_sequence_check","cu_per_associated_token_account_creation","cu_per_charge_collateral_fees","cu_per_charge_collateral_fees_token","cu_per_mango_instruction","cu_per_openbook_v2_order_cancel","cu_per_oracle_fallback","cu_per_perp_order_cancel","cu_per_perp_order_match","cu_per_serum3_order_cancel","cu_per_serum3_order_match","cu_perp_consume_events_base","cu_perp_consume_events_per_event","cu_perp_update_funding","cu_token_update_index_and_rates","decimals","default","default","default","default","default","default","default","default_rpc_confirm_transaction_config","default_rpc_send_transaction_config","delay_interval","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","derive_fallback_oracle_keys","derive_health_check_remaining_account_metas","derive_health_check_remaining_account_metas","derive_health_check_remaining_account_metas_two_accounts","derive_health_check_remaining_account_metas_two_accounts","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error_tracking","event_heap","event_q","event_queue","fallback_context","fallback_oracle_config","fallback_oracle_config","fee_payer","fee_payer","fee_payer","fetch_address_lookup_table","fetch_address_lookup_tables","fetch_multiple_accounts","fetch_multiple_accounts","fetch_multiple_accounts","fetch_program_accounts","fetch_program_accounts","fetch_program_accounts","fetch_raw_account","fetch_raw_account","fetch_raw_account","fetch_raw_account_lookup_table","fetch_raw_account_lookup_table","find_accounts","find_or_create_account","first_bank","first_bank","first_vault","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_single","from_vec","get_slot","get_slot","get_slot","gpa","group","group","group","group","group_for_admin","health_cache","health_cache","health_check_instruction","health_cu_per_obv2","health_cu_per_perp","health_cu_per_serum","health_cu_per_token","health_for_account","health_for_counts","health_region_begin_instruction","health_region_end_instruction","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","height","http_client","http_error_handling","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_overall_asset_weight","instructions","instructions","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_empty","is_within_limit","jupiter_timeout","jupiter_timeout","jupiter_token","jupiter_token","jupiter_v6","jupiter_v6_url","jupiter_v6_url","key","keypair_from_cli","keys","len","length","limit","loop_check_for_context_changes_and_abort","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","mango_account","mango_account_address","mango_address_lookup_tables","map_err_anyhow","market_authority","market_base_vault","market_external","market_quote_vault","mint","mint_info_address","mint_info_address","name","name","name","name","native_to_ui","new","new","new","new_detail","new_for_existing_account","new_from_config","new_from_rpc","new_perp_markets_listed","new_rpc_async","new_serum3_markets_listed","new_tokens_listed","openbook_v2","openbook_v2_liq_force_cancel_orders_instruction","openbook_v2_market_indexes_by_name","openbook_v2_markets","openbook_v2_program","oracle","oracle","oracle_config","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","override_send_transaction_urls","override_send_transaction_urls","payer","pc_lot_size","pc_vault","perp","perp_cancel_all_orders_instruction","perp_deactivate_position","perp_liq_base_or_positive_pnl_instruction","perp_liq_force_cancel_orders","perp_liq_negative_pnl_or_bankruptcy_instruction","perp_market_address","perp_market_index","perp_market_indexes_by_name","perp_markets","perp_oracle_price","perp_place_order","perp_place_order_instruction","perp_pnl","perp_settle_pnl","perp_settle_pnl_instruction","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","prettify_client_error","prettify_solana_client_error","print_git_version","prioritization_micro_lamports","priority_fee_provider","priority_fee_provider","priority_fees","priority_fees_cli","provide","provide","provide","pubkey_from_cli","push","quote_key","quote_lot_size","quote_lot_size","quote_token_index","quote_token_index","req_q","rpc","rpc_anchor_account","rpc_async","rpc_confirm_transaction_config","rpc_confirm_transaction_config","rpc_send_transaction_config","rpc_send_transaction_config","sanctum","sanctum_timeout","sanctum_timeout","sanctum_url","sanctum_url","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","send","send_and_confirm","send_and_confirm_authority_tx","send_and_confirm_permissionless_tx","send_transaction","send_unless_full","sequence_check_instruction","serum3","serum3_base_token","serum3_cancel_all_orders","serum3_cancel_all_orders_instruction","serum3_cancel_order","serum3_close_open_orders","serum3_close_open_orders_instruction","serum3_create_open_orders","serum3_create_open_orders_instruction","serum3_create_or_replace_account_instruction","serum3_liq_force_cancel_orders","serum3_liq_force_cancel_orders_instruction","serum3_market_index","serum3_market_indexes_by_name","serum3_markets","serum3_place_order","serum3_place_order_instruction","serum3_quote_token","serum3_settle_funds","serum3_settle_funds_instruction","serum_market_external","serum_program","settle_token_index","signers","simulate","simulate","snapshot_source","swap","swap","timeout","timeout","to_instructions","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_readonly_account_meta","to_string","to_string","to_string","to_writable_account_meta","token","token_by_mint","token_by_name","token_charge_collateral_fees_instruction","token_conditional_swap_start_instruction","token_conditional_swap_trigger_instruction","token_deposit","token_index","token_indexes_by_name","token_liq_bankruptcy_instruction","token_liq_with_token_instruction","token_withdraw","token_withdraw_instructions","tokens","tracing_subscriber_init","transaction","transaction_builder","transaction_builder_config","transaction_builder_config","transaction_size","transaction_with_blockhash","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vault_signer","vaults","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","websocket_source","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","err","logs","Account","AccountUpdate","ChainSlotUpdate","Message","Slot","Snapshot","__clone_box","__clone_box","__clone_box","account","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","drop","drop","drop","from","from","from","from_ref","from_ref","from_ref","from_rpc","height","height","height","init","init","init","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","pubkey","reception_time","reception_time","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","slot","slot_update","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update_chain_data","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountData","AccountFetcher","ChainData","ChainDataMetrics","Confirmed","Processed","Rooted","SlotData","SlotStatus","__clone_box","__clone_box","__clone_box","account","account","account_bytes","account_writes_count","accounts_count","accounts_snapshot","az","az","az","az","az","az","best_chain_slot","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","chain","chain_data","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","descendants","descendants","drop","drop","drop","drop","drop","drop","eq","fetch","fetch_bank_and_price","fetch_bank_price","fetch_fresh","fetch_fresh_mango_account","fetch_mango_account","fetch_multiple_accounts","fetch_program_accounts","fetch_raw","fetch_raw_account","fetch_raw_account_lookup_table","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","get_slot","height","height","height","height","height","height","init","init","init","init","init","init","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_newer_than","iter_accounts","iter_accounts_rooted","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","new","new","newest_processed_slot","newest_rooted_slot","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","parent","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","raw_account_data","raw_slot_data","refresh_account_via_rpc","refresh_accounts_via_rpc_until_slot","report","rpc","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","slot","slot","slots_count","spawn_report_job","status","to_owned","to_owned","to_owned","transaction_max_slot","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update_account","update_slot","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write_version","BlockhashExpired","ClientError","RpcConfirmTransactionConfig","RpcConfirmTransactionConfigBuilder","RpcConfirmTransactionConfigBuilderError","Timeout","UninitializedField","ValidationError","WaitForTransactionConfirmationError","__clone_box","__clone_box","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","commitment","commitment","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","drop","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_ref","from_ref","height","height","height","height","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","provide","provide","recent_blockhash_initial_timeout","recent_blockhash_initial_timeout","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","signature_status_interval","signature_status_interval","source","timeout","timeout","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wait_for_transaction_confirmation","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ErrorState","ErrorTracking","ErrorTrackingBuilder","ErrorTrackingBuilderError","UninitializedField","ValidationError","__clone_box","__clone_box","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clear","clone","clone","clone_into","clone_into","count","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","drop","drop","drop","drop","errors","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","had_too_many_errors","height","height","height","height","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","keep_duration","keep_duration","last_at","log_error_skips","log_interval","log_interval","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","provide","record","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","skip_duration","skip_duration","skip_threshold","skip_threshold","skip_threshold_for_type","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unique_messages_to_keep","unique_messages_to_keep","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update","vzip","vzip","vzip","vzip","wipe_old","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","fetch_anchor_account","fetch_banks","fetch_mango_accounts","fetch_mint_infos","fetch_multiple_accounts","fetch_multiple_accounts_in_chunks","fetch_openbook_v2_markets","fetch_perp_markets","fetch_serum3_markets","new","new_sync","Direction","MaxNegative","MaxPositive","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","descendants","drop","eq","fetch_top","fmt","from","height","init","into","into_request","into_request","lossless_try_into","lossy_into","overflowing_as","overflowing_cast_from","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","BlockPrioFees","CuPercentileEmaPriorityFeeProvider","EmaPriorityFeeProviderConfig","EmaPriorityFeeProviderConfigBuilder","EmaPriorityFeeProviderConfigBuilderError","FixedPriorityFeeProvider","PriorityFeeProvider","UninitializedField","ValidationError","__clone_box","__clone_box","alpha","alpha","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","by_cu_percentile","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","compute_unit_fee_microlamports","compute_unit_fee_microlamports","compute_unit_fee_microlamports","compute_unit_fee_microlamports","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","descendants","descendants","drop","drop","drop","drop","drop","drop","fallback_prio","fallback_prio","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_ref","from_ref","height","height","height","height","height","height","init","init","init","init","init","init","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","max_age","max_age","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","percentile","percentile","percentile","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","provide","run","run_broadcast_from_websocket_feed","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","slot","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","PriorityFeeArgs","__clone_box","augment_args","augment_args_for_update","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","descendants","drop","fmt","from","from_arg_matches","from_arg_matches_mut","from_ref","height","init","into","into_request","into_request","lossless_try_into","lossy_into","make_prio_provider","overflowing_as","overflowing_cast_from","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","saturating_as","saturating_cast_from","to_owned","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","update_from_arg_matches","update_from_arg_matches_mut","vzip","wrapping_as","wrapping_cast_from","Config","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","descendants","drop","from","get_multiple_accounts_count","height","init","into","into_request","into_request","is_mango_account","lossless_try_into","lossy_into","mango_group","min_slot","overflowing_as","overflowing_cast_from","parallel_rpc_requests","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","rpc_http_url","saturating_as","saturating_cast_from","snapshot_interval","start","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","Mock","Mock","Quote","RawQuote","Sanctum","Sanctum","Swap","V6","V6","Version","__clone_box","__clone_box","__clone_box","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","drop","drop","drop","drop","eq","equivalent","equivalent","first_route_label","from","from","from","from","from_ref","from_ref","from_ref","height","height","height","height","in_amount","init","init","init","init","input_mint","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","jupiter_v6","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","mango_client","out_amount","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","prepare_swap_transaction","price_impact_pct","quote","raw","sanctum","sanctum_state","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from_sanctum","try_from_v6","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountMeta","InstructionResponse","JupiterSwapInstructionsResponse","JupiterV6","PlatformFee","QuoteResponse","RoutePlan","SwapInfo","SwapRequest","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","accounts","address_lookup_table_addresses","amm_key","amount","as_legacy_transaction","az","az","az","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","cleanup_instructions","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","compute_budget_instructions","compute_unit_price_micro_lamports","context_slot","data","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination_token_account","drop","drop","drop","drop","drop","drop","drop","drop","drop","fee_account","fee_amount","fee_bps","fee_mint","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","height","height","height","height","height","height","height","height","height","in_amount","in_amount","init","init","init","init","init","init","init","init","init","input_mint","input_mint","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_signer","is_writable","label","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","mango_client","other_amount_threshold","out_amount","out_amount","output_mint","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","percent","platform_fee","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","prepare_swap_transaction","price_impact_pct","program_id","pubkey","quote","quote_response","route_plan","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","setup_instructions","slippage_bps","swap","swap_info","swap_instruction","swap_mode","time_taken","timeout_duration","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","token_ledger_instruction","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","use_shared_accounts","use_token_ledger","user_public_key","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrap_and_unwrap_sol","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","QuoteResponse","Sanctum","SanctumSwapResponse","SwapRequest","__clone_box","__clone_box","__clone_box","amount","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","deserialize","deserialize","deserialize","drop","drop","drop","drop","fee_amount","fee_mint","fee_pct","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","height","height","height","height","in_amount","init","init","init","init","input","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","load_supported_token_mints","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","mango_client","mode","out_amount","output_lst_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","prepare_swap_transaction","quote","quoted_amount","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","signer","swap","swap_src","swap_src","timeout_duration","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","tx","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountType","Fee","FutureEpoch","None","One","StakePool","StakePool","Two","Uninitialized","ValidatorList","__clone_box","__clone_box","__clone_box","__clone_box","account_type","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","denominator","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_reader","deserialize_variant","deserialize_variant","drop","drop","drop","drop","epoch_fee","eq","eq","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","from_ref","height","height","height","height","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","last_epoch_pool_token_supply","last_epoch_total_lamports","last_update_epoch","lockup","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","manager","manager_fee_account","next_epoch_fee","next_sol_withdrawal_fee","next_stake_withdrawal_fee","numerator","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pool_mint","pool_token_supply","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preferred_deposit_validator_vote_address","preferred_withdraw_validator_vote_address","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","reserve_stake","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sol_deposit_authority","sol_deposit_fee","sol_referral_fee","sol_withdraw_authority","sol_withdrawal_fee","stake_deposit_authority","stake_deposit_fee","stake_referral_fee","stake_withdraw_bump_seed","stake_withdrawal_fee","staker","to_owned","to_owned","to_owned","to_owned","token_program_id","total_lamports","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","validator_list","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","Config","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","descendants","drop","from","get_next_create_bank_slot","height","init","into","into_request","into_request","lossless_try_into","lossy_into","open_orders_authority","overflowing_as","overflowing_cast_from","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","rpc_ws_url","saturating_as","saturating_cast_from","serum_programs","start","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from"],"q":[[0,"mango_v4_client"],[1279,"mango_v4_client::MangoClientError"],[1281,"mango_v4_client::account_update_stream"],[1418,"mango_v4_client::chain_data"],[1707,"mango_v4_client::confirm_transaction"],[1896,"mango_v4_client::error_tracking"],[2085,"mango_v4_client::gpa"],[2094,"mango_v4_client::health_cache"],[2096,"mango_v4_client::perp_pnl"],[2138,"mango_v4_client::priority_fees"],[2402,"mango_v4_client::priority_fees_cli"],[2452,"mango_v4_client::snapshot_source"],[2497,"mango_v4_client::swap"],[2684,"mango_v4_client::swap::jupiter_v6"],[3131,"mango_v4_client::swap::sanctum"],[3323,"mango_v4_client::swap::sanctum_state"],[3543,"mango_v4_client::websocket_source"]],"d":["","Every possible fallback oracle (may cause serious issues …","Some Result<> types don’t convert to anyhow::Result …","Push to an async_channel::Sender and ignore if the channel …","","","Builder for ClientConfig.","Error type for ClientBuilder","","","The account_fetcher checks for stale oracles and uses …","","","","","Only provided fallback oracles are used","","","","","","No fallback oracles","","","","","","","","","","","Builder for TransactionBuilderConfig.","Error type for TransactionBuilderConfigBuilder","","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Builds a new TransactionBuilderConfig.","Builds a new ClientConfig.","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if the on-chain context changed …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RPC url","RPC url","","","Commitment for interacting with the chain. Defaults to …","Commitment for interacting with the chain. Defaults to …","adds a SetComputeUnitBudget instruction if none exists","adds a SetComputeUnitBudget instruction if none exists","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Like tokio::time::interval(), but with Delay as default …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a map of oracle pubkey -> FallbackOracleContext","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Determines how fallback oracle accounts are provided to …","Determines how fallback oracle accounts are provided to …","","Transaction fee payer. Needs to be set to send …","Transaction fee payer. Needs to be set to send …","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Assert that health of account is > N","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Jupiter Timeout, defaults to 30s","Jupiter Timeout, defaults to 30s","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Prefer using the builder()","","Allows control of AccountFetcher and externally created …","Conveniently creates a RPC based client","","","","Sometimes clients don’t want to borrow the Client …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If set, don’t use cluster for sending transactions and …","If set, don’t use cluster for sending transactions and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Do some manual unpacking on some ClientErrors","","","","adds a SetComputeUnitPrice instruction in front if none …","adds a SetComputeUnitPrice instruction in front if none …","","","","","","","","","","","","","","","","","Defaults to waiting up to 60s for confirmation","Defaults to waiting up to 60s for confirmation","Defaults to a preflight check at processed commitment","Defaults to a preflight check at processed commitment","","Sanctum Timeout, defaults to 30s","Sanctum Timeout, defaults to 30s","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sends a transaction via the configured cluster (or all …","Send a message if the channel isn’t full","Avoid executing same instruction multiple time","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Timeout, defaults to 60s","Timeout, defaults to 60s","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates token withdraw instructions for the MangoClient’…","","Convenience function used in binaries to set up the fmt …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A complex account fetcher that mostly depends on an …","Track slots and account writes","","","","","","","","","","Ref to the most recent live write of the pubkey","","","","","Cloned snapshot of all the most recent live writes per …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Iterate over the most recent live data for all stored …","Iterate over the most recent rooted data for all stored …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return success once all addresses have data >= min_slot","","","","","","","","","","","","","","","","","","","","","","","Return the maximum slot reported for the processing of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Builder for RpcConfirmTransactionConfig.","Error type for RpcConfirmTransactionConfigBuilder","","Uninitialized field","Custom validation error","","","","","","","","","","","","","","","","Builds a new RpcConfirmTransactionConfig.","","","","","","","","","","","","","","","","","","If none, defaults to the RpcClient’s configured default …","If none, defaults to the RpcClient’s configured default …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Time after which to start checking for blockhash expiry.","Time after which to start checking for blockhash expiry.","","","","","","","","","Interval between signature status queries.","Interval between signature status queries.","","If none, there’s no timeout. The confirmation will still …","If none, there’s no timeout. The confirmation will still …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Wait for signature to be confirmed at commitment or until …","","","","","","","","","","","Builder for ErrorTracking.","Error type for ErrorTrackingBuilder","Uninitialized field","Custom validation error","","","","","","","","","","","","","","","Builds a new ErrorTracking.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","after what time of no-errors may error info be wiped?","after what time of no-errors may error info be wiped?","","Log all errors that cause skipping","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","duration that had_too_many_errors returns true for after …","duration that had_too_many_errors returns true for after …","number of errors of a type after which had_too_many_errors …","number of errors of a type after which had_too_many_errors …","","","","","","","","","","","","","","","","","","","","","","","","","","","Wipes old errors and occasionally logs errors that caused …","","","","","","","","","","","","","","","","","","","Fetch multiple account using one request per chunk of …","","","","","","","","","","","","","","","","","","","","","","Returns up to count accounts with highest abs pnl (by …","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Builder for EmaPriorityFeeProviderConfig.","Error type for EmaPriorityFeeProviderConfigBuilder","","","Uninitialized field","Custom validation error","","","","","","","","","","","","","","","","","","","","","","","Builds a new EmaPriorityFeeProviderConfig.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Find the instructions and account lookup tables for a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Find the instructions and account lookup tables for a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fee rate as a ratio, minted on UpdateStakePoolBalance as a …","Wrapper type that “counts down” epochs, which is …","Nothing is set","Value is ready after the next epoch boundary","","Stake pool","Value is ready after two epoch boundaries","If the account has not been initialized, the enum will be 0","Validator stake list","","","","","Account type, must be StakePool currently","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","denominator of the fee ratio","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fee taken as a proportion of rewards each epoch","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","Last epoch’s total pool tokens, used only for APR …","Last epoch’s total lamports, used only for APR estimation","Last epoch the total_lamports field was updated","Lockup that all stakes in the pool must have","","","","","","","","","Manager authority, allows for updating the staker, …","Manager fee account","Fee for next epoch","Future SOL withdrawal fee, to be set for the following …","Future stake withdrawal fee, to be set for the following …","numerator of the fee ratio","","","","","","","","","Pool Mint","Total supply of pool tokens (should always match the …","","","","","","","","","Preferred deposit validator vote account pubkey","Preferred withdraw validator vote account pubkey","","","","","","","","","Reserve stake account, holds deactivated stake","","","","","","","","","Toggles whether the DepositSol instruction requires a …","Fee assessed on SOL deposits","Fees paid out to referrers on referred SOL deposits. …","Toggles whether the WithdrawSol instruction requires a …","Fee assessed on SOL withdrawals","Stake deposit authority","Fee assessed on stake deposits","Fees paid out to referrers on referred stake deposits. …","Stake withdrawal authority bump seed for …","Fee assessed on withdrawals","Staker authority, allows for adding and removing …","","","","","Pool token program id","Total stake under management. Note that if …","","","","","","","","","","","","","","","","","","","","","Validator stake list storage account","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,26,0,0,0,0,0,0,0,0,26,27,27,0,0,26,0,0,0,0,0,26,0,0,0,0,56,0,0,0,0,0,0,0,0,15,19,15,19,177,24,13,20,25,26,18,17,27,12,28,29,30,31,8,9,0,0,0,25,7,29,30,31,7,21,7,8,29,30,31,9,9,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,9,12,12,31,30,31,29,30,29,30,31,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,13,17,13,14,18,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,0,21,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,8,24,9,24,13,20,25,26,18,17,27,12,28,29,30,31,8,24,13,20,25,26,18,17,27,12,28,29,30,31,8,13,20,29,29,13,20,17,18,21,14,7,0,9,9,8,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,12,38,13,25,26,18,17,8,13,13,0,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,21,9,21,9,21,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,26,12,28,29,30,31,26,26,12,12,28,28,29,29,30,30,31,31,0,30,29,31,12,13,20,14,13,20,9,9,2,52,24,2,52,24,2,52,24,2,2,9,9,9,12,12,15,15,56,56,25,26,19,19,52,24,14,9,7,38,21,13,15,15,15,20,56,25,26,18,17,19,19,19,27,12,28,29,30,31,8,24,13,20,25,26,18,17,27,12,28,29,30,31,8,8,8,2,52,24,0,9,21,12,31,9,0,9,9,38,38,38,38,38,38,9,9,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,9,0,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,31,7,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,52,24,24,14,14,9,9,7,7,38,38,21,21,13,13,15,15,20,20,56,56,25,25,26,26,18,18,17,17,19,19,27,27,12,12,28,28,29,29,30,30,31,31,8,8,8,25,13,20,13,20,9,13,20,28,0,28,8,25,25,9,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,9,9,9,177,30,30,30,30,12,21,12,12,29,30,31,12,24,14,8,9,9,14,21,21,14,21,21,21,9,21,21,30,12,31,12,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,13,20,7,29,29,21,9,9,9,9,9,21,31,21,21,9,9,9,0,9,9,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,0,0,0,17,17,18,0,0,15,56,19,0,8,28,30,31,29,30,29,52,14,14,13,20,13,20,9,13,20,13,20,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,7,7,9,9,14,178,9,21,21,9,9,9,9,9,9,9,9,9,9,21,21,21,9,9,21,9,9,29,29,31,7,9,7,0,0,9,13,20,8,24,13,20,25,26,18,17,27,12,28,29,30,31,8,0,15,56,19,0,21,21,21,9,9,9,9,12,21,9,9,9,9,21,0,7,9,13,20,7,7,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,29,12,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,0,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,52,24,14,9,7,38,21,13,15,20,56,25,26,18,17,19,27,12,28,29,30,31,8,179,179,100,0,0,0,100,100,98,99,100,98,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,98,99,100,98,99,100,98,99,100,98,98,99,99,100,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,98,99,98,99,100,98,99,100,98,99,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,98,99,100,100,98,99,100,98,99,100,98,99,100,0,0,0,0,106,106,106,0,0,106,107,104,103,104,103,103,103,103,103,114,108,106,107,104,103,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,107,108,103,114,108,106,107,104,103,114,108,106,107,104,106,107,104,106,107,104,103,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,106,108,108,108,108,108,108,108,108,108,108,108,106,107,104,103,114,108,106,107,104,106,107,104,108,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,103,114,114,108,108,106,106,107,107,104,104,104,103,103,103,114,108,106,107,104,103,114,108,106,107,104,103,114,103,103,103,114,108,106,107,104,103,114,108,106,107,104,107,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,103,108,108,114,108,103,114,108,106,107,104,103,114,108,106,107,104,107,104,103,114,107,106,107,104,108,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,103,103,103,114,108,106,107,104,103,114,108,106,107,104,103,114,108,106,107,104,104,120,120,0,0,0,120,119,119,0,118,39,120,118,119,39,120,118,119,39,120,118,119,39,118,39,120,118,119,39,120,118,119,39,120,118,119,39,118,39,118,39,118,39,118,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,120,119,119,39,120,120,118,119,119,119,39,118,39,120,118,119,39,120,118,119,39,120,118,119,39,120,120,118,118,119,119,39,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,119,118,39,120,118,119,39,120,118,119,39,118,39,120,118,39,118,39,120,119,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,120,118,119,39,0,120,118,119,39,120,118,119,39,0,0,0,0,126,126,131,124,131,125,124,126,131,125,124,126,131,125,124,126,124,125,131,125,124,126,131,125,124,126,131,125,124,126,125,131,124,131,124,131,124,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,131,126,126,131,125,124,126,126,126,131,124,125,131,125,124,126,131,125,124,126,131,125,124,126,131,131,125,125,124,124,126,126,124,125,131,125,124,125,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,131,125,124,126,126,125,131,125,124,126,131,125,124,126,124,125,124,125,124,131,124,126,131,125,124,126,131,125,124,126,131,125,124,126,124,125,131,125,124,126,131,125,124,126,125,131,125,124,126,125,131,125,124,126,131,125,124,126,0,0,0,0,0,0,0,0,0,0,0,0,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,0,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,0,0,0,0,0,0,0,136,136,134,137,134,135,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,134,135,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,134,137,134,137,81,138,139,138,134,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,134,135,136,136,137,138,139,135,134,136,136,136,137,134,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,138,139,139,135,135,134,134,136,136,137,137,138,139,135,134,136,137,138,139,135,134,136,137,134,135,138,138,139,135,134,136,137,138,139,135,134,136,137,134,135,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,136,139,0,138,139,135,134,136,137,138,139,135,134,136,137,137,134,137,136,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,138,139,135,134,136,137,0,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,0,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,0,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,0,146,146,146,146,146,146,146,146,149,150,0,0,149,150,0,149,150,0,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,149,150,151,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,149,149,149,151,92,149,150,151,149,150,151,92,149,150,151,151,92,149,150,151,151,92,149,150,151,92,92,149,149,150,150,151,151,0,92,149,150,151,92,149,150,151,92,151,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,151,92,151,0,0,92,149,150,151,92,149,150,151,149,150,151,92,149,150,151,151,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,92,149,150,151,0,0,0,0,0,0,0,0,0,153,154,155,156,157,158,159,160,159,158,156,154,157,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,158,153,154,155,156,157,158,159,160,153,154,155,156,157,158,159,160,158,157,153,159,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,153,154,155,156,157,158,159,160,157,67,153,154,155,156,157,158,159,160,157,156,154,156,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,153,156,67,153,154,155,156,157,158,159,160,153,156,67,153,154,155,156,157,158,159,160,67,67,153,153,154,154,155,155,156,156,157,157,158,158,159,159,160,160,160,160,156,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,153,156,153,156,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,155,153,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,159,160,67,157,153,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,153,154,155,156,157,158,159,160,158,153,67,155,158,153,153,67,153,154,155,156,157,158,159,160,158,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,157,157,157,67,153,154,155,156,157,158,159,160,157,67,153,154,155,156,157,158,159,160,67,153,154,155,156,157,158,159,160,0,0,0,0,152,163,164,163,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,152,163,164,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,152,163,164,83,152,163,164,152,152,152,152,163,164,83,152,163,164,152,163,164,83,152,163,164,152,83,152,163,164,163,83,152,163,164,83,83,152,152,163,163,164,164,0,83,152,163,164,83,152,163,164,83,163,152,163,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,83,163,83,152,163,164,83,152,163,164,152,163,164,163,83,152,163,83,152,163,164,83,152,163,164,83,152,163,164,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,83,152,163,164,0,0,0,169,169,0,166,169,166,166,166,167,168,169,167,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,168,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,169,166,167,168,169,167,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,166,167,167,168,168,169,169,167,167,167,167,166,167,168,169,166,167,168,169,167,167,167,167,167,168,166,167,168,169,166,167,168,169,167,167,166,167,168,169,166,167,168,169,167,167,166,167,168,169,166,167,168,169,167,166,167,168,169,166,167,168,169,167,167,167,167,167,167,167,167,167,167,167,166,167,168,169,167,167,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,166,167,168,169,167,166,167,168,169,166,167,168,169,166,167,168,169,0,176,176,176,176,176,176,176,176,176,176,176,176,176,0,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,0,176,176,176,176,176,176,176,176],"f":[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,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],0,[[2,3],[[5,[4]]]],[[2,3],[[5,[6]]]],0,0,0,0,0,0,0,0,[[7,8]],[[8,8]],0,0,0,[9,3],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[9,10],[[5,[11]]]],[12],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[13,[[16,[14,15]]]],[17,[[16,[18,19]]]],[13,[[16,[20,15]]]],[[],13],[[],17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[21,21],22],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[8],[[[24,[2]]]],0,[[[24,[2]]],[[24,[2]]]],[13,13],[20,20],[25,25],[26,26],[18,18],[17,17],[27,27],[12,12],[28,28],[29,29],[30,30],[31,31],[8,8],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[13,32],13],0,0,0,[[13,33],13],0,[[17,[23,[34]]],17],0,0,[14,20],0,0,0,[[14,3,[36,[35]],[36,[35]],34,37],5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],38],[[],13],[[],25],[[],26],[[],18],[[],17],[[],8],[[],39],[[],40],[41,42],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[21,26,2],[[5,[[44,[3,28]]]]]],[[9,6,[45,[10]],[45,[10]],[45,[46]]],5],[[21,6,[45,[10]],[45,[10]],[45,[46]],[44,[3,28]]],5],[[9,6,6],5],[[21,6,6,[44,[3,28]]],5],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[[26,26],22],[[12,12],22],[[28,28],22],[[29,29],22],[[30,30],22],[[31,31],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],[[],22],0,0,0,0,0,[[13,26],13],0,[14,[[36,[35]]]],[[13,[23,[[36,[35]]]]],13],0,[[9,3],[[5,[47]]]],[[9,48],[[5,[[45,[47]]]]]],[[],[[51,[[50,[49]]]]]],[52,[[51,[[50,[49]]]]]],[[[24,[2]]],[[51,[[50,[49]]]]]],[3,[[51,[[50,[49]]]]]],[[52,3],[[51,[[50,[49]]]]]],[[[24,[2]],3],[[51,[[50,[49]]]]]],[3,[[51,[[50,[49]]]]]],[[52,3],[[51,[[50,[49]]]]]],[[[24,[2]],3],[[51,[[50,[49]]]]]],[3,[[51,[[50,[49]]]]]],[3,[[51,[[50,[49]]]]]],[[14,3,35],[[5,[45]]]],[[14,3,[36,[35]],[36,[35]],37],[[5,[3]]]],[[9,10],[[5,[53]]]],[12,3],[12,3],[[15,54],55],[[15,54],55],[[56,54],55],[[56,54],55],[[25,54],55],[[26,54],55],[[19,54],55],[[19,54],55],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[57,15],[[]],[58,15],[[]],[[]],[[]],[[]],[[]],[[]],[58,19],[[]],[57,19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[59,34],8],[[[45,[59]],34],8],[[],[[51,[[50,[49]]]]]],[52,[[51,[[50,[49]]]]]],[[[24,[2]]],[[51,[[50,[49]]]]]],0,[9,3],0,0,0,[[3,34],3],0,[[9,6],[[5,[60]]]],[[9,6,61,[45,[10]],[45,[46]],62],[[5,[8]]]],0,0,0,0,[[38,6,43],34],[[38,43,43,43,43,43],34],[[9,6,[45,[10]],[45,[10]],[45,[46]]],[[5,[8]]]],[[9,6,[45,[10]],[45,[10]],[45,[46]]],[[5,[8]]]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],0,[63,[[5,[64]]]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],65],[[],66],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],65],[[],66],[[],66],[[],65],[[],66],[[],65],[[],65],[[],66],[[],66],[[],65],[[],66],[[],65],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],65],[[],66],[[],65],[[],66],[[],66],[[],65],[[],66],[[],65],[[],65],[[],66],[[],66],[[],65],[[],65],[[],66],[8,22],[25,22],[[13,41],13],0,[[13,57],13],0,[9,67],[[13,57],13],0,0,[37,35],[28,[[45,[3]]]],[8,43],0,[[],25],[[[36,[9]],41]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[9,[[5,[6]]]],0,[9,[[5,[[45,[47]]]]]],[[],5],0,0,0,0,0,[[21,10],3],0,0,0,0,0,[[12,11],61],[[[36,[2]]],[[24,[2]]]],[[32,33,[36,[35]],[23,[41]],18],14],[[],8],[[14,3,[36,[35]],21,[36,[2]]],[[5,[9]]]],[[14,3,[36,[35]]],[[5,[9]]]],[20,14],[[68,3],[[5,[21]]]],[[21,68],[[5,[22]]]],[14,68],[[21,68],[[5,[22]]]],[[21,68],[[5,[22]]]],[[21,69],30],[[9,69,3],[[5,[8]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[13,[23,[[45,[57]]]]],13],0,0,0,0,[[21,46],31],[[9,46,70],[[5,[8]]]],[[9,46],[[5,[71]]]],[[9,46,72,73],[[5,[8]]]],[[9,46],[[5,[71]]]],[[9,46,73],[[5,[8]]]],[[21,46],3],0,0,0,[[9,46],[[5,[11]]]],[[9,46,74,72,72,72,73,75,22,73,70,76],[[5,[71]]]],[[9,6,46,74,72,72,72,73,75,22,73,70,76],[[5,[8]]]],0,[[9,46],[[5,[71]]]],[[9,46],[[5,[8]]]],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[78,79],[80,79],[[]],[[17,[23,[73]]],17],[[17,[23,[[36,[81]]]]],17],0,0,0,[82],[82],[82],[37,3],[[8,59,34]],0,0,0,0,0,0,0,[[14,3],[[5,[4]]]],[14,68],[[13,39],13],0,[[13,40],13],0,[9,83],[[13,41],13],0,[[13,57],13],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[7,14],[[5,[71]]]],[[7,14],[[5,[71]]]],[[9,[45,[59]]],[[5,[71]]]],[[9,[45,[59]]],[[5,[71]]]],[[14,84],[[5,[71]]]],[[],5],[[9,3,6],[[5,[8]]]],[[21,85],29],[[21,85],12],[[9,37],[[16,[[45,[86]],79]]]],[[9,6,85,70],[[5,[8]]]],[[9,37,87,86],[[5,[71]]]],[[9,37],[[5,[71]]]],[[9,85],8],[[9,37],[[5,[71]]]],[[9,85],59],[[9,6,85,87],[[5,[8]]]],[[9,85,3],[[5,[71]]]],[[9,85,3],[[5,[8]]]],[[21,37],85],0,0,[[9,37,87,73,73,73,88,89,73,90],[[5,[71]]]],[[9,6,85,87,73,73,73,88,89,73,90],[[5,[8]]]],[[21,85],12],[[9,37],[[5,[71]]]],[[9,29,12,12,3],8],0,0,0,0,[[9,[45,[59]]],[[5,[91]]]],[[7,14],[[5,[91]]]],0,0,[9,92],[[13,41],13],0,[8,[[45,[59]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[3,93],[[],57],[[],57],[[],57],[3,93],[[21,10],12],[[21,3],[[5,[12]]]],[[21,37],12],[9,[[5,[8]]]],[[9,73],[[5,[8]]]],[[9,73,73,73,73,94],[[5,[8]]]],[[9,3,73,22],[[5,[71]]]],0,0,[[9,10,11],[[5,[8]]]],[[9,10,10,11],[[5,[8]]]],[[9,3,73,22],[[5,[71]]]],[[9,6,3,73,22],[[5,[8]]]],0,[[]],[[7,68],[[5,[95]]]],[9,[[5,[7]]]],[[13,18],13],0,[7,[[5,[25]]]],[[7,96],[[5,[95]]]],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[1],[1],[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[98,98],[99,99],[100,100],[[]],[[]],[[]],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[[102,[101]]],[[5,[98]]]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[]],[[]],[[]],[[],66],[[],65],[[],66],[[],65],[[],66],[[],65],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[100,103]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[1],[1],[1],[[103,3],[[16,[104,79]]]],0,[103,43],[103,43],[103,43],[103,[[44,[3,104,105]]]],[[]],[[]],[[]],[[]],[[]],[[]],[103,73],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[106,106],[107,107],[104,104],[[]],[[]],[[]],[[],103],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43],[43],[43],[43],[43],[43],[[106,106],22],[[108,3],[[5,[[0,[109,110]]]]]],[[108,3],5],[[108,3],[[5,[11]]]],[[108,3],[[5,[[0,[109,110]]]]]],[[108,3],[[5,[6]]]],[[108,3],[[5,[6]]]],[108,[[51,[[50,[49]]]]]],[[108,3],[[51,[[50,[49]]]]]],[[108,3],[[5,[111]]]],[[108,3],[[51,[[50,[49]]]]]],[[108,3],[[51,[[50,[49]]]]]],[[106,54],[[16,[112]]]],[[107,54],[[16,[112]]]],[[104,54],[[16,[112]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[108,[[51,[[50,[49]]]]]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[]],[[]],[[]],[[]],[[]],[[]],[[],66],[[],65],[[],65],[[],66],[[],66],[[],65],[[],65],[[],66],[[],66],[[],65],[[],66],[[],65],[[104,73,73],22],[103,48],[103,48],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],[[]],[[]],[[],103],[113,114],[103,73],[103,73],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[103,[[44,[3,[45,[104,115]],105]]]],[103,[[44,[73,107,105]]]],[[108,3],[[5,[116]]]],[[108,116,41],5],[[114,103]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[103,43],[[[36,[[117,[103]]]],113,41]],0,[[]],[[]],[[]],[108,[[5,[116]]]],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[103,3,104]],[[103,107]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[1],[1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[118,[[16,[39,119]]]],[[],118],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[118,118],[39,39],[[]],[[]],[[118,[23,[33]]],118],0,[[],118],[[],39],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[43],[43],[43],[43],[[120,54],55],[[120,54],55],[[119,54],55],[[119,54],55],[[39,54],55],[80,120],[[]],[[]],[[]],[57,119],[58,119],[[]],[[]],[[]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[]],[[]],[[]],[[]],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],65],[[],66],[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[82],[82],[[118,41],118],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[118,41],118],0,[120,[[23,[121]]]],[[118,[23,[41]]],118],0,[[]],[[]],[[],57],[[],57],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[68,71,96,39],[[16,[122,120]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[1],[1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[124,[123,123]]],[[16,[[125,[123,123]],126]]]],[[],[[124,[[0,[123,127,128,129]],[0,[130,127,128,129]]]]]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[[125,[[0,[123,127,128,129]],[0,[130,127,128,129]]]],[0,[130,127,128,129]],[0,[123,127,128,129]]]],[131,131],[[[124,[123,123]]],[[124,[123,123]]]],[[]],[[]],0,[[],[[124,[123,123]]]],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[43],[43],[43],[43],0,[[126,54],55],[[126,54],55],[[]],[[]],[[]],[[]],[57,126],[58,126],[[]],[[]],[[[125,[[0,[123,127,128,129]],[0,[130,127,128,129]]]],[0,[130,127,128,129]],[0,[123,127,128,129]],132],[[23,[131]]]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[]],[[]],[[]],[[]],[[],65],[[],66],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[[124,[123,123]],41],[[124,[123,123]]]],0,0,[[[125,[[0,[123,127,128,129]],[0,[130,127,128,129]]]]]],[[[124,[123,123]],41],[[124,[123,123]]]],0,[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[82],[[[125,[[0,[123,127,128,129]],[0,[130,127,128,129]]]],[0,[130,127,128,129]],[0,[123,127,128,129]],57]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[124,[123,123]],41],[[124,[123,123]]]],0,[[[124,[123,123]],73],[[124,[123,123]]]],0,[[[124,[[0,[130,127,128,129]]]],[0,[130,127,128,129]],73],[[124,[[0,[130,127,128,129]]]]]],[[]],[[]],[[],57],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[[124,[123,123]],43],[[124,[123,123]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[125,[[0,[123,127,128,129]],[0,[130,127,128,129]]]]]],[[]],[[]],[[]],[[]],[[[125,[[0,[123,127,128,129]],[0,[130,127,128,129]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[68,3],[[5,[4]]]],[[68,3,3],[[5,[45]]]],[[68,3,3,3],[[5,[45]]]],[[68,3,3],[[5,[45]]]],[68,[[5,[45]]]],[[68,43,43],[[5,[45]]]],[[68,3,3],[[5,[45]]]],[[68,3,3],[[5,[45]]]],[[68,3,3],[[5,[45]]]],[[21,26,2,6],[[5,[60]]]],[[21,108,6],[[5,[60]]]],0,0,0,[[]],[[]],[[]],[[]],[[],23],[[],23],[43],[43],[[]],[[]],[43,43],[43],[[133,133],22],[[21,26,2,46,133,43],[[5,[45]]]],[[133,54],55],[[]],[[],43],[[],43],[[]],[[],66],[[],65],[[],23],[[]],[[]],[[]],[77],[77],[77],[77],[[]],[[]],[[],16],[[],16],[[],97],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[1],[1],[[134,61],134],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[134,[[16,[135,136]]]],[[],134],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[134,134],[137,137],[[]],[[]],[[],73],[138,73],[139,73],0,[[],134],[[],137],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43],[43],[43],[43],[43],[43],[[134,73],134],0,[[136,54],55],[[136,54],55],[[137,54],55],[[]],[[]],[[]],[[]],[[]],[57,136],[58,136],[[]],[[]],[[]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[]],[[]],[[]],[[]],[[]],[[]],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],[[]],[[]],[[134,41],134],0,[73,138],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[134,70],134],0,0,[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[82],[[135,[140,[137]]]],[57],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],57],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[1],[141,141],[141,141],[[]],[[]],[[]],[[]],[[],23],[[],23],[142,142],[[]],[43],[43],[[]],[[]],[43,43],[43],[[142,54],55],[[]],[143,[[16,[142,144]]]],[143,[[16,[142,144]]]],[[]],[[],43],[[],43],[[]],[[],66],[[],65],[[],23],[[]],[[142,57],5],[[]],[[]],[77],[77],[77],[77],[[]],[[]],[[]],[[],16],[[],16],[[],97],[[]],[[]],[[142,143],[[16,[144]]]],[[142,143],[[16,[144]]]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],23],[[],23],[43],[43],[[]],[[]],[43,43],[43],[[]],0,[[],43],[[],43],[[]],[[],66],[[],65],[[111,3],[[23,[145]]]],[[],23],[[]],0,0,[[]],[[]],0,[77],[77],[77],[77],0,[[]],[[]],0,[[146,[45,[3]],[147,[100]]],148],[[],16],[[],16],[[],97],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[149,149],[150,150],[151,151],[[]],[[]],[[]],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[43],[43],[43],[43],[[149,149],22],[[],22],[[],22],[151,57],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],43],[[],43],[[],43],[[],43],0,[[],43],[[],43],[[],43],[[],43],0,[[]],[[]],[[]],[[]],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],66],[[],65],0,[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[[92,151],[[5,[7]]]],0,[[92,3,3,73,73,22,149],[[5,[151]]]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],16],[[],16],[[],16],[[],16],[[3,3,152],[[5,[151]]]],[153,[[5,[151]]]],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],0,[153,153],[154,154],[155,155],[156,156],[157,157],[158,158],[159,159],[160,160],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[43,43],[161,[[16,[153]]]],[161,[[16,[154]]]],[161,[[16,[155]]]],[161,[[16,[156]]]],[161,[[16,[157]]]],[161,[[16,[158]]]],[161,[[16,[159]]]],[161,[[16,[160]]]],0,[43],[43],[43],[43],[43],[43],[43],[43],[43],0,0,0,0,[[153,54],55],[[154,54],55],[[155,54],55],[[156,54],55],[[157,54],55],[[158,54],55],[[159,54],55],[[160,54],55],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],0,0,[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],66],[[],65],[[],65],[[],66],[[],66],[[],65],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],[[],66],[[],65],[[],66],[[],65],[[],66],[[],65],0,0,0,[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[[67,153],[[5,[7]]]],0,0,0,[[67,3,3,73,73,22],[[5,[153]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[153,162],16],[[154,162],16],[[155,162],16],[[156,162],16],[[157,162],16],[[158,162],16],[[159,162],16],[[160,162],16],0,0,[[67,3,3,73,73,22],[[5,[71]]]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[1],[1],[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[152,152],[163,163],[164,164],[[]],[[]],[[]],[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[161,[[16,[152]]]],[161,[[16,[163]]]],[161,[[16,[164]]]],[43],[43],[43],[43],0,0,0,[[152,54],55],[[163,54],55],[[164,54],55],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],43],[[],43],[[],43],[[],43],0,[[],43],[[],43],[[],43],[[],43],0,[[]],[[]],[[]],[[]],[[],66],[[],65],[[],66],[[],65],[[],66],[[],65],[[],66],[[],65],[68,[[5,[[165,[3]]]]]],[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[77],[[83,3,3,73,152],[[5,[7]]]],[[83,3,3,73],[[5,[152]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[152,162],16],[[163,162],16],[[164,162],16],0,[[83,3,3,73,73],[[5,[71]]]],0,0,0,[[]],[[]],[[]],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],0,[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[166,166],[167,167],[168,168],[[[169,[123]]],[[169,[123]]]],[[]],[[]],[[]],[[]],0,[43],[43],[43],[43],[43],[43],[43],[43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[43,43],[43,43],[43,43],[170,[[16,[166,171]]]],[170,[[16,[167,171]]]],[170,[[16,[168,171]]]],[170,[[16,[[169,[172]],171]]]],[[170,70],[[16,[166,171]]]],[[170,70],[[16,[[169,[172]],171]]]],[43],[43],[43],[43],0,[[166,166],22],[[167,167],22],[[168,168],22],[[[169,[173]],[169,[173]]],22],[[166,54],55],[[167,54],55],[[168,54],55],[[[169,[174]],54],55],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[]],[[]],[[]],[[]],[[],65],[[],66],[[],66],[[],65],[[],65],[[],66],[[],65],[[],66],0,0,0,0,[[],23],[[],23],[[],23],[[],23],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[77],[77],[77],[77],[77],[77],[77],[77],0,0,[77],[77],[77],[77],[77],[77],[77],[77],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],0,0,[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],97],[[],97],[[],97],[[],97],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],23],[[],23],[43],[43],[[]],[[]],[43,43],[43],[[]],[[[175,[100]],41],[[5,[73]]]],[[],43],[[],43],[[]],[[],65],[[],66],[[],23],[[]],0,[[]],[[]],[77],[77],[77],[77],0,[[]],[[]],0,[[176,[45,[3]],[147,[100]]]],[[],16],[[],16],[[],97],[[]],[[]],[[]],[[]],[[]]],"c":[],"p":[[3,"Private"],[8,"AccountFetcher"],[3,"Pubkey"],[8,"AccountDeserialize"],[6,"Result"],[6,"MangoAccountValue"],[3,"TransactionBuilder"],[3,"PreparedInstructions"],[3,"MangoClient"],[6,"TokenIndex"],[6,"I80F48"],[3,"TokenContext"],[3,"ClientBuilder"],[3,"Client"],[4,"ClientBuilderError"],[4,"Result"],[3,"TransactionBuilderConfigBuilder"],[3,"TransactionBuilderConfig"],[4,"TransactionBuilderConfigBuilderError"],[3,"ClientConfig"],[3,"MangoGroupContext"],[15,"bool"],[4,"Option"],[3,"CachedAccountFetcher"],[3,"TransactionSize"],[4,"FallbackOracleConfig"],[4,"JupiterSwapMode"],[3,"FallbackOracleContext"],[3,"Serum3MarketContext"],[3,"OpenbookV2MarketContext"],[3,"PerpMarketContext"],[4,"Cluster"],[3,"CommitmentConfig"],[15,"u32"],[3,"Keypair"],[3,"Arc"],[15,"str"],[3,"ComputeEstimates"],[3,"RpcConfirmTransactionConfig"],[3,"RpcSendTransactionConfig"],[3,"Duration"],[3,"Interval"],[15,"usize"],[3,"HashMap"],[3,"Vec"],[6,"PerpMarketIndex"],[3,"AddressLookupTableAccount"],[8,"Iterator"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"RpcAccountFetcher"],[3,"Bank"],[3,"Formatter"],[6,"Result"],[4,"MangoClientError"],[3,"String"],[3,"UninitializedFieldError"],[3,"Instruction"],[3,"HealthCache"],[15,"f64"],[4,"HealthCheckKind"],[3,"Response"],[8,"DeserializeOwned"],[3,"Request"],[3,"Request"],[3,"JupiterV6"],[3,"RpcClient"],[6,"OpenbookV2MarketIndex"],[15,"u8"],[3,"Signature"],[15,"i64"],[15,"u64"],[4,"Side"],[4,"PlaceOrderType"],[4,"SelfTradeBehavior"],[8,"FnMut"],[4,"ClientError"],[3,"Error"],[3,"Error"],[8,"PriorityFeeProvider"],[3,"Demand"],[3,"Sanctum"],[8,"SerializableTransaction"],[6,"Serum3MarketIndex"],[15,"u128"],[4,"Serum3Side"],[4,"Serum3SelfTradeBehavior"],[4,"Serum3OrderType"],[15,"u16"],[6,"SimulateTransactionResponse"],[3,"Swap"],[3,"AccountMeta"],[15,"f32"],[3,"VersionedTransaction"],[3,"Hash"],[3,"TypeId"],[3,"AccountUpdate"],[3,"ChainSlotUpdate"],[4,"Message"],[3,"RpcKeyedAccount"],[3,"Response"],[3,"ChainData"],[3,"AccountData"],[3,"RandomState"],[4,"SlotStatus"],[3,"SlotData"],[3,"AccountFetcher"],[8,"ZeroCopy"],[8,"Owner"],[3,"AccountSharedData"],[3,"Error"],[3,"Metrics"],[3,"ChainDataMetrics"],[3,"Global"],[6,"Slot"],[3,"RwLock"],[3,"RpcConfirmTransactionConfigBuilder"],[4,"RpcConfirmTransactionConfigBuilderError"],[4,"WaitForTransactionConfirmationError"],[8,"Error"],[3,"TransactionStatus"],[8,"Clone"],[3,"ErrorTrackingBuilder"],[3,"ErrorTracking"],[4,"ErrorTrackingBuilderError"],[8,"Hash"],[8,"Eq"],[8,"Display"],[8,"Copy"],[3,"ErrorState"],[3,"Instant"],[4,"Direction"],[3,"EmaPriorityFeeProviderConfigBuilder"],[3,"EmaPriorityFeeProviderConfig"],[4,"EmaPriorityFeeProviderConfigBuilderError"],[3,"BlockPrioFees"],[3,"FixedPriorityFeeProvider"],[3,"CuPercentileEmaPriorityFeeProvider"],[3,"Sender"],[6,"Command"],[3,"PriorityFeeArgs"],[3,"ArgMatches"],[3,"Error"],[6,"MangoAccountLoadedRef"],[3,"Config"],[3,"Sender"],[3,"JoinHandle"],[4,"Version"],[4,"RawQuote"],[3,"Quote"],[3,"QuoteResponse"],[3,"QuoteResponse"],[3,"PlatformFee"],[3,"RoutePlan"],[3,"SwapInfo"],[3,"SwapRequest"],[3,"JupiterSwapInstructionsResponse"],[3,"InstructionResponse"],[3,"AccountMeta"],[8,"Deserializer"],[8,"Serializer"],[3,"SwapRequest"],[3,"SanctumSwapResponse"],[3,"HashSet"],[4,"AccountType"],[3,"StakePool"],[3,"Fee"],[4,"FutureEpoch"],[8,"Read"],[3,"Error"],[8,"BorshDeserialize"],[8,"PartialEq"],[8,"Debug"],[3,"Receiver"],[3,"Config"],[8,"AnyhowWrap"],[8,"AsyncChannelSendUnlessFull"],[13,"SendTransactionPreflightFailure"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; diff --git a/rs/doc/src/mango_v4/health/client.rs.html b/rs/doc/src/mango_v4/health/client.rs.html index df76a7465..655a842b2 100644 --- a/rs/doc/src/mango_v4/health/client.rs.html +++ b/rs/doc/src/mango_v4/health/client.rs.html @@ -1731,6 +1731,9 @@ 1731 1732 1733 +1734 +1735 +1736
#![cfg(feature = "client")]
 
 use anchor_lang::prelude::*;
@@ -2237,7 +2240,10 @@
         if value <= target {
             return Ok(current);
         }
-        current = current.max(I80F48::ONE) * I80F48::from(2);
+        let Some(new_current) = current.max(I80F48::ONE).checked_mul(I80F48::from(2)) else {
+           break;
+        };
+        current = new_current;
     }
     Err(error_msg!(
         "could not find amount that lead to health ratio <= 0"
diff --git a/ts/client/classes/As.html b/ts/client/classes/As.html
index c3e6c5947..1c1e5568e 100644
--- a/ts/client/classes/As.html
+++ b/ts/client/classes/As.html
@@ -1 +1 @@
-As | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • Tag: keyof never

Hierarchy

  • As

Index

Constructors

Properties

Constructors

  • new As<Tag>(): As<Tag>
  • Type parameters

    • Tag: string | number | symbol

    Returns As<Tag>

Properties

[$as$]: Record<Tag, true>
$as$: typeof $as$

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +As | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • Tag: keyof never

Hierarchy

  • As

Index

Constructors

Properties

Constructors

  • new As<Tag>(): As<Tag>
  • Type parameters

    • Tag: string | number | symbol

    Returns As<Tag>

Properties

[$as$]: Record<Tag, true>
$as$: typeof $as$

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/Bank.html b/ts/client/classes/Bank.html index 3fb354eb5..2911788b7 100644 --- a/ts/client/classes/Bank.html +++ b/ts/client/classes/Bank.html @@ -1,7 +1,7 @@ -Bank | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Bank

Implements

Index

Constructors

Properties

Accessors

Methods

Constructors

  • new Bank(publicKey: PublicKey, group: PublicKey, name: number[], mint: PublicKey, vault: PublicKey, oracle: PublicKey, oracleConfig: OracleConfigDto, stablePriceModel: StablePriceModel, depositIndex: I80F48Dto, borrowIndex: I80F48Dto, indexedDeposits: I80F48Dto, indexedBorrows: I80F48Dto, indexLastUpdated: BN, bankRateLastUpdated: BN, avgUtilization: I80F48Dto, adjustmentFactor: I80F48Dto, util0: I80F48Dto, rate0: I80F48Dto, util1: I80F48Dto, rate1: I80F48Dto, maxRate: I80F48Dto, collectedFeesNative: I80F48Dto, loanOriginationFeeRate: I80F48Dto, loanFeeRate: I80F48Dto, maintAssetWeight: I80F48Dto, initAssetWeight: I80F48Dto, maintLiabWeight: I80F48Dto, initLiabWeight: I80F48Dto, liquidationFee: I80F48Dto, dust: I80F48Dto, flashLoanTokenAccountInitial: BN, flashLoanApprovedAmount: BN, tokenIndex: TokenIndex, mintDecimals: number, bankNum: number, minVaultToDepositsRatio: number, netBorrowLimitWindowSizeTs: BN, lastNetBorrowsWindowStartTs: BN, netBorrowLimitPerWindowQuote: BN, netBorrowsInWindow: BN, borrowWeightScaleStartQuote: number, depositWeightScaleStartQuote: number, reduceOnly: number, forceClose: boolean, feesWithdrawn: BN, tokenConditionalSwapTakerFeeRate: number, tokenConditionalSwapMakerFeeRate: number, flashLoanSwapFeeRate: number, interestTargetUtilization: number, interestCurveScaling: number, potentialSerumTokens: BN, maintWeightShiftStart: BN, maintWeightShiftEnd: BN, maintWeightShiftDurationInv: I80F48Dto, maintWeightShiftAssetTarget: I80F48Dto, maintWeightShiftLiabTarget: I80F48Dto, fallbackOracle: PublicKey, depositLimit: BN, zeroUtilRate: I80F48Dto, platformLiquidationFee: I80F48Dto, collectedLiquidationFees: I80F48Dto, allowAssetLiquidation: boolean, collectedCollateralFees: I80F48Dto, collateralFeePerDay: number, forceWithdraw: boolean): Bank
  • Parameters

    • publicKey: PublicKey
    • group: PublicKey
    • name: number[]
    • mint: PublicKey
    • vault: PublicKey
    • oracle: PublicKey
    • oracleConfig: OracleConfigDto
    • stablePriceModel: StablePriceModel
    • depositIndex: I80F48Dto
    • borrowIndex: I80F48Dto
    • indexedDeposits: I80F48Dto
    • indexedBorrows: I80F48Dto
    • indexLastUpdated: BN
    • bankRateLastUpdated: BN
    • avgUtilization: I80F48Dto
    • adjustmentFactor: I80F48Dto
    • util0: I80F48Dto
    • rate0: I80F48Dto
    • util1: I80F48Dto
    • rate1: I80F48Dto
    • maxRate: I80F48Dto
    • collectedFeesNative: I80F48Dto
    • loanOriginationFeeRate: I80F48Dto
    • loanFeeRate: I80F48Dto
    • maintAssetWeight: I80F48Dto
    • initAssetWeight: I80F48Dto
    • maintLiabWeight: I80F48Dto
    • initLiabWeight: I80F48Dto
    • liquidationFee: I80F48Dto
    • dust: I80F48Dto
    • flashLoanTokenAccountInitial: BN
    • flashLoanApprovedAmount: BN
    • tokenIndex: TokenIndex
    • mintDecimals: number
    • bankNum: number
    • minVaultToDepositsRatio: number
    • netBorrowLimitWindowSizeTs: BN
    • lastNetBorrowsWindowStartTs: BN
    • netBorrowLimitPerWindowQuote: BN
    • netBorrowsInWindow: BN
    • borrowWeightScaleStartQuote: number
    • depositWeightScaleStartQuote: number
    • reduceOnly: number
    • forceClose: boolean
    • feesWithdrawn: BN
    • tokenConditionalSwapTakerFeeRate: number
    • tokenConditionalSwapMakerFeeRate: number
    • flashLoanSwapFeeRate: number
    • interestTargetUtilization: number
    • interestCurveScaling: number
    • potentialSerumTokens: BN
    • maintWeightShiftStart: BN
    • maintWeightShiftEnd: BN
    • maintWeightShiftDurationInv: I80F48Dto
    • maintWeightShiftAssetTarget: I80F48Dto
    • maintWeightShiftLiabTarget: I80F48Dto
    • fallbackOracle: PublicKey
    • depositLimit: BN
    • zeroUtilRate: I80F48Dto
    • platformLiquidationFee: I80F48Dto
    • collectedLiquidationFees: I80F48Dto
    • allowAssetLiquidation: boolean
    • collectedCollateralFees: I80F48Dto
    • collateralFeePerDay: number
    • forceWithdraw: boolean

    Returns Bank

Properties

_oracleLastKnownDeviation: undefined | I80F48
_oracleLastUpdatedSlot: undefined | number
_oracleProvider: undefined | OracleProvider
_price: undefined | I80F48
_uiPrice: undefined | number
adjustmentFactor: I80F48
allowAssetLiquidation: boolean
avgUtilization: I80F48
bankNum: number
bankRateLastUpdated: BN
borrowIndex: I80F48
borrowWeightScaleStartQuote: number
collateralFeePerDay: number
collectedCollateralFees: I80F48
collectedFeesNative: I80F48
collectedLiquidationFees: I80F48
depositIndex: I80F48
depositLimit: BN
depositWeightScaleStartQuote: number
dust: I80F48
fallbackOracle: PublicKey
feesWithdrawn: BN
flashLoanApprovedAmount: BN
flashLoanSwapFeeRate: number
flashLoanTokenAccountInitial: BN
forceClose: boolean
forceWithdraw: boolean
group: PublicKey
indexLastUpdated: BN
indexedBorrows: I80F48
indexedDeposits: I80F48
initAssetWeight: I80F48
initLiabWeight: I80F48
interestCurveScaling: number
interestTargetUtilization: number
lastNetBorrowsWindowStartTs: BN
liquidationFee: I80F48
loanFeeRate: I80F48
loanOriginationFeeRate: I80F48
maintAssetWeight: I80F48
maintLiabWeight: I80F48
maintWeightShiftAssetTarget: I80F48
maintWeightShiftDurationInv: I80F48
maintWeightShiftEnd: BN
maintWeightShiftLiabTarget: I80F48
maintWeightShiftStart: BN
maxRate: I80F48
minVaultToDepositsRatio: number
mint: PublicKey
mintDecimals: number
name: string
netBorrowLimitPerWindowQuote: BN
netBorrowLimitWindowSizeTs: BN
netBorrowsInWindow: BN
oracle: PublicKey
oracleConfig: OracleConfig
platformLiquidationFee: I80F48
potentialSerumTokens: BN
publicKey: PublicKey
rate0: I80F48
rate1: I80F48
reduceOnly: number
stablePriceModel: StablePriceModel
tokenConditionalSwapMakerFeeRate: number
tokenConditionalSwapTakerFeeRate: number
tokenIndex: TokenIndex
util0: I80F48
util1: I80F48
vault: PublicKey
zeroUtilRate: I80F48

Accessors

  • get oracleLastUpdatedSlot(): number
  • get uiPrice(): number

Methods

  • areBorrowsReduceOnly(): boolean
  • areDepositsReduceOnly(): boolean
  • getBorrowLimitLeftInWindow(): I80F48
  • getBorrowRateUi(): number
  • getBorrowRateWithoutUpkeepRate(): I80F48
  • getDepositRateUi(): number
  • getMaxWithdraw(vaultBalance: BN, userDeposits?: I80F48): I80F48
  • getNetBorrowLimitPerWindow(): I80F48
  • getNetBorrowLimitPerWindowUi(): number
  • getRemainingDepositLimit(): null | BN
  • getTimeToNextBorrowLimitWindowStartsTs(): number
  • isOracleStaleOrUnconfident(nowSlot: number): boolean
  • toString(): string
  • uiBorrows(): number
  • uiDeposits(): number
  • from(publicKey: PublicKey, obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collateralFeePerDay: number; collectedCollateralFees: I80F48Dto; collectedFeesNative: I80F48Dto; collectedLiquidationFees: I80F48Dto; depositIndex: I80F48Dto; depositLimit: BN; depositWeightScaleStartQuote: number; disableAssetLiquidation: number; dust: I80F48Dto; fallbackOracle: PublicKey; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; forceWithdraw: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; interestCurveScaling: number; interestTargetUtilization: number; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maintWeightShiftAssetTarget: I80F48Dto; maintWeightShiftDurationInv: I80F48Dto; maintWeightShiftEnd: BN; maintWeightShiftLiabTarget: I80F48Dto; maintWeightShiftStart: BN; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; platformLiquidationFee: I80F48Dto; potentialSerumTokens: BN; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey; zeroUtilRate: I80F48Dto }): Bank
  • Parameters

    • publicKey: PublicKey
    • obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collateralFeePerDay: number; collectedCollateralFees: I80F48Dto; collectedFeesNative: I80F48Dto; collectedLiquidationFees: I80F48Dto; depositIndex: I80F48Dto; depositLimit: BN; depositWeightScaleStartQuote: number; disableAssetLiquidation: number; dust: I80F48Dto; fallbackOracle: PublicKey; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; forceWithdraw: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; interestCurveScaling: number; interestTargetUtilization: number; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maintWeightShiftAssetTarget: I80F48Dto; maintWeightShiftDurationInv: I80F48Dto; maintWeightShiftEnd: BN; maintWeightShiftLiabTarget: I80F48Dto; maintWeightShiftStart: BN; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; platformLiquidationFee: I80F48Dto; potentialSerumTokens: BN; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey; zeroUtilRate: I80F48Dto }
      • adjustmentFactor: I80F48Dto
      • avgUtilization: I80F48Dto
      • bankNum: number
      • bankRateLastUpdated: BN
      • borrowIndex: I80F48Dto
      • borrowWeightScaleStartQuote: number
      • collateralFeePerDay: number
      • collectedCollateralFees: I80F48Dto
      • collectedFeesNative: I80F48Dto
      • collectedLiquidationFees: I80F48Dto
      • depositIndex: I80F48Dto
      • depositLimit: BN
      • depositWeightScaleStartQuote: number
      • disableAssetLiquidation: number
      • dust: I80F48Dto
      • fallbackOracle: PublicKey
      • feesWithdrawn: BN
      • flashLoanApprovedAmount: BN
      • flashLoanSwapFeeRate: number
      • flashLoanTokenAccountInitial: BN
      • forceClose: number
      • forceWithdraw: number
      • group: PublicKey
      • indexLastUpdated: BN
      • indexedBorrows: I80F48Dto
      • indexedDeposits: I80F48Dto
      • initAssetWeight: I80F48Dto
      • initLiabWeight: I80F48Dto
      • interestCurveScaling: number
      • interestTargetUtilization: number
      • lastNetBorrowsWindowStartTs: BN
      • liquidationFee: I80F48Dto
      • loanFeeRate: I80F48Dto
      • loanOriginationFeeRate: I80F48Dto
      • maintAssetWeight: I80F48Dto
      • maintLiabWeight: I80F48Dto
      • maintWeightShiftAssetTarget: I80F48Dto
      • maintWeightShiftDurationInv: I80F48Dto
      • maintWeightShiftEnd: BN
      • maintWeightShiftLiabTarget: I80F48Dto
      • maintWeightShiftStart: BN
      • maxRate: I80F48Dto
      • minVaultToDepositsRatio: number
      • mint: PublicKey
      • mintDecimals: number
      • name: number[]
      • netBorrowLimitPerWindowQuote: BN
      • netBorrowLimitWindowSizeTs: BN
      • netBorrowsInWindow: BN
      • oracle: PublicKey
      • oracleConfig: OracleConfigDto
      • platformLiquidationFee: I80F48Dto
      • potentialSerumTokens: BN
      • rate0: I80F48Dto
      • rate1: I80F48Dto
      • reduceOnly: number
      • stablePriceModel: StablePriceModel
      • tokenConditionalSwapMakerFeeRate: number
      • tokenConditionalSwapTakerFeeRate: number
      • tokenIndex: number
      • util0: I80F48Dto
      • util1: I80F48Dto
      • vault: PublicKey
      • zeroUtilRate: I80F48Dto

    Returns Bank

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +Bank | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Bank

Implements

Index

Constructors

Properties

Accessors

Methods

Constructors

  • new Bank(publicKey: PublicKey, group: PublicKey, name: number[], mint: PublicKey, vault: PublicKey, oracle: PublicKey, oracleConfig: OracleConfigDto, stablePriceModel: StablePriceModel, depositIndex: I80F48Dto, borrowIndex: I80F48Dto, indexedDeposits: I80F48Dto, indexedBorrows: I80F48Dto, indexLastUpdated: BN, bankRateLastUpdated: BN, avgUtilization: I80F48Dto, adjustmentFactor: I80F48Dto, util0: I80F48Dto, rate0: I80F48Dto, util1: I80F48Dto, rate1: I80F48Dto, maxRate: I80F48Dto, collectedFeesNative: I80F48Dto, loanOriginationFeeRate: I80F48Dto, loanFeeRate: I80F48Dto, maintAssetWeight: I80F48Dto, initAssetWeight: I80F48Dto, maintLiabWeight: I80F48Dto, initLiabWeight: I80F48Dto, liquidationFee: I80F48Dto, dust: I80F48Dto, flashLoanTokenAccountInitial: BN, flashLoanApprovedAmount: BN, tokenIndex: TokenIndex, mintDecimals: number, bankNum: number, minVaultToDepositsRatio: number, netBorrowLimitWindowSizeTs: BN, lastNetBorrowsWindowStartTs: BN, netBorrowLimitPerWindowQuote: BN, netBorrowsInWindow: BN, borrowWeightScaleStartQuote: number, depositWeightScaleStartQuote: number, reduceOnly: number, forceClose: boolean, feesWithdrawn: BN, tokenConditionalSwapTakerFeeRate: number, tokenConditionalSwapMakerFeeRate: number, flashLoanSwapFeeRate: number, interestTargetUtilization: number, interestCurveScaling: number, potentialSerumTokens: BN, maintWeightShiftStart: BN, maintWeightShiftEnd: BN, maintWeightShiftDurationInv: I80F48Dto, maintWeightShiftAssetTarget: I80F48Dto, maintWeightShiftLiabTarget: I80F48Dto, fallbackOracle: PublicKey, depositLimit: BN, zeroUtilRate: I80F48Dto, platformLiquidationFee: I80F48Dto, collectedLiquidationFees: I80F48Dto, allowAssetLiquidation: boolean, collectedCollateralFees: I80F48Dto, collateralFeePerDay: number, forceWithdraw: boolean): Bank
  • Parameters

    • publicKey: PublicKey
    • group: PublicKey
    • name: number[]
    • mint: PublicKey
    • vault: PublicKey
    • oracle: PublicKey
    • oracleConfig: OracleConfigDto
    • stablePriceModel: StablePriceModel
    • depositIndex: I80F48Dto
    • borrowIndex: I80F48Dto
    • indexedDeposits: I80F48Dto
    • indexedBorrows: I80F48Dto
    • indexLastUpdated: BN
    • bankRateLastUpdated: BN
    • avgUtilization: I80F48Dto
    • adjustmentFactor: I80F48Dto
    • util0: I80F48Dto
    • rate0: I80F48Dto
    • util1: I80F48Dto
    • rate1: I80F48Dto
    • maxRate: I80F48Dto
    • collectedFeesNative: I80F48Dto
    • loanOriginationFeeRate: I80F48Dto
    • loanFeeRate: I80F48Dto
    • maintAssetWeight: I80F48Dto
    • initAssetWeight: I80F48Dto
    • maintLiabWeight: I80F48Dto
    • initLiabWeight: I80F48Dto
    • liquidationFee: I80F48Dto
    • dust: I80F48Dto
    • flashLoanTokenAccountInitial: BN
    • flashLoanApprovedAmount: BN
    • tokenIndex: TokenIndex
    • mintDecimals: number
    • bankNum: number
    • minVaultToDepositsRatio: number
    • netBorrowLimitWindowSizeTs: BN
    • lastNetBorrowsWindowStartTs: BN
    • netBorrowLimitPerWindowQuote: BN
    • netBorrowsInWindow: BN
    • borrowWeightScaleStartQuote: number
    • depositWeightScaleStartQuote: number
    • reduceOnly: number
    • forceClose: boolean
    • feesWithdrawn: BN
    • tokenConditionalSwapTakerFeeRate: number
    • tokenConditionalSwapMakerFeeRate: number
    • flashLoanSwapFeeRate: number
    • interestTargetUtilization: number
    • interestCurveScaling: number
    • potentialSerumTokens: BN
    • maintWeightShiftStart: BN
    • maintWeightShiftEnd: BN
    • maintWeightShiftDurationInv: I80F48Dto
    • maintWeightShiftAssetTarget: I80F48Dto
    • maintWeightShiftLiabTarget: I80F48Dto
    • fallbackOracle: PublicKey
    • depositLimit: BN
    • zeroUtilRate: I80F48Dto
    • platformLiquidationFee: I80F48Dto
    • collectedLiquidationFees: I80F48Dto
    • allowAssetLiquidation: boolean
    • collectedCollateralFees: I80F48Dto
    • collateralFeePerDay: number
    • forceWithdraw: boolean

    Returns Bank

Properties

_oracleLastKnownDeviation: undefined | I80F48
_oracleLastUpdatedSlot: undefined | number
_oracleProvider: undefined | OracleProvider
_price: undefined | I80F48
_uiPrice: undefined | number
adjustmentFactor: I80F48
allowAssetLiquidation: boolean
avgUtilization: I80F48
bankNum: number
bankRateLastUpdated: BN
borrowIndex: I80F48
borrowWeightScaleStartQuote: number
collateralFeePerDay: number
collectedCollateralFees: I80F48
collectedFeesNative: I80F48
collectedLiquidationFees: I80F48
depositIndex: I80F48
depositLimit: BN
depositWeightScaleStartQuote: number
dust: I80F48
fallbackOracle: PublicKey
feesWithdrawn: BN
flashLoanApprovedAmount: BN
flashLoanSwapFeeRate: number
flashLoanTokenAccountInitial: BN
forceClose: boolean
forceWithdraw: boolean
group: PublicKey
indexLastUpdated: BN
indexedBorrows: I80F48
indexedDeposits: I80F48
initAssetWeight: I80F48
initLiabWeight: I80F48
interestCurveScaling: number
interestTargetUtilization: number
lastNetBorrowsWindowStartTs: BN
liquidationFee: I80F48
loanFeeRate: I80F48
loanOriginationFeeRate: I80F48
maintAssetWeight: I80F48
maintLiabWeight: I80F48
maintWeightShiftAssetTarget: I80F48
maintWeightShiftDurationInv: I80F48
maintWeightShiftEnd: BN
maintWeightShiftLiabTarget: I80F48
maintWeightShiftStart: BN
maxRate: I80F48
minVaultToDepositsRatio: number
mint: PublicKey
mintDecimals: number
name: string
netBorrowLimitPerWindowQuote: BN
netBorrowLimitWindowSizeTs: BN
netBorrowsInWindow: BN
oracle: PublicKey
oracleConfig: OracleConfig
platformLiquidationFee: I80F48
potentialSerumTokens: BN
publicKey: PublicKey
rate0: I80F48
rate1: I80F48
reduceOnly: number
stablePriceModel: StablePriceModel
tokenConditionalSwapMakerFeeRate: number
tokenConditionalSwapTakerFeeRate: number
tokenIndex: TokenIndex
util0: I80F48
util1: I80F48
vault: PublicKey
zeroUtilRate: I80F48

Accessors

  • get oracleLastUpdatedSlot(): number
  • get uiPrice(): number

Methods

  • areBorrowsReduceOnly(): boolean
  • areDepositsReduceOnly(): boolean
  • getBorrowLimitLeftInWindow(): I80F48
  • getBorrowRateUi(): number
  • getBorrowRateWithoutUpkeepRate(): I80F48
  • getDepositRateUi(): number
  • getMaxWithdraw(vaultBalance: BN, userDeposits?: I80F48): I80F48
  • getNetBorrowLimitPerWindow(): I80F48
  • getNetBorrowLimitPerWindowUi(): number
  • getRemainingDepositLimit(): null | BN
  • getTimeToNextBorrowLimitWindowStartsTs(): number
  • isOracleStaleOrUnconfident(nowSlot: number): boolean
  • toString(): string
  • uiBorrows(): number
  • uiDeposits(): number
  • from(publicKey: PublicKey, obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collateralFeePerDay: number; collectedCollateralFees: I80F48Dto; collectedFeesNative: I80F48Dto; collectedLiquidationFees: I80F48Dto; depositIndex: I80F48Dto; depositLimit: BN; depositWeightScaleStartQuote: number; disableAssetLiquidation: number; dust: I80F48Dto; fallbackOracle: PublicKey; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; forceWithdraw: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; interestCurveScaling: number; interestTargetUtilization: number; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maintWeightShiftAssetTarget: I80F48Dto; maintWeightShiftDurationInv: I80F48Dto; maintWeightShiftEnd: BN; maintWeightShiftLiabTarget: I80F48Dto; maintWeightShiftStart: BN; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; platformLiquidationFee: I80F48Dto; potentialSerumTokens: BN; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey; zeroUtilRate: I80F48Dto }): Bank
  • Parameters

    • publicKey: PublicKey
    • obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collateralFeePerDay: number; collectedCollateralFees: I80F48Dto; collectedFeesNative: I80F48Dto; collectedLiquidationFees: I80F48Dto; depositIndex: I80F48Dto; depositLimit: BN; depositWeightScaleStartQuote: number; disableAssetLiquidation: number; dust: I80F48Dto; fallbackOracle: PublicKey; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; forceWithdraw: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; interestCurveScaling: number; interestTargetUtilization: number; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maintWeightShiftAssetTarget: I80F48Dto; maintWeightShiftDurationInv: I80F48Dto; maintWeightShiftEnd: BN; maintWeightShiftLiabTarget: I80F48Dto; maintWeightShiftStart: BN; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; platformLiquidationFee: I80F48Dto; potentialSerumTokens: BN; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey; zeroUtilRate: I80F48Dto }
      • adjustmentFactor: I80F48Dto
      • avgUtilization: I80F48Dto
      • bankNum: number
      • bankRateLastUpdated: BN
      • borrowIndex: I80F48Dto
      • borrowWeightScaleStartQuote: number
      • collateralFeePerDay: number
      • collectedCollateralFees: I80F48Dto
      • collectedFeesNative: I80F48Dto
      • collectedLiquidationFees: I80F48Dto
      • depositIndex: I80F48Dto
      • depositLimit: BN
      • depositWeightScaleStartQuote: number
      • disableAssetLiquidation: number
      • dust: I80F48Dto
      • fallbackOracle: PublicKey
      • feesWithdrawn: BN
      • flashLoanApprovedAmount: BN
      • flashLoanSwapFeeRate: number
      • flashLoanTokenAccountInitial: BN
      • forceClose: number
      • forceWithdraw: number
      • group: PublicKey
      • indexLastUpdated: BN
      • indexedBorrows: I80F48Dto
      • indexedDeposits: I80F48Dto
      • initAssetWeight: I80F48Dto
      • initLiabWeight: I80F48Dto
      • interestCurveScaling: number
      • interestTargetUtilization: number
      • lastNetBorrowsWindowStartTs: BN
      • liquidationFee: I80F48Dto
      • loanFeeRate: I80F48Dto
      • loanOriginationFeeRate: I80F48Dto
      • maintAssetWeight: I80F48Dto
      • maintLiabWeight: I80F48Dto
      • maintWeightShiftAssetTarget: I80F48Dto
      • maintWeightShiftDurationInv: I80F48Dto
      • maintWeightShiftEnd: BN
      • maintWeightShiftLiabTarget: I80F48Dto
      • maintWeightShiftStart: BN
      • maxRate: I80F48Dto
      • minVaultToDepositsRatio: number
      • mint: PublicKey
      • mintDecimals: number
      • name: number[]
      • netBorrowLimitPerWindowQuote: BN
      • netBorrowLimitWindowSizeTs: BN
      • netBorrowsInWindow: BN
      • oracle: PublicKey
      • oracleConfig: OracleConfigDto
      • platformLiquidationFee: I80F48Dto
      • potentialSerumTokens: BN
      • rate0: I80F48Dto
      • rate1: I80F48Dto
      • reduceOnly: number
      • stablePriceModel: StablePriceModel
      • tokenConditionalSwapMakerFeeRate: number
      • tokenConditionalSwapTakerFeeRate: number
      • tokenIndex: number
      • util0: I80F48Dto
      • util1: I80F48Dto
      • vault: PublicKey
      • zeroUtilRate: I80F48Dto

    Returns Bank

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/BookSide.html b/ts/client/classes/BookSide.html index 1f5897e88..e4e8e223a 100644 --- a/ts/client/classes/BookSide.html +++ b/ts/client/classes/BookSide.html @@ -1,7 +1,7 @@ -BookSide | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • BookSide

Index

Constructors

Properties

client: MangoClient
now: BN
orderTreeNodes: OrderTreeNodes
perpMarket: PerpMarket
rootFixed: OrderTreeRoot
rootOraclePegged: OrderTreeRoot
INNER_NODE_TAG: number = 1
LEAF_NODE_TAG: number = 2

Methods

  • fixedItems(): Generator<PerpOrder, any, unknown>
  • getImpactPriceUi(baseLots: BN): undefined | number
  • getL2(depth: number): [number, number, BN, BN][]
  • getL2Ui(depth: number): [number, number][]
  • oraclePeggedItems(): Generator<PerpOrder, any, unknown>
  • getPriceFromKey(key: BN): BN

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/EmptyWallet.html b/ts/client/classes/EmptyWallet.html index bfb0326b8..f97fca09a 100644 --- a/ts/client/classes/EmptyWallet.html +++ b/ts/client/classes/EmptyWallet.html @@ -1 +1 @@ -EmptyWallet | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • EmptyWallet

Implements

  • Wallet

Index

Constructors

Properties

payer: Keypair

Accessors

  • get publicKey(): PublicKey

Methods

  • signAllTransactions<T>(txs: T[]): Promise<T[]>
  • Type parameters

    • T: VersionedTransaction | Transaction

    Parameters

    • txs: T[]

    Returns Promise<T[]>

  • signTransaction<T>(tx: T): Promise<T>
  • Type parameters

    • T: VersionedTransaction | Transaction

    Parameters

    • tx: T

    Returns Promise<T>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +EmptyWallet | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • EmptyWallet

Implements

  • Wallet

Index

Constructors

Properties

payer: Keypair

Accessors

  • get publicKey(): PublicKey

Methods

  • signAllTransactions<T>(txs: T[]): Promise<T[]>
  • Type parameters

    • T: VersionedTransaction | Transaction

    Parameters

    • txs: T[]

    Returns Promise<T[]>

  • signTransaction<T>(tx: T): Promise<T>
  • Type parameters

    • T: VersionedTransaction | Transaction

    Parameters

    • tx: T

    Returns Promise<T>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/FlashLoanWithdraw.html b/ts/client/classes/FlashLoanWithdraw.html index 5c07a4064..d0b95a769 100644 --- a/ts/client/classes/FlashLoanWithdraw.html +++ b/ts/client/classes/FlashLoanWithdraw.html @@ -1 +1 @@ -FlashLoanWithdraw | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +FlashLoanWithdraw | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/Group.html b/ts/client/classes/Group.html index 7c4b04307..bbb8df4fb 100644 --- a/ts/client/classes/Group.html +++ b/ts/client/classes/Group.html @@ -1,5 +1,5 @@ -Group | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Group

Index

Constructors

Properties

Methods

Constructors

  • new Group(publicKey: PublicKey, creator: PublicKey, groupNum: number, admin: PublicKey, fastListingAdmin: PublicKey, mngoTokenIndex: TokenIndex, insuranceMint: PublicKey, insuranceVault: PublicKey, testing: number, version: number, buybackFees: boolean, buybackFeesMngoBonusFactor: number, addressLookupTables: PublicKey[], securityAdmin: PublicKey, depositLimitQuote: any, ixGate: BN, buybackFeesSwapMangoAccount: PublicKey, buybackFeesExpiryInterval: BN, fastListingIntervalStart: BN, fastListingsInInterval: number, allowedFastListingsPerInterval: number, collateralFeeInterval: BN, addressLookupTablesList: AddressLookupTableAccount[], banksMapByName: Map<string, Bank[]>, banksMapByMint: Map<string, Bank[]>, banksMapByTokenIndex: Map<TokenIndex, Bank[]>, serum3MarketsMapByExternal: Map<string, Serum3Market>, serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>, serum3ExternalMarketsMap: Map<string, Market>, openbookV2MarketsMapByExternal: Map<string, OpenbookV2Market>, openbookV2MarketsMapByMarketIndex: Map<MarketIndex, OpenbookV2Market>, openbookV2ExternalMarketsMap: Map<string, DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>, perpMarketsMapByOracle: Map<string, PerpMarket>, perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>, perpMarketsMapByName: Map<string, PerpMarket>, mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>, mintInfosMapByMint: Map<string, MintInfo>, vaultAmountsMap: Map<string, BN>, pis: PriceImpact[]): Group
  • Parameters

    • publicKey: PublicKey
    • creator: PublicKey
    • groupNum: number
    • admin: PublicKey
    • fastListingAdmin: PublicKey
    • mngoTokenIndex: TokenIndex
    • insuranceMint: PublicKey
    • insuranceVault: PublicKey
    • testing: number
    • version: number
    • buybackFees: boolean
    • buybackFeesMngoBonusFactor: number
    • addressLookupTables: PublicKey[]
    • securityAdmin: PublicKey
    • depositLimitQuote: any
    • ixGate: BN
    • buybackFeesSwapMangoAccount: PublicKey
    • buybackFeesExpiryInterval: BN
    • fastListingIntervalStart: BN
    • fastListingsInInterval: number
    • allowedFastListingsPerInterval: number
    • collateralFeeInterval: BN
    • addressLookupTablesList: AddressLookupTableAccount[]
    • banksMapByName: Map<string, Bank[]>
    • banksMapByMint: Map<string, Bank[]>
    • banksMapByTokenIndex: Map<TokenIndex, Bank[]>
    • serum3MarketsMapByExternal: Map<string, Serum3Market>
    • serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>
    • serum3ExternalMarketsMap: Map<string, Market>
    • openbookV2MarketsMapByExternal: Map<string, OpenbookV2Market>
    • openbookV2MarketsMapByMarketIndex: Map<MarketIndex, OpenbookV2Market>
    • openbookV2ExternalMarketsMap: Map<string, DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
    • perpMarketsMapByOracle: Map<string, PerpMarket>
    • perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>
    • perpMarketsMapByName: Map<string, PerpMarket>
    • mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>
    • mintInfosMapByMint: Map<string, MintInfo>
    • vaultAmountsMap: Map<string, BN>
    • pis: PriceImpact[]

    Returns Group

Properties

addressLookupTables: PublicKey[]
addressLookupTablesList: AddressLookupTableAccount[]
admin: PublicKey
allowedFastListingsPerInterval: number
banksMapByMint: Map<string, Bank[]>
banksMapByName: Map<string, Bank[]>
banksMapByTokenIndex: Map<TokenIndex, Bank[]>
buybackFees: boolean
buybackFeesExpiryInterval: BN
buybackFeesMngoBonusFactor: number
buybackFeesSwapMangoAccount: PublicKey
collateralFeeInterval: BN
creator: PublicKey
depositLimitQuote: any
fastListingAdmin: PublicKey
fastListingIntervalStart: BN
fastListingsInInterval: number
groupNum: number
insuranceMint: PublicKey
insuranceVault: PublicKey
ixGate: BN
mintInfosMapByMint: Map<string, MintInfo>
mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>
mngoTokenIndex: TokenIndex
openbookV2ExternalMarketsMap: Map<string, DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
openbookV2MarketsMapByExternal: Map<string, OpenbookV2Market>
openbookV2MarketsMapByMarketIndex: Map<MarketIndex, OpenbookV2Market>
perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>
perpMarketsMapByName: Map<string, PerpMarket>
perpMarketsMapByOracle: Map<string, PerpMarket>
publicKey: PublicKey
securityAdmin: PublicKey
serum3ExternalMarketsMap: Map<string, Market>
serum3MarketsMapByExternal: Map<string, Serum3Market>
serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>
testing: number
vaultAmountsMap: Map<string, BN>
version: number

Methods

  • consoleLogBanks(): void
  • decodePriceFromOracleAi(coder: BorshAccountsCoder<string>, oracle: PublicKey, ai: AccountInfo<Buffer>, baseDecimals: number, client: MangoClient): Promise<{ deviation: I80F48; lastUpdatedSlot: number; price: I80F48; provider: OracleProvider; uiPrice: number }>
  • getFirstBankByMint(mintPk: PublicKey): Bank
  • getFirstBankForMngo(): Bank
  • getFirstBankForPerpSettlement(): Bank
  • getInsuranceMintDecimals(): number
  • getMintDecimals(mintPk: PublicKey): number
  • getMintDecimalsByTokenIndex(tokenIndex: TokenIndex): number
  • getOpenbookV2ExternalMarket(externalMarketPk: PublicKey): DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>
  • Parameters

    • externalMarketPk: PublicKey

    Returns DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

  • getOpenbookV2MarketByExternalMarket(externalMarketPk: PublicKey): OpenbookV2Market
  • getPerpMarketByName(perpMarketName: string): PerpMarket
  • getPerpMarketByOracle(oracle: PublicKey): PerpMarket
  • getPriceImpactByTokenIndex(tokenIndex: TokenIndex, usdcAmountUi: number): number
  • +Group | @blockworks-foundation/mango-v4
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Hierarchy

    • Group

    Index

    Constructors

    Properties

    Methods

    Constructors

    • new Group(publicKey: PublicKey, creator: PublicKey, groupNum: number, admin: PublicKey, fastListingAdmin: PublicKey, mngoTokenIndex: TokenIndex, insuranceMint: PublicKey, insuranceVault: PublicKey, testing: number, version: number, buybackFees: boolean, buybackFeesMngoBonusFactor: number, addressLookupTables: PublicKey[], securityAdmin: PublicKey, depositLimitQuote: any, ixGate: BN, buybackFeesSwapMangoAccount: PublicKey, buybackFeesExpiryInterval: BN, fastListingIntervalStart: BN, fastListingsInInterval: number, allowedFastListingsPerInterval: number, collateralFeeInterval: BN, addressLookupTablesList: AddressLookupTableAccount[], banksMapByName: Map<string, Bank[]>, banksMapByMint: Map<string, Bank[]>, banksMapByTokenIndex: Map<TokenIndex, Bank[]>, serum3MarketsMapByExternal: Map<string, Serum3Market>, serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>, serum3ExternalMarketsMap: Map<string, Market>, openbookV2MarketsMapByExternal: Map<string, OpenbookV2Market>, openbookV2MarketsMapByMarketIndex: Map<MarketIndex, OpenbookV2Market>, openbookV2ExternalMarketsMap: Map<string, DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>, perpMarketsMapByOracle: Map<string, PerpMarket>, perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>, perpMarketsMapByName: Map<string, PerpMarket>, mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>, mintInfosMapByMint: Map<string, MintInfo>, vaultAmountsMap: Map<string, BN>, pis: PriceImpact[]): Group
    • Parameters

      • publicKey: PublicKey
      • creator: PublicKey
      • groupNum: number
      • admin: PublicKey
      • fastListingAdmin: PublicKey
      • mngoTokenIndex: TokenIndex
      • insuranceMint: PublicKey
      • insuranceVault: PublicKey
      • testing: number
      • version: number
      • buybackFees: boolean
      • buybackFeesMngoBonusFactor: number
      • addressLookupTables: PublicKey[]
      • securityAdmin: PublicKey
      • depositLimitQuote: any
      • ixGate: BN
      • buybackFeesSwapMangoAccount: PublicKey
      • buybackFeesExpiryInterval: BN
      • fastListingIntervalStart: BN
      • fastListingsInInterval: number
      • allowedFastListingsPerInterval: number
      • collateralFeeInterval: BN
      • addressLookupTablesList: AddressLookupTableAccount[]
      • banksMapByName: Map<string, Bank[]>
      • banksMapByMint: Map<string, Bank[]>
      • banksMapByTokenIndex: Map<TokenIndex, Bank[]>
      • serum3MarketsMapByExternal: Map<string, Serum3Market>
      • serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>
      • serum3ExternalMarketsMap: Map<string, Market>
      • openbookV2MarketsMapByExternal: Map<string, OpenbookV2Market>
      • openbookV2MarketsMapByMarketIndex: Map<MarketIndex, OpenbookV2Market>
      • openbookV2ExternalMarketsMap: Map<string, DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
      • perpMarketsMapByOracle: Map<string, PerpMarket>
      • perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>
      • perpMarketsMapByName: Map<string, PerpMarket>
      • mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>
      • mintInfosMapByMint: Map<string, MintInfo>
      • vaultAmountsMap: Map<string, BN>
      • pis: PriceImpact[]

      Returns Group

    Properties

    addressLookupTables: PublicKey[]
    addressLookupTablesList: AddressLookupTableAccount[]
    admin: PublicKey
    allowedFastListingsPerInterval: number
    banksMapByMint: Map<string, Bank[]>
    banksMapByName: Map<string, Bank[]>
    banksMapByTokenIndex: Map<TokenIndex, Bank[]>
    buybackFees: boolean
    buybackFeesExpiryInterval: BN
    buybackFeesMngoBonusFactor: number
    buybackFeesSwapMangoAccount: PublicKey
    collateralFeeInterval: BN
    creator: PublicKey
    depositLimitQuote: any
    fastListingAdmin: PublicKey
    fastListingIntervalStart: BN
    fastListingsInInterval: number
    groupNum: number
    insuranceMint: PublicKey
    insuranceVault: PublicKey
    ixGate: BN
    mintInfosMapByMint: Map<string, MintInfo>
    mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>
    mngoTokenIndex: TokenIndex
    openbookV2ExternalMarketsMap: Map<string, DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
    openbookV2MarketsMapByExternal: Map<string, OpenbookV2Market>
    openbookV2MarketsMapByMarketIndex: Map<MarketIndex, OpenbookV2Market>
    perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>
    perpMarketsMapByName: Map<string, PerpMarket>
    perpMarketsMapByOracle: Map<string, PerpMarket>
    publicKey: PublicKey
    securityAdmin: PublicKey
    serum3ExternalMarketsMap: Map<string, Market>
    serum3MarketsMapByExternal: Map<string, Serum3Market>
    serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>
    testing: number
    vaultAmountsMap: Map<string, BN>
    version: number

    Methods

    • consoleLogBanks(): void
    • decodePriceFromOracleAi(coder: BorshAccountsCoder<string>, oracle: PublicKey, ai: AccountInfo<Buffer>, baseDecimals: number, client: MangoClient): Promise<{ deviation: I80F48; lastUpdatedSlot: number; price: I80F48; provider: OracleProvider; uiPrice: number }>
    • getFirstBankByMint(mintPk: PublicKey): Bank
    • getFirstBankForMngo(): Bank
    • getFirstBankForPerpSettlement(): Bank
    • getInsuranceMintDecimals(): number
    • getMintDecimals(mintPk: PublicKey): number
    • getMintDecimalsByTokenIndex(tokenIndex: TokenIndex): number
    • getOpenbookV2ExternalMarket(externalMarketPk: PublicKey): DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>
    • Parameters

      • externalMarketPk: PublicKey

      Returns DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

    • getOpenbookV2MarketByExternalMarket(externalMarketPk: PublicKey): OpenbookV2Market
    • getPerpMarketByName(perpMarketName: string): PerpMarket
    • getPerpMarketByOracle(oracle: PublicKey): PerpMarket
    • getPriceImpactByTokenIndex(tokenIndex: TokenIndex, usdcAmountUi: number): number
    • getSerum3ExternalMarket(externalMarketPk: PublicKey): Market
    • getSerum3MarketByExternalMarket(externalMarketPk: PublicKey): Serum3Market
    • getSerum3MarketByMarketIndex(marketIndex: MarketIndex): Serum3Market
    • getTokenVaultBalanceByMint(mintPk: PublicKey): BN
    • getTokenVaultBalanceByMintUi(mintPk: PublicKey): number
    • loadOpenbookV2AsksForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
    • Parameters

      Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

    • loadOpenbookV2BidsForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
    • Parameters

      Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

    • loadSerum3AsksForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<Orderbook>
    • loadSerum3BidsForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<Orderbook>
    • reloadBankOraclePrices(client: MangoClient): Promise<void>
    • reloadBanks(client: MangoClient, ids?: Id): Promise<void>
    • reloadMintInfos(client: MangoClient, ids?: Id): Promise<void>
    • reloadOpenbookV2ExternalMarkets(client: MangoClient, ids?: Id): Promise<void>
    • reloadOpenbookV2Markets(client: MangoClient, ids?: Id): Promise<void>
    • reloadPerpMarketOraclePrices(client: MangoClient): Promise<void>
    • reloadPerpMarkets(client: MangoClient, ids?: Id): Promise<void>
    • reloadPriceImpactData(): Promise<void>
    • reloadSerum3ExternalMarkets(client: MangoClient, ids?: Id): Promise<void>
    • reloadSerum3Markets(client: MangoClient, ids?: Id): Promise<void>
    • toNativeDecimals(uiAmount: number, mintPk: PublicKey): BN
    • toNativePrice(uiPrice: number, baseDecimals: number): I80F48
    • toString(): string
    • toUiPrice(price: number | I80F48, baseDecimals: number): number
    • from(publicKey: PublicKey, obj: { addressLookupTables: PublicKey[]; admin: PublicKey; allowedFastListingsPerInterval: number; buybackFees: number; buybackFeesExpiryInterval: BN; buybackFeesMngoBonusFactor: number; buybackFeesSwapMangoAccount: PublicKey; collateralFeeInterval: BN; creator: PublicKey; depositLimitQuote: BN; fastListingAdmin: PublicKey; fastListingIntervalStart: BN; fastListingsInInterval: number; groupNum: number; insuranceMint: PublicKey; insuranceVault: PublicKey; ixGate: BN; mngoTokenIndex: number; securityAdmin: PublicKey; testing: number; version: number }): Group
    • Parameters

      • publicKey: PublicKey
      • obj: { addressLookupTables: PublicKey[]; admin: PublicKey; allowedFastListingsPerInterval: number; buybackFees: number; buybackFeesExpiryInterval: BN; buybackFeesMngoBonusFactor: number; buybackFeesSwapMangoAccount: PublicKey; collateralFeeInterval: BN; creator: PublicKey; depositLimitQuote: BN; fastListingAdmin: PublicKey; fastListingIntervalStart: BN; fastListingsInInterval: number; groupNum: number; insuranceMint: PublicKey; insuranceVault: PublicKey; ixGate: BN; mngoTokenIndex: number; securityAdmin: PublicKey; testing: number; version: number }
        • addressLookupTables: PublicKey[]
        • admin: PublicKey
        • allowedFastListingsPerInterval: number
        • buybackFees: number
        • buybackFeesExpiryInterval: BN
        • buybackFeesMngoBonusFactor: number
        • buybackFeesSwapMangoAccount: PublicKey
        • collateralFeeInterval: BN
        • creator: PublicKey
        • depositLimitQuote: BN
        • fastListingAdmin: PublicKey
        • fastListingIntervalStart: BN
        • fastListingsInInterval: number
        • groupNum: number
        • insuranceMint: PublicKey
        • insuranceVault: PublicKey
        • ixGate: BN
        • mngoTokenIndex: number
        • securityAdmin: PublicKey
        • testing: number
        • version: number

      Returns Group

    Legend

    • Constructor
    • Property
    • Method
    • Property
    • Method
    • Private property
    • Private method
    • Static property
    • Static method

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns number

  • getSerum3ExternalMarket(externalMarketPk: PublicKey): Market
  • getSerum3MarketByExternalMarket(externalMarketPk: PublicKey): Serum3Market
  • getSerum3MarketByMarketIndex(marketIndex: MarketIndex): Serum3Market
  • getTokenVaultBalanceByMint(mintPk: PublicKey): BN
  • getTokenVaultBalanceByMintUi(mintPk: PublicKey): number
  • loadOpenbookV2AsksForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
  • Parameters

    Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

  • loadOpenbookV2BidsForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
  • Parameters

    Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

  • loadSerum3AsksForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<Orderbook>
  • loadSerum3BidsForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<Orderbook>
  • reloadBankOraclePrices(client: MangoClient): Promise<void>
  • reloadBanks(client: MangoClient, ids?: Id): Promise<void>
  • reloadMintInfos(client: MangoClient, ids?: Id): Promise<void>
  • reloadOpenbookV2ExternalMarkets(client: MangoClient, ids?: Id): Promise<void>
  • reloadOpenbookV2Markets(client: MangoClient, ids?: Id): Promise<void>
  • reloadPerpMarketOraclePrices(client: MangoClient): Promise<void>
  • reloadPerpMarkets(client: MangoClient, ids?: Id): Promise<void>
  • reloadPriceImpactData(): Promise<void>
  • reloadSerum3ExternalMarkets(client: MangoClient, ids?: Id): Promise<void>
  • reloadSerum3Markets(client: MangoClient, ids?: Id): Promise<void>
  • toNativeDecimals(uiAmount: number, mintPk: PublicKey): BN
  • toNativePrice(uiPrice: number, baseDecimals: number): I80F48
  • toString(): string
  • toUiPrice(price: number | I80F48, baseDecimals: number): number
  • from(publicKey: PublicKey, obj: { addressLookupTables: PublicKey[]; admin: PublicKey; allowedFastListingsPerInterval: number; buybackFees: number; buybackFeesExpiryInterval: BN; buybackFeesMngoBonusFactor: number; buybackFeesSwapMangoAccount: PublicKey; collateralFeeInterval: BN; creator: PublicKey; depositLimitQuote: BN; fastListingAdmin: PublicKey; fastListingIntervalStart: BN; fastListingsInInterval: number; groupNum: number; insuranceMint: PublicKey; insuranceVault: PublicKey; ixGate: BN; mngoTokenIndex: number; securityAdmin: PublicKey; testing: number; version: number }): Group
  • Parameters

    • publicKey: PublicKey
    • obj: { addressLookupTables: PublicKey[]; admin: PublicKey; allowedFastListingsPerInterval: number; buybackFees: number; buybackFeesExpiryInterval: BN; buybackFeesMngoBonusFactor: number; buybackFeesSwapMangoAccount: PublicKey; collateralFeeInterval: BN; creator: PublicKey; depositLimitQuote: BN; fastListingAdmin: PublicKey; fastListingIntervalStart: BN; fastListingsInInterval: number; groupNum: number; insuranceMint: PublicKey; insuranceVault: PublicKey; ixGate: BN; mngoTokenIndex: number; securityAdmin: PublicKey; testing: number; version: number }
      • addressLookupTables: PublicKey[]
      • admin: PublicKey
      • allowedFastListingsPerInterval: number
      • buybackFees: number
      • buybackFeesExpiryInterval: BN
      • buybackFeesMngoBonusFactor: number
      • buybackFeesSwapMangoAccount: PublicKey
      • collateralFeeInterval: BN
      • creator: PublicKey
      • depositLimitQuote: BN
      • fastListingAdmin: PublicKey
      • fastListingIntervalStart: BN
      • fastListingsInInterval: number
      • groupNum: number
      • insuranceMint: PublicKey
      • insuranceVault: PublicKey
      • ixGate: BN
      • mngoTokenIndex: number
      • securityAdmin: PublicKey
      • testing: number
      • version: number

    Returns Group

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/HealthType.html b/ts/client/classes/HealthType.html index 5293d1196..03c78da48 100644 --- a/ts/client/classes/HealthType.html +++ b/ts/client/classes/HealthType.html @@ -1 +1 @@ -HealthType | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • HealthType

Index

Constructors

Properties

init: { init: {} } = ...

Type declaration

  • init: {}
    liquidationEnd: { liquidationEnd: {} } = ...

    Type declaration

    • liquidationEnd: {}
      maint: { maint: {} } = ...

      Type declaration

      • maint: {}

        Legend

        • Constructor
        • Property
        • Method
        • Property
        • Method
        • Private property
        • Private method
        • Static property
        • Static method

        Settings

        Theme

        Generated using TypeDoc

        \ No newline at end of file +HealthType | @blockworks-foundation/mango-v4
        Options
        All
        • Public
        • Public/Protected
        • All
        Menu

        Hierarchy

        • HealthType

        Index

        Constructors

        Properties

        init: { init: {} } = ...

        Type declaration

        • init: {}
          liquidationEnd: { liquidationEnd: {} } = ...

          Type declaration

          • liquidationEnd: {}
            maint: { maint: {} } = ...

            Type declaration

            • maint: {}

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/I80F48.html b/ts/client/classes/I80F48.html index 4b4e53175..1a4301069 100644 --- a/ts/client/classes/I80F48.html +++ b/ts/client/classes/I80F48.html @@ -1,11 +1,11 @@ -I80F48 | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • I80F48

              Index

              Constructors

              Properties

              data: BN
              FRACTIONS: number = 48
              MAX_BN: BN = ...
              MAX_SIZE: number = 128
              +I80F48 | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • I80F48

              Index

              Constructors

              Properties

              data: BN
              FRACTIONS: number = 48
              MAX_BN: BN = ...
              MAX_SIZE: number = 128

              This is represented by a 128 bit signed integer underneath The first 80 bits are treated as an integer and last 48 bits are treated as fractional part after binary point It's possible to think of an I80F48 as an i128 divided by 2 ^ 40

              Read up on how fixed point math works: https://inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html Read up on how 2s complement works: https://en.wikipedia.org/wiki/Two%27s_complement

              -
              MIN_BN: BN = ...
              MULTIPLIER_BIG: any = ...
              MULTIPLIER_BN: BN = ...
              MULTIPLIER_NUMBER: number = ...

              Methods

              • getBinaryLayout(): string
              • getData(): BN
              • isNeg(): boolean
              • isPos(): boolean
              • isZero(): boolean
              MIN_BN: BN = ...
              MULTIPLIER_BIG: any = ...
              MULTIPLIER_BN: BN = ...
              MULTIPLIER_NUMBER: number = ...

              Methods

              • getBinaryLayout(): string
              • getData(): BN
              • isNeg(): boolean
              • isPos(): boolean
              • isZero(): boolean
              • toArray(): Uint8Array
              • toArrayLike(ArrayType: BufferConstructor, endian?: Endianness, length?: number): Buffer
              • toBig(): Big
              • toFixed(decimals?: number): string
              • toArray(): Uint8Array
              • toArrayLike(ArrayType: BufferConstructor, endian?: Endianness, length?: number): Buffer
              • toBig(): Big
              • toFixed(decimals?: number): string
              • toLocaleString(locales?: string | string[], options?: NumberFormatOptions): string
              • toNumber(): number
              • toString(): string
              • toTwos(): BN
              • fromArray(src: Uint8Array): I80F48
              • fromNumberOrUndef(x?: number): undefined | I80F48
              • fromOptionalString(x?: string): undefined | I80F48

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +

              Parameters

              • Optional decimals: number

              Returns string

              • toLocaleString(locales?: string | string[], options?: NumberFormatOptions): string
              • toNumber(): number
              • toString(): string
              • toTwos(): BN
              • fromArray(src: Uint8Array): I80F48
              • fromNumberOrUndef(x?: number): undefined | I80F48
              • fromOptionalString(x?: string): undefined | I80F48

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/I80F48Dto.html b/ts/client/classes/I80F48Dto.html index c66be7414..d48d9b74b 100644 --- a/ts/client/classes/I80F48Dto.html +++ b/ts/client/classes/I80F48Dto.html @@ -1 +1 @@ -I80F48Dto | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +I80F48Dto | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/InnerNode.html b/ts/client/classes/InnerNode.html index 5f6d6d1b3..afa5824db 100644 --- a/ts/client/classes/InnerNode.html +++ b/ts/client/classes/InnerNode.html @@ -1 +1 @@ -InnerNode | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • InnerNode

              Index

              Constructors

              Properties

              Methods

              Constructors

              Properties

              children: [number]

              Methods

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +InnerNode | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • InnerNode

              Index

              Constructors

              Properties

              Methods

              Constructors

              Properties

              children: [number]

              Methods

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/InterestRateParams.html b/ts/client/classes/InterestRateParams.html index 443f32503..5f0173f3c 100644 --- a/ts/client/classes/InterestRateParams.html +++ b/ts/client/classes/InterestRateParams.html @@ -1 +1 @@ -InterestRateParams | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +InterestRateParams | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/LeafNode.html b/ts/client/classes/LeafNode.html index 646d0d3b0..b57aa4ec5 100644 --- a/ts/client/classes/LeafNode.html +++ b/ts/client/classes/LeafNode.html @@ -1 +1 @@ -LeafNode | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • LeafNode

              Index

              Constructors

              • new LeafNode(ownerSlot: number, orderType: PerpOrderType, timeInForce: number, key: BN, owner: PublicKey, quantity: BN, timestamp: BN, pegLimit: BN): LeafNode

              Properties

              key: BN
              orderType: PerpOrderType
              owner: PublicKey
              ownerSlot: number
              pegLimit: BN
              quantity: BN
              timeInForce: number
              timestamp: BN

              Methods

              • from(obj: { key: BN; orderType: PerpOrderType; owner: PublicKey; ownerSlot: number; pegLimit: BN; quantity: BN; timeInForce: number; timestamp: BN }): LeafNode

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +LeafNode | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • LeafNode

              Index

              Constructors

              • new LeafNode(ownerSlot: number, orderType: PerpOrderType, timeInForce: number, key: BN, owner: PublicKey, quantity: BN, timestamp: BN, pegLimit: BN): LeafNode

              Properties

              key: BN
              orderType: PerpOrderType
              owner: PublicKey
              ownerSlot: number
              pegLimit: BN
              quantity: BN
              timeInForce: number
              timestamp: BN

              Methods

              • from(obj: { key: BN; orderType: PerpOrderType; owner: PublicKey; ownerSlot: number; pegLimit: BN; quantity: BN; timeInForce: number; timestamp: BN }): LeafNode

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/MangoAccount.html b/ts/client/classes/MangoAccount.html index 4869fcd87..1a7abfd99 100644 --- a/ts/client/classes/MangoAccount.html +++ b/ts/client/classes/MangoAccount.html @@ -1,69 +1,69 @@ -MangoAccount | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • MangoAccount

              Index

              Constructors

              Properties

              Methods

              Constructors

              • new MangoAccount(publicKey: PublicKey, group: PublicKey, owner: PublicKey, name: number[], delegate: PublicKey, accountNum: number, beingLiquidated: boolean, inHealthRegion: boolean, netDeposits: BN, perpSpotTransfers: BN, healthRegionBeginInitHealth: BN, frozenUntil: BN, buybackFeesAccruedCurrent: BN, buybackFeesAccruedPrevious: BN, buybackFeesExpiryTimestamp: BN, sequenceNumber: number, headerVersion: number, lastCollateralFeeCharge: BN, tokens: TokenPositionDto[], serum3: Serum3PositionDto[], openbookV2: OpenbookV2PositionDto[], perps: PerpPositionDto[], perpOpenOrders: PerpOoDto[], tokenConditionalSwaps: TokenConditionalSwapDto[], serum3OosMapByMarketIndex: Map<number, OpenOrders>, openbookV2OosMapByMarketIndex: Map<number, DecodeStruct<{ fields: [{ name: "owner"; type: "publicKey" }, { name: "market"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: { defined: "NonZeroPubkeyOption" } }, { name: "accountNum"; type: "u32" }, { name: "bump"; type: "u8" }, { name: "version"; type: "u8" }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>): MangoAccount
              • Parameters

                • publicKey: PublicKey
                • group: PublicKey
                • owner: PublicKey
                • name: number[]
                • delegate: PublicKey
                • accountNum: number
                • beingLiquidated: boolean
                • inHealthRegion: boolean
                • netDeposits: BN
                • perpSpotTransfers: BN
                • healthRegionBeginInitHealth: BN
                • frozenUntil: BN
                • buybackFeesAccruedCurrent: BN
                • buybackFeesAccruedPrevious: BN
                • buybackFeesExpiryTimestamp: BN
                • sequenceNumber: number
                • headerVersion: number
                • lastCollateralFeeCharge: BN
                • tokens: TokenPositionDto[]
                • serum3: Serum3PositionDto[]
                • openbookV2: OpenbookV2PositionDto[]
                • perps: PerpPositionDto[]
                • perpOpenOrders: PerpOoDto[]
                • tokenConditionalSwaps: TokenConditionalSwapDto[]
                • serum3OosMapByMarketIndex: Map<number, OpenOrders>
                • openbookV2OosMapByMarketIndex: Map<number, DecodeStruct<{ fields: [{ name: "owner"; type: "publicKey" }, { name: "market"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: { defined: "NonZeroPubkeyOption" } }, { name: "accountNum"; type: "u32" }, { name: "bump"; type: "u8" }, { name: "version"; type: "u8" }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

                Returns MangoAccount

              Properties

              accountNum: number
              beingLiquidated: boolean
              buybackFeesAccruedCurrent: BN
              buybackFeesAccruedPrevious: BN
              buybackFeesExpiryTimestamp: BN
              delegate: PublicKey
              frozenUntil: BN
              group: PublicKey
              headerVersion: number
              healthRegionBeginInitHealth: BN
              inHealthRegion: boolean
              lastCollateralFeeCharge: BN
              name: string
              netDeposits: BN
              openbookV2: OpenbookV2Orders[]
              openbookV2OosMapByMarketIndex: Map<number, DecodeStruct<{ fields: [{ name: "owner"; type: "publicKey" }, { name: "market"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: { defined: "NonZeroPubkeyOption" } }, { name: "accountNum"; type: "u32" }, { name: "bump"; type: "u8" }, { name: "version"; type: "u8" }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
              owner: PublicKey
              perpOpenOrders: PerpOo[]
              perpSpotTransfers: BN
              perps: PerpPosition[]
              publicKey: PublicKey
              sequenceNumber: number
              serum3: Serum3Orders[]
              serum3OosMapByMarketIndex: Map<number, OpenOrders>
              tokenConditionalSwaps: TokenConditionalSwap[]
              tokens: TokenPosition[]

              Methods

              • calculateEquivalentSourceAmount(sourceBank: Bank, targetBank: Bank, targetRemainingDepositLimit: BN): I80F48
              • toString(group?: Group, onlyTokens?: boolean): string
              • from(publicKey: PublicKey, obj: { accountNum: number; beingLiquidated: number; buybackFeesAccruedCurrent: BN; buybackFeesAccruedPrevious: BN; buybackFeesExpiryTimestamp: BN; delegate: PublicKey; frozenUntil: BN; group: PublicKey; headerVersion: number; healthRegionBeginInitHealth: BN; inHealthRegion: number; lastCollateralFeeCharge: BN; name: number[]; netDeposits: BN; openbookV2: unknown; owner: PublicKey; perpOpenOrders: unknown; perpSpotTransfers: BN; perps: unknown; sequenceNumber: number; serum3: unknown; tokenConditionalSwaps: unknown; tokens: unknown }): MangoAccount
              • Parameters

                • publicKey: PublicKey
                • obj: { accountNum: number; beingLiquidated: number; buybackFeesAccruedCurrent: BN; buybackFeesAccruedPrevious: BN; buybackFeesExpiryTimestamp: BN; delegate: PublicKey; frozenUntil: BN; group: PublicKey; headerVersion: number; healthRegionBeginInitHealth: BN; inHealthRegion: number; lastCollateralFeeCharge: BN; name: number[]; netDeposits: BN; openbookV2: unknown; owner: PublicKey; perpOpenOrders: unknown; perpSpotTransfers: BN; perps: unknown; sequenceNumber: number; serum3: unknown; tokenConditionalSwaps: unknown; tokens: unknown }
                  • accountNum: number
                  • beingLiquidated: number
                  • buybackFeesAccruedCurrent: BN
                  • buybackFeesAccruedPrevious: BN
                  • buybackFeesExpiryTimestamp: BN
                  • delegate: PublicKey
                  • frozenUntil: BN
                  • group: PublicKey
                  • headerVersion: number
                  • healthRegionBeginInitHealth: BN
                  • inHealthRegion: number
                  • lastCollateralFeeCharge: BN
                  • name: number[]
                  • netDeposits: BN
                  • openbookV2: unknown
                  • owner: PublicKey
                  • perpOpenOrders: unknown
                  • perpSpotTransfers: BN
                  • perps: unknown
                  • sequenceNumber: number
                  • serum3: unknown
                  • tokenConditionalSwaps: unknown
                  • tokens: unknown

                Returns MangoAccount

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/MangoClient.html b/ts/client/classes/MangoClient.html index b894d714c..8f1580f2c 100644 --- a/ts/client/classes/MangoClient.html +++ b/ts/client/classes/MangoClient.html @@ -1,4 +1,4 @@ -MangoClient | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • MangoClient

              Index

              Constructors

              Properties

              Accessors

              Methods

              Constructors

              • new MangoClient(program: Program<MangoV4>, programId: PublicKey, cluster: Cluster, opts?: MangoClientOptions): MangoClient

              Properties

              cluster: Cluster
              estimateFee: boolean
              fallbackOracleConfig: FallbackOracleConfig = 'never'
              fixedFallbacks: Map<string, [PublicKey, PublicKey]> = ...
              idsSource: IdsSource
              multipleConnections: Connection[] = []
              openbookFeesToDao: boolean
              opts: MangoClientOptions = {}
              postSendTxCallback?: (callbackOpts: TxCallbackOptions) => void

              Type declaration

                • (callbackOpts: TxCallbackOptions): void
                • Parameters

                  • callbackOpts: TxCallbackOptions

                  Returns void

              postTxConfirmationCallback?: (callbackOpts: TxCallbackOptions) => void

              Type declaration

                • (callbackOpts: TxCallbackOptions): void
                • Parameters

                  • callbackOpts: TxCallbackOptions

                  Returns void

              prependedGlobalAdditionalInstructions: TransactionInstruction[] = []
              prioritizationFee: number
              program: Program<MangoV4>
              programId: PublicKey
              txConfirmationCommitment: Commitment

              Accessors

              • get connection(): Connection
              • get walletPk(): PublicKey

              Methods

              • accountBuybackFeesWithMngoIx(group: Group, mangoAccount: MangoAccount, maxBuybackUsd?: number): Promise<TransactionInstruction>
              • accountExpandV2(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number, tokenConditionalSwapCount: number): Promise<MangoSignatureStatus>
              • accountExpandV2Ix(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number, tokenConditionalSwapCount: number): Promise<TransactionInstruction>
              • Parameters

                • group: Group
                • account: MangoAccount
                • tokenCount: number
                • serum3Count: number
                • perpCount: number
                • perpOoCount: number
                • tokenConditionalSwapCount: number

                Returns Promise<TransactionInstruction>

              • accountExpandV3(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number, tokenConditionalSwapCount: number, openbookV2Count: number): Promise<MangoSignatureStatus>
              • accountExpandV3Ix(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number, tokenConditionalSwapCount: number, openbookV2Count: number): Promise<TransactionInstruction>
              • Parameters

                • group: Group
                • account: MangoAccount
                • tokenCount: number
                • serum3Count: number
                • perpCount: number
                • perpOoCount: number
                • tokenConditionalSwapCount: number
                • openbookV2Count: number

                Returns Promise<TransactionInstruction>

              Returns Promise<PublicKey[]>

              • Note: this ix doesn't settle liabs, reduce open positions, or withdraw tokens to wallet, it simply closes the account. To close successfully ensure all positions are closed, or use forceClose flag

                -

                Parameters

                Returns Promise<MangoSignatureStatus>

              • createMangoAccount(group: Group, accountNumber?: number, name?: string, tokenCount?: number, serum3Count?: number, perpCount?: number, perpOoCount?: number): Promise<MangoSignatureStatus>
              • deriveFallbackOracleContexts(group: Group): Promise<Map<string, [PublicKey, PublicKey]>>
              • createMangoAccount(group: Group, accountNumber?: number, name?: string, tokenCount?: number, serum3Count?: number, perpCount?: number, perpOoCount?: number): Promise<MangoSignatureStatus>
              • deriveFallbackOracleContexts(group: Group): Promise<Map<string, [PublicKey, PublicKey]>>
              • This function assumes that the provided group has loaded banks

                -

                Parameters

                Returns Promise<Map<string, [PublicKey, PublicKey]>>

              • estimatePrioritizationFee(ixs: TransactionInstruction[]): Promise<number>
              • estimatePrioritizationFee(ixs: TransactionInstruction[]): Promise<number>
              • Returns an estimate of a prioritization fee for a set of instructions.

                The estimate is based on the median fees of writable accounts that will be involved in the transaction.

                Parameters

                • ixs: TransactionInstruction[]

                  the instructions that make up the transaction

                Returns Promise<number>

                prioritizationFeeEstimate -- in microLamports

                -
              • getAllMangoAccounts(group: Group, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount[]>
              • getBanksForGroup(group: Group): Promise<Bank[]>
              • getGroup(groupPk: PublicKey): Promise<Group>
              • getGroupForCreator(creatorPk: PublicKey, groupNum: number): Promise<Group>
              • getGroupsForCreator(creatorPk: PublicKey): Promise<Group[]>
              • getIds(groupPk: PublicKey): Promise<undefined | Id>
              • getMangoAccount(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount>
              • getMangoAccountForOwner(group: Group, ownerPk: PublicKey, accountNumber: number, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<undefined | MangoAccount>
              • getMangoAccountFromAi(mangoAccountPk: PublicKey, ai: AccountInfo<Buffer>): MangoAccount
              • getMangoAccountFromPk(mangoAccountPk: PublicKey): Promise<MangoAccount>
              • getMangoAccountWithSlot(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<undefined | { slot: number; value: MangoAccount }>
              • Parameters

                • mangoAccountPk: PublicKey
                • loadSerum3Oo: boolean = false
                • loadOpenbookV2Oo: boolean = false

                Returns Promise<undefined | { slot: number; value: MangoAccount }>

              • getMangoAccountsForDelegate(group: Group, delegate: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount[]>
              • getMangoAccountsForOwner(group: Group, ownerPk: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount[]>
              • groupChangeInsuranceFund(group: Group, withdrawDestination: PublicKey, newInsuranceMint: PublicKey): Promise<MangoSignatureStatus>
              • groupCreate(groupNum: number, testing: boolean, version: number, insuranceMintPk: PublicKey): Promise<MangoSignatureStatus>
              • groupEdit(group: Group, admin?: PublicKey, fastListingAdmin?: PublicKey, securityAdmin?: PublicKey, testing?: number, version?: number, depositLimitQuote?: BN, feesPayWithMngo?: boolean, feesMngoBonusRate?: number, feesSwapMangoAccount?: PublicKey, feesMngoTokenIndex?: TokenIndex, feesExpiryInterval?: BN, allowedFastListingsPerInterval?: number, collateralFeeInterval?: BN): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • Optional admin: PublicKey
                • Optional fastListingAdmin: PublicKey
                • Optional securityAdmin: PublicKey
                • Optional testing: number
                • Optional version: number
                • Optional depositLimitQuote: BN
                • Optional feesPayWithMngo: boolean
                • Optional feesMngoBonusRate: number
                • Optional feesSwapMangoAccount: PublicKey
                • Optional feesMngoTokenIndex: TokenIndex
                • Optional feesExpiryInterval: BN
                • Optional allowedFastListingsPerInterval: number
                • Optional collateralFeeInterval: BN

                Returns Promise<MangoSignatureStatus>

              • marginTrade(__namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }): Promise<MangoSignatureStatus>
              • Parameters

                • __namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }
                  • amountIn: number
                  • flashLoanType: FlashLoanType
                  • group: Group
                  • inputMintPk: PublicKey
                  • mangoAccount: MangoAccount
                  • outputMintPk: PublicKey
                  • userDefinedAlts: AddressLookupTableAccount[]
                  • userDefinedInstructions: TransactionInstruction[]

                Returns Promise<MangoSignatureStatus>

              • openbookV2CancelAllOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side?: OpenbookV2Side, limit?: number): Promise<TransactionInstruction>
              • openbookV2CancelOrderByClientOrderIdIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: OpenbookV2Side, clientOrderId: BN): Promise<TransactionInstruction>
              • openbookV2CancelOrderIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: OpenbookV2Side, orderId: BN): Promise<TransactionInstruction>
              • openbookV2CloseOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • openbookV2CreateOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<{ ix: TransactionInstruction; openOrdersAccount: PublicKey }>
              • openbookV2EditMarket(group: Group, openbookV2MarketIndex: MarketIndex, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string, oraclePriceBand: null | number): Promise<MangoSignatureStatus>
              • openbookV2GetMarkets(group: Group, baseTokenIndex?: number, quoteTokenIndex?: number): Promise<OpenbookV2Market[]>
              • openbookV2RegisterMarket(group: Group, openbookV2MarketExternalPk: PublicKey, baseBank: Bank, quoteBank: Bank, marketIndex: number, name: string, oraclePriceBand: number): Promise<MangoSignatureStatus>
              • openbookV2SettleFundsIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • openbookV2SettleFundsV2Ix(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • perpCancelOrderByClientOrderIdIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, clientOrderId: BN): Promise<TransactionInstruction>
              • perpConsumeEventsIx(group: Group, perpMarketIndex: PerpMarketIndex, accounts: PublicKey[], limit: number): Promise<TransactionInstruction>
              • perpCreateMarket(group: Group, oraclePk: PublicKey, perpMarketIndex: number, name: string, oracleConfig: OracleConfigParams, baseDecimals: number, quoteLotSize: number, baseLotSize: number, maintBaseAssetWeight: number, initBaseAssetWeight: number, maintBaseLiabWeight: number, initBaseLiabWeight: number, maintOverallAssetWeight: number, initOverallAssetWeight: number, baseLiquidationFee: number, makerFee: number, takerFee: number, feePenalty: number, minFunding: number, maxFunding: number, impactQuantity: number, groupInsuranceFund: boolean, settleFeeFlat: number, settleFeeAmountThreshold: number, settleFeeFractionLowHealth: number, settleTokenIndex: number, settlePnlLimitFactor: number, settlePnlLimitWindowSize: number, positivePnlLiquidationFee: number, platformLiquidationFee: number): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • oraclePk: PublicKey
                • perpMarketIndex: number
                • name: string
                • oracleConfig: OracleConfigParams
                • baseDecimals: number
                • quoteLotSize: number
                • baseLotSize: number
                • maintBaseAssetWeight: number
                • initBaseAssetWeight: number
                • maintBaseLiabWeight: number
                • initBaseLiabWeight: number
                • maintOverallAssetWeight: number
                • initOverallAssetWeight: number
                • baseLiquidationFee: number
                • makerFee: number
                • takerFee: number
                • feePenalty: number
                • minFunding: number
                • maxFunding: number
                • impactQuantity: number
                • groupInsuranceFund: boolean
                • settleFeeFlat: number
                • settleFeeAmountThreshold: number
                • settleFeeFractionLowHealth: number
                • settleTokenIndex: number
                • settlePnlLimitFactor: number
                • settlePnlLimitWindowSize: number
                • positivePnlLiquidationFee: number
                • platformLiquidationFee: number

                Returns Promise<MangoSignatureStatus>

              • perpPlaceOrderIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
              • perpPlaceOrderPeggedIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
              • perpPlaceOrderPeggedV2Ix(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, selfTradeBehavior?: PerpSelfTradeBehavior, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
              • perpUpdateFundingIx(group: Group, perpMarket: PerpMarket): Promise<TransactionInstruction>
              • sendAndConfirmTransaction(ixs: TransactionInstruction[], opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • sendAndConfirmTransaction(ixs: TransactionInstruction[], opts?: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • Parameters

                • ixs: TransactionInstruction[]
                • Optional opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • Parameters

                • ixs: TransactionInstruction[]
                • Optional opts: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • sendAndConfirmTransactionForGroup(group: Group, ixs: TransactionInstruction[], opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • sendAndConfirmTransactionForGroup(group: Group, ixs: TransactionInstruction[], opts?: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • ixs: TransactionInstruction[]
                • Optional opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • Parameters

                • group: Group
                • ixs: TransactionInstruction[]
                • Optional opts: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • sequenceCheckIx(group: Group, mangoAccount: MangoAccount): Promise<TransactionInstruction>
              • serum3CancelAllOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<TransactionInstruction>
              • serum3CancelOrderByClientIdIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, clientOrderId: BN): Promise<TransactionInstruction>
              • serum3CancelOrderIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: OpenbookV2Side, orderId: BN): Promise<TransactionInstruction>
              • serum3CloseOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • serum3CreateOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • serum3EditMarket(group: Group, serum3MarketIndex: MarketIndex, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string, oraclePriceBand: null | number): Promise<MangoSignatureStatus>
              • serum3EditMarketIx(group: Group, serum3MarketIndex: MarketIndex, admin: PublicKey, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string, oraclePriceBand: null | number): Promise<TransactionInstruction>
              • Parameters

                • group: Group
                • serum3MarketIndex: MarketIndex
                • admin: PublicKey
                • reduceOnly: null | boolean
                • forceClose: null | boolean
                • name: null | string
                • oraclePriceBand: null | number

                Returns Promise<TransactionInstruction>

              • serum3GetMarkets(group: Group, baseTokenIndex?: number, quoteTokenIndex?: number): Promise<Serum3Market[]>
              • serum3RegisterMarket(group: Group, serum3MarketExternalPk: PublicKey, baseBank: Bank, quoteBank: Bank, marketIndex: number, name: string, oraclePriceBand: number): Promise<MangoSignatureStatus>
              • serum3SettleFundsIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • serum3SettleFundsV2Ix(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • tcsStopLossOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsStopLossOnBorrowIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxBuyUi: null | number
                • pricePremium: null | number
                • allowMargin: null | boolean
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tcsStopLossOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsStopLossOnDepositIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxSell: null | number
                • pricePremium: null | number
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tcsTakeProfitOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsTakeProfitOnBorrowIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxBuyUi: null | number
                • pricePremium: null | number
                • allowMargin: null | boolean
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tcsTakeProfitOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsTakeProfitOnDepositIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxSell: null | number
                • pricePremium: null | number
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCancelIx(group: Group, account: MangoAccount, tokenConditionalSwapId: BN): Promise<TransactionInstruction>
              • tokenConditionalSwapCreate(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimitNativeNative: number, upperLimitNativeNative: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", pricePremium: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimitNativeNative: number
                • upperLimitNativeNative: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • pricePremium: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean

                Returns Promise<MangoSignatureStatus>

              • tokenConditionalSwapCreateIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimitNativeNative: number, upperLimitNativeNative: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", pricePremium: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimitNativeNative: number
                • upperLimitNativeNative: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • pricePremium: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCreateLinearAuction(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, priceStart: number, priceEnd: number, maxBuy: number, maxSell: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, displayPriceInSellTokenPerBuyToken: boolean, startTimestamp: number, durationSeconds: number, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • priceStart: number
                • priceEnd: number
                • maxBuy: number
                • maxSell: number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • displayPriceInSellTokenPerBuyToken: boolean
                • startTimestamp: number
                • durationSeconds: number
                • expiryTimestamp: null | number

                Returns Promise<MangoSignatureStatus>

              • tokenConditionalSwapCreateLinearAuctionIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, priceStart: number, priceEnd: number, maxBuy: number, maxSell: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, displayPriceInSellTokenPerBuyToken: boolean, startTimestamp: number, durationSeconds: number, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • priceStart: number
                • priceEnd: number
                • maxBuy: number
                • maxSell: number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • displayPriceInSellTokenPerBuyToken: boolean
                • startTimestamp: number
                • durationSeconds: number
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCreatePremiumAuction(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimit: number, upperLimit: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", maxPricePremiumPercent: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean, durationSeconds: number): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimit: number
                • upperLimit: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • maxPricePremiumPercent: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean
                • durationSeconds: number

                Returns Promise<MangoSignatureStatus>

              • tokenConditionalSwapCreatePremiumAuctionIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimitNative: number, upperLimitNative: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", maxPricePremiumPercent: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean, durationSeconds: any, premiumMultiplier?: number, extraPricePremiumBps?: number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimitNative: number
                • upperLimitNative: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • maxPricePremiumPercent: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean
                • durationSeconds: any
                • premiumMultiplier: number = 1
                • extraPricePremiumBps: number = 0

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCreateRawIx(group: Group, account: MangoAccount, buyMintPk: PublicKey, sellMintPk: PublicKey, maxBuy: BN, maxSell: BN, expiryTimestamp: null | number, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, priceDisplayStyle: TokenConditionalSwapDisplayPriceStyle, intention: TokenConditionalSwapIntention): Promise<TransactionInstruction[]>
              • tokenConditionalSwapTriggerIx(group: Group, liqee: MangoAccount, liqor: MangoAccount, tokenConditionalSwapId: BN, maxBuyTokenToLiqee: number, maxSellTokenToLiqor: number): Promise<TransactionInstruction>
              • tokenRegister(group: Group, mintPk: PublicKey, oraclePk: PublicKey, fallbackOraclePk: PublicKey, tokenIndex: number, name: string, params: TokenRegisterParams): Promise<MangoSignatureStatus>
              • tokenRegisterTrustless(group: Group, mintPk: PublicKey, oraclePk: PublicKey, tokenIndex: number, name: string): Promise<MangoSignatureStatus>
              • tokenUpdateIndexAndRateIx(group: Group, mintPk: PublicKey): Promise<TransactionInstruction>
              • getAllMangoAccounts(group: Group, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount[]>
              • getBanksForGroup(group: Group): Promise<Bank[]>
              • getGroup(groupPk: PublicKey): Promise<Group>
              • getGroupForCreator(creatorPk: PublicKey, groupNum: number): Promise<Group>
              • getGroupsForCreator(creatorPk: PublicKey): Promise<Group[]>
              • getIds(groupPk: PublicKey): Promise<undefined | Id>
              • getMangoAccount(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount>
              • getMangoAccountForOwner(group: Group, ownerPk: PublicKey, accountNumber: number, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<undefined | MangoAccount>
              • getMangoAccountFromAi(mangoAccountPk: PublicKey, ai: AccountInfo<Buffer>): MangoAccount
              • getMangoAccountFromPk(mangoAccountPk: PublicKey): Promise<MangoAccount>
              • getMangoAccountWithSlot(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<undefined | { slot: number; value: MangoAccount }>
              • Parameters

                • mangoAccountPk: PublicKey
                • loadSerum3Oo: boolean = false
                • loadOpenbookV2Oo: boolean = false

                Returns Promise<undefined | { slot: number; value: MangoAccount }>

              • getMangoAccountsForDelegate(group: Group, delegate: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount[]>
              • getMangoAccountsForOwner(group: Group, ownerPk: PublicKey, loadSerum3Oo?: boolean, loadOpenbookV2Oo?: boolean): Promise<MangoAccount[]>
              • groupChangeInsuranceFund(group: Group, withdrawDestination: PublicKey, newInsuranceMint: PublicKey): Promise<MangoSignatureStatus>
              • groupCreate(groupNum: number, testing: boolean, version: number, insuranceMintPk: PublicKey): Promise<MangoSignatureStatus>
              • groupEdit(group: Group, admin?: PublicKey, fastListingAdmin?: PublicKey, securityAdmin?: PublicKey, testing?: number, version?: number, depositLimitQuote?: BN, feesPayWithMngo?: boolean, feesMngoBonusRate?: number, feesSwapMangoAccount?: PublicKey, feesMngoTokenIndex?: TokenIndex, feesExpiryInterval?: BN, allowedFastListingsPerInterval?: number, collateralFeeInterval?: BN): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • Optional admin: PublicKey
                • Optional fastListingAdmin: PublicKey
                • Optional securityAdmin: PublicKey
                • Optional testing: number
                • Optional version: number
                • Optional depositLimitQuote: BN
                • Optional feesPayWithMngo: boolean
                • Optional feesMngoBonusRate: number
                • Optional feesSwapMangoAccount: PublicKey
                • Optional feesMngoTokenIndex: TokenIndex
                • Optional feesExpiryInterval: BN
                • Optional allowedFastListingsPerInterval: number
                • Optional collateralFeeInterval: BN

                Returns Promise<MangoSignatureStatus>

              • marginTrade(__namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }): Promise<MangoSignatureStatus>
              • Parameters

                • __namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }
                  • amountIn: number
                  • flashLoanType: FlashLoanType
                  • group: Group
                  • inputMintPk: PublicKey
                  • mangoAccount: MangoAccount
                  • outputMintPk: PublicKey
                  • userDefinedAlts: AddressLookupTableAccount[]
                  • userDefinedInstructions: TransactionInstruction[]

                Returns Promise<MangoSignatureStatus>

              • openbookV2CancelAllOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side?: OpenbookV2Side, limit?: number): Promise<TransactionInstruction>
              • openbookV2CancelOrderByClientOrderIdIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: OpenbookV2Side, clientOrderId: BN): Promise<TransactionInstruction>
              • openbookV2CancelOrderIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: OpenbookV2Side, orderId: BN): Promise<TransactionInstruction>
              • openbookV2CloseOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • openbookV2CreateOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<{ ix: TransactionInstruction; openOrdersAccount: PublicKey }>
              • openbookV2EditMarket(group: Group, openbookV2MarketIndex: MarketIndex, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string, oraclePriceBand: null | number): Promise<MangoSignatureStatus>
              • openbookV2GetMarkets(group: Group, baseTokenIndex?: number, quoteTokenIndex?: number): Promise<OpenbookV2Market[]>
              • openbookV2RegisterMarket(group: Group, openbookV2MarketExternalPk: PublicKey, baseBank: Bank, quoteBank: Bank, marketIndex: number, name: string, oraclePriceBand: number): Promise<MangoSignatureStatus>
              • openbookV2SettleFundsIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • openbookV2SettleFundsV2Ix(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • perpCancelOrderByClientOrderIdIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, clientOrderId: BN): Promise<TransactionInstruction>
              • perpConsumeEventsIx(group: Group, perpMarketIndex: PerpMarketIndex, accounts: PublicKey[], limit: number): Promise<TransactionInstruction>
              • perpCreateMarket(group: Group, oraclePk: PublicKey, perpMarketIndex: number, name: string, oracleConfig: OracleConfigParams, baseDecimals: number, quoteLotSize: number, baseLotSize: number, maintBaseAssetWeight: number, initBaseAssetWeight: number, maintBaseLiabWeight: number, initBaseLiabWeight: number, maintOverallAssetWeight: number, initOverallAssetWeight: number, baseLiquidationFee: number, makerFee: number, takerFee: number, feePenalty: number, minFunding: number, maxFunding: number, impactQuantity: number, groupInsuranceFund: boolean, settleFeeFlat: number, settleFeeAmountThreshold: number, settleFeeFractionLowHealth: number, settleTokenIndex: number, settlePnlLimitFactor: number, settlePnlLimitWindowSize: number, positivePnlLiquidationFee: number, platformLiquidationFee: number): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • oraclePk: PublicKey
                • perpMarketIndex: number
                • name: string
                • oracleConfig: OracleConfigParams
                • baseDecimals: number
                • quoteLotSize: number
                • baseLotSize: number
                • maintBaseAssetWeight: number
                • initBaseAssetWeight: number
                • maintBaseLiabWeight: number
                • initBaseLiabWeight: number
                • maintOverallAssetWeight: number
                • initOverallAssetWeight: number
                • baseLiquidationFee: number
                • makerFee: number
                • takerFee: number
                • feePenalty: number
                • minFunding: number
                • maxFunding: number
                • impactQuantity: number
                • groupInsuranceFund: boolean
                • settleFeeFlat: number
                • settleFeeAmountThreshold: number
                • settleFeeFractionLowHealth: number
                • settleTokenIndex: number
                • settlePnlLimitFactor: number
                • settlePnlLimitWindowSize: number
                • positivePnlLiquidationFee: number
                • platformLiquidationFee: number

                Returns Promise<MangoSignatureStatus>

              • perpPlaceOrderIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
              • perpPlaceOrderPeggedIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
              • perpPlaceOrderPeggedV2Ix(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, selfTradeBehavior?: PerpSelfTradeBehavior, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
              • perpUpdateFundingIx(group: Group, perpMarket: PerpMarket): Promise<TransactionInstruction>
              • sendAndConfirmTransaction(ixs: TransactionInstruction[], opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • sendAndConfirmTransaction(ixs: TransactionInstruction[], opts?: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • Parameters

                • ixs: TransactionInstruction[]
                • Optional opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • Parameters

                • ixs: TransactionInstruction[]
                • Optional opts: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • sendAndConfirmTransactionForGroup(group: Group, ixs: TransactionInstruction[], opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • sendAndConfirmTransactionForGroup(group: Group, ixs: TransactionInstruction[], opts?: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • ixs: TransactionInstruction[]
                • Optional opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • Parameters

                • group: Group
                • ixs: TransactionInstruction[]
                • Optional opts: { confirmInBackground: true } & Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>

                Returns Promise<MangoSignatureStatus>

              • sequenceCheckIx(group: Group, mangoAccount: MangoAccount): Promise<TransactionInstruction>
              • serum3CancelAllOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<TransactionInstruction>
              • serum3CancelOrderByClientIdIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, clientOrderId: BN): Promise<TransactionInstruction>
              • serum3CancelOrderIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: OpenbookV2Side, orderId: BN): Promise<TransactionInstruction>
              • serum3CloseOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • serum3CreateOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • serum3EditMarket(group: Group, serum3MarketIndex: MarketIndex, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string, oraclePriceBand: null | number): Promise<MangoSignatureStatus>
              • serum3EditMarketIx(group: Group, serum3MarketIndex: MarketIndex, admin: PublicKey, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string, oraclePriceBand: null | number): Promise<TransactionInstruction>
              • Parameters

                • group: Group
                • serum3MarketIndex: MarketIndex
                • admin: PublicKey
                • reduceOnly: null | boolean
                • forceClose: null | boolean
                • name: null | string
                • oraclePriceBand: null | number

                Returns Promise<TransactionInstruction>

              • serum3GetMarkets(group: Group, baseTokenIndex?: number, quoteTokenIndex?: number): Promise<Serum3Market[]>
              • serum3RegisterMarket(group: Group, serum3MarketExternalPk: PublicKey, baseBank: Bank, quoteBank: Bank, marketIndex: number, name: string, oraclePriceBand: number): Promise<MangoSignatureStatus>
              • serum3SettleFundsIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • serum3SettleFundsV2Ix(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
              • tcsStopLossOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsStopLossOnBorrowIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxBuyUi: null | number
                • pricePremium: null | number
                • allowMargin: null | boolean
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tcsStopLossOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsStopLossOnDepositIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxSell: null | number
                • pricePremium: null | number
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tcsTakeProfitOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsTakeProfitOnBorrowIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxBuyUi: null | number
                • pricePremium: null | number
                • allowMargin: null | boolean
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tcsTakeProfitOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • tcsTakeProfitOnDepositIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPrice: number, thresholdPriceInSellPerBuyToken: boolean, maxSell: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • thresholdPrice: number
                • thresholdPriceInSellPerBuyToken: boolean
                • maxSell: null | number
                • pricePremium: null | number
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCancelIx(group: Group, account: MangoAccount, tokenConditionalSwapId: BN): Promise<TransactionInstruction>
              • tokenConditionalSwapCreate(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimitNativeNative: number, upperLimitNativeNative: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", pricePremium: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimitNativeNative: number
                • upperLimitNativeNative: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • pricePremium: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean

                Returns Promise<MangoSignatureStatus>

              • tokenConditionalSwapCreateIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimitNativeNative: number, upperLimitNativeNative: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", pricePremium: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimitNativeNative: number
                • upperLimitNativeNative: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • pricePremium: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCreateLinearAuction(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, priceStart: number, priceEnd: number, maxBuy: number, maxSell: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, displayPriceInSellTokenPerBuyToken: boolean, startTimestamp: number, durationSeconds: number, expiryTimestamp: null | number): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • priceStart: number
                • priceEnd: number
                • maxBuy: number
                • maxSell: number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • displayPriceInSellTokenPerBuyToken: boolean
                • startTimestamp: number
                • durationSeconds: number
                • expiryTimestamp: null | number

                Returns Promise<MangoSignatureStatus>

              • tokenConditionalSwapCreateLinearAuctionIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, priceStart: number, priceEnd: number, maxBuy: number, maxSell: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, displayPriceInSellTokenPerBuyToken: boolean, startTimestamp: number, durationSeconds: number, expiryTimestamp: null | number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • priceStart: number
                • priceEnd: number
                • maxBuy: number
                • maxSell: number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • displayPriceInSellTokenPerBuyToken: boolean
                • startTimestamp: number
                • durationSeconds: number
                • expiryTimestamp: null | number

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCreatePremiumAuction(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimit: number, upperLimit: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", maxPricePremiumPercent: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean, durationSeconds: number): Promise<MangoSignatureStatus>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimit: number
                • upperLimit: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • maxPricePremiumPercent: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean
                • durationSeconds: number

                Returns Promise<MangoSignatureStatus>

              • tokenConditionalSwapCreatePremiumAuctionIx(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, lowerLimitNative: number, upperLimitNative: number, maxBuy: number, maxSell: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", maxPricePremiumPercent: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number, displayPriceInSellTokenPerBuyToken: boolean, durationSeconds: any, premiumMultiplier?: number, extraPricePremiumBps?: number): Promise<TransactionInstruction[]>
              • Parameters

                • group: Group
                • account: MangoAccount
                • sellBank: Bank
                • buyBank: Bank
                • lowerLimitNative: number
                • upperLimitNative: number
                • maxBuy: number
                • maxSell: number
                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                • maxPricePremiumPercent: null | number
                • allowCreatingDeposits: boolean
                • allowCreatingBorrows: boolean
                • expiryTimestamp: null | number
                • displayPriceInSellTokenPerBuyToken: boolean
                • durationSeconds: any
                • premiumMultiplier: number = 1
                • extraPricePremiumBps: number = 0

                Returns Promise<TransactionInstruction[]>

              • tokenConditionalSwapCreateRawIx(group: Group, account: MangoAccount, buyMintPk: PublicKey, sellMintPk: PublicKey, maxBuy: BN, maxSell: BN, expiryTimestamp: null | number, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, priceDisplayStyle: TokenConditionalSwapDisplayPriceStyle, intention: TokenConditionalSwapIntention): Promise<TransactionInstruction[]>
              • tokenConditionalSwapTriggerIx(group: Group, liqee: MangoAccount, liqor: MangoAccount, tokenConditionalSwapId: BN, maxBuyTokenToLiqee: number, maxSellTokenToLiqor: number): Promise<TransactionInstruction>
              • tokenRegister(group: Group, mintPk: PublicKey, oraclePk: PublicKey, fallbackOraclePk: PublicKey, tokenIndex: number, name: string, params: TokenRegisterParams): Promise<MangoSignatureStatus>
              • tokenRegisterTrustless(group: Group, mintPk: PublicKey, oraclePk: PublicKey, tokenIndex: number, name: string): Promise<MangoSignatureStatus>
              • tokenUpdateIndexAndRateIx(group: Group, mintPk: PublicKey): Promise<TransactionInstruction>
              • tokenWithdrawNativeIx(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, allowBorrow: boolean): Promise<TransactionInstruction[]>
              • connect(provider: default, cluster: Cluster, programId: PublicKey, opts?: MangoClientOptions): MangoClient
              • tokenWithdrawNativeIx(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, allowBorrow: boolean): Promise<TransactionInstruction[]>
              • connect(provider: default, cluster: Cluster, programId: PublicKey, opts?: MangoClientOptions): MangoClient
              • Connect with defaults,

                • random ephemeral keypair,
                • @@ -35,4 +35,4 @@ use forceClose flag

                • connects to mainnet-beta
                • uses well known program Id
                -

                Parameters

                • clusterUrl: string

                Returns MangoClient

              • connectForGroupName(provider: default, groupName: string): MangoClient

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +

              Parameters

              • clusterUrl: string

              Returns MangoClient

              • connectForGroupName(provider: default, groupName: string): MangoClient

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file diff --git a/ts/client/classes/MangoError.html b/ts/client/classes/MangoError.html index d958e73fe..6f6266c95 100644 --- a/ts/client/classes/MangoError.html +++ b/ts/client/classes/MangoError.html @@ -1,4 +1,4 @@ -MangoError | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • Error
                • MangoError

              Index

              Constructors

              • new MangoError(__namedParameters: Object): MangoError

              Properties

              cause?: unknown
              message: string
              name: string
              stack?: string
              txid: string
              prepareStackTrace?: (err: Error, stackTraces: CallSite[]) => any

              Type declaration

                • (err: Error, stackTraces: CallSite[]): any
                • +MangoError | @blockworks-foundation/mango-v4
                  Options
                  All
                  • Public
                  • Public/Protected
                  • All
                  Menu

                  Hierarchy

                  • Error
                    • MangoError

                  Index

                  Constructors

                  • new MangoError(__namedParameters: Object): MangoError

                  Properties

                  cause?: unknown
                  message: string
                  name: string
                  stack?: string
                  txid: string
                  prepareStackTrace?: (err: Error, stackTraces: CallSite[]) => any

                  Type declaration

                  stackTraceLimit: number

                  Methods

                  • captureStackTrace(targetObject: object, constructorOpt?: Function): void
                  • diff --git a/ts/client/classes/MintInfo.html b/ts/client/classes/MintInfo.html index 8c6686096..580db5e8f 100644 --- a/ts/client/classes/MintInfo.html +++ b/ts/client/classes/MintInfo.html @@ -1 +1 @@ -MintInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • MintInfo

                    Index

                    Constructors

                    • new MintInfo(publicKey: PublicKey, group: PublicKey, tokenIndex: TokenIndex, mint: PublicKey, banks: PublicKey[], vaults: PublicKey[], oracle: PublicKey, registrationTime: BN, fallbackOracle: PublicKey, groupInsuranceFund: boolean): MintInfo
                    • Parameters

                      • publicKey: PublicKey
                      • group: PublicKey
                      • tokenIndex: TokenIndex
                      • mint: PublicKey
                      • banks: PublicKey[]
                      • vaults: PublicKey[]
                      • oracle: PublicKey
                      • registrationTime: BN
                      • fallbackOracle: PublicKey
                      • groupInsuranceFund: boolean

                      Returns MintInfo

                    Properties

                    banks: PublicKey[]
                    fallbackOracle: PublicKey
                    group: PublicKey
                    groupInsuranceFund: boolean
                    mint: PublicKey
                    oracle: PublicKey
                    publicKey: PublicKey
                    registrationTime: BN
                    tokenIndex: TokenIndex
                    vaults: PublicKey[]

                    Methods

                    • firstBank(): PublicKey
                    • firstVault(): PublicKey
                    • toString(): string
                    • from(publicKey: PublicKey, obj: { banks: PublicKey[]; fallbackOracle: PublicKey; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }): MintInfo
                    • Parameters

                      • publicKey: PublicKey
                      • obj: { banks: PublicKey[]; fallbackOracle: PublicKey; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }
                        • banks: PublicKey[]
                        • fallbackOracle: PublicKey
                        • group: PublicKey
                        • groupInsuranceFund: number
                        • mint: PublicKey
                        • oracle: PublicKey
                        • registrationTime: BN
                        • tokenIndex: number
                        • vaults: PublicKey[]

                      Returns MintInfo

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +MintInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • MintInfo

                    Index

                    Constructors

                    • new MintInfo(publicKey: PublicKey, group: PublicKey, tokenIndex: TokenIndex, mint: PublicKey, banks: PublicKey[], vaults: PublicKey[], oracle: PublicKey, registrationTime: BN, fallbackOracle: PublicKey, groupInsuranceFund: boolean): MintInfo
                    • Parameters

                      • publicKey: PublicKey
                      • group: PublicKey
                      • tokenIndex: TokenIndex
                      • mint: PublicKey
                      • banks: PublicKey[]
                      • vaults: PublicKey[]
                      • oracle: PublicKey
                      • registrationTime: BN
                      • fallbackOracle: PublicKey
                      • groupInsuranceFund: boolean

                      Returns MintInfo

                    Properties

                    banks: PublicKey[]
                    fallbackOracle: PublicKey
                    group: PublicKey
                    groupInsuranceFund: boolean
                    mint: PublicKey
                    oracle: PublicKey
                    publicKey: PublicKey
                    registrationTime: BN
                    tokenIndex: TokenIndex
                    vaults: PublicKey[]

                    Methods

                    • firstBank(): PublicKey
                    • firstVault(): PublicKey
                    • toString(): string
                    • from(publicKey: PublicKey, obj: { banks: PublicKey[]; fallbackOracle: PublicKey; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }): MintInfo
                    • Parameters

                      • publicKey: PublicKey
                      • obj: { banks: PublicKey[]; fallbackOracle: PublicKey; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }
                        • banks: PublicKey[]
                        • fallbackOracle: PublicKey
                        • group: PublicKey
                        • groupInsuranceFund: number
                        • mint: PublicKey
                        • oracle: PublicKey
                        • registrationTime: BN
                        • tokenIndex: number
                        • vaults: PublicKey[]

                      Returns MintInfo

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/OpenbookV2Market.html b/ts/client/classes/OpenbookV2Market.html index 69e252b36..419e6d32c 100644 --- a/ts/client/classes/OpenbookV2Market.html +++ b/ts/client/classes/OpenbookV2Market.html @@ -1,5 +1,5 @@ -OpenbookV2Market | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • OpenbookV2Market

                    Index

                    Constructors

                    • new OpenbookV2Market(publicKey: PublicKey, group: PublicKey, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, name: number[], openbookProgram: PublicKey, openbookMarketExternal: PublicKey, marketIndex: OpenbookV2MarketIndex, registrationTime: BN, reduceOnly: boolean, forceClose: boolean): OpenbookV2Market

                    Properties

                    baseTokenIndex: TokenIndex
                    forceClose: boolean
                    group: PublicKey
                    name: string
                    openbookMarketExternal: PublicKey
                    openbookProgram: PublicKey
                    publicKey: PublicKey
                    quoteTokenIndex: TokenIndex
                    reduceOnly: boolean
                    registrationTime: BN

                    Methods

                    • computePriceForMarketOrderOfSize(client: MangoClient, group: Group, size: number, side: "buy" | "sell"): Promise<number>
                    • findOoIndexerPda(programId: PublicKey, mangoAccount: PublicKey): PublicKey
                    • findOoPda(programId: PublicKey, mangoAccount: PublicKey, index: number): PublicKey
                    • getFeeRates(taker?: boolean): number
                    • getL2(client: MangoClient, marketAccount: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>, bidsAccount?: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>, asksAccount?: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>): [number, number][]
                    • Parameters

                      • client: MangoClient
                      • marketAccount: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>
                      • Optional bidsAccount: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>
                      • Optional asksAccount: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

                      Returns [number, number][]

                    • getNextOoPda(client: MangoClient, programId: PublicKey, mangoAccount: PublicKey): Promise<PublicKey>
                    • loadAsks(client: MangoClient, group: Group): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
                    • Parameters

                      Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

                    • loadBids(client: MangoClient, group: Group): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
                    • Parameters

                      Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

                    • maxAskLeverage(group: Group): number
                    • Parameters

                      Returns number

                      maximum leverage one can ask on this market, this is only for display purposes, +OpenbookV2Market | @blockworks-foundation/mango-v4

                      Options
                      All
                      • Public
                      • Public/Protected
                      • All
                      Menu

                      Hierarchy

                      • OpenbookV2Market

                      Index

                      Constructors

                      • new OpenbookV2Market(publicKey: PublicKey, group: PublicKey, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, name: number[], openbookProgram: PublicKey, openbookMarketExternal: PublicKey, marketIndex: OpenbookV2MarketIndex, registrationTime: BN, reduceOnly: boolean, forceClose: boolean): OpenbookV2Market

                      Properties

                      baseTokenIndex: TokenIndex
                      forceClose: boolean
                      group: PublicKey
                      name: string
                      openbookMarketExternal: PublicKey
                      openbookProgram: PublicKey
                      publicKey: PublicKey
                      quoteTokenIndex: TokenIndex
                      reduceOnly: boolean
                      registrationTime: BN

                      Methods

                      • computePriceForMarketOrderOfSize(client: MangoClient, group: Group, size: number, side: "buy" | "sell"): Promise<number>
                      • findOoIndexerPda(programId: PublicKey, mangoAccount: PublicKey): PublicKey
                      • findOoPda(programId: PublicKey, mangoAccount: PublicKey, index: number): PublicKey
                      • getFeeRates(taker?: boolean): number
                      • getL2(client: MangoClient, marketAccount: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>, bidsAccount?: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>, asksAccount?: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>): [number, number][]
                      • Parameters

                        • client: MangoClient
                        • marketAccount: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>
                        • Optional bidsAccount: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>
                        • Optional asksAccount: DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

                        Returns [number, number][]

                      • getNextOoPda(client: MangoClient, programId: PublicKey, mangoAccount: PublicKey): Promise<PublicKey>
                      • loadAsks(client: MangoClient, group: Group): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
                      • Parameters

                        Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

                      • loadBids(client: MangoClient, group: Group): Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>
                      • Parameters

                        Returns Promise<DecodeStruct<{ fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>>

                      • maxAskLeverage(group: Group): number
                      • Parameters

                        Returns number

                        maximum leverage one can ask on this market, this is only for display purposes, also see getMaxQuoteForOpenbookV2BidUi and getMaxBaseForOpenbookV2AskUi

                        -
                      • maxBidLeverage(group: Group): number
                      • maxBidLeverage(group: Group): number
                      • Parameters

                        Returns number

                        maximum leverage one can bid on this market, this is only for display purposes, also see getMaxQuoteForOpenbookV2BidUi and getMaxBaseForOpenbookV2AskUi

                        -
                      • from(publicKey: PublicKey, obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; openbookV2MarketExternal: PublicKey; openbookV2Program: PublicKey; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN }): OpenbookV2Market
                      • Parameters

                        • publicKey: PublicKey
                        • obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; openbookV2MarketExternal: PublicKey; openbookV2Program: PublicKey; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN }
                          • baseTokenIndex: number
                          • forceClose: number
                          • group: PublicKey
                          • marketIndex: number
                          • name: number[]
                          • openbookV2MarketExternal: PublicKey
                          • openbookV2Program: PublicKey
                          • quoteTokenIndex: number
                          • reduceOnly: number
                          • registrationTime: BN

                        Returns OpenbookV2Market

                      Legend

                      • Constructor
                      • Property
                      • Method
                      • Property
                      • Method
                      • Private property
                      • Private method
                      • Static property
                      • Static method

                      Settings

                      Theme

                      Generated using TypeDoc

                      \ No newline at end of file +
                    • from(publicKey: PublicKey, obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; openbookV2MarketExternal: PublicKey; openbookV2Program: PublicKey; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN }): OpenbookV2Market
                    • Parameters

                      • publicKey: PublicKey
                      • obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; openbookV2MarketExternal: PublicKey; openbookV2Program: PublicKey; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN }
                        • baseTokenIndex: number
                        • forceClose: number
                        • group: PublicKey
                        • marketIndex: number
                        • name: number[]
                        • openbookV2MarketExternal: PublicKey
                        • openbookV2Program: PublicKey
                        • quoteTokenIndex: number
                        • reduceOnly: number
                        • registrationTime: BN

                      Returns OpenbookV2Market

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/OpenbookV2Orders.html b/ts/client/classes/OpenbookV2Orders.html index fdf452b35..38875704a 100644 --- a/ts/client/classes/OpenbookV2Orders.html +++ b/ts/client/classes/OpenbookV2Orders.html @@ -1 +1 @@ -OpenbookV2Orders | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • OpenbookV2Orders

                    Index

                    Constructors

                    • new OpenbookV2Orders(openOrders: PublicKey, marketIndex: MarketIndex, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, highestPlacedBidInv: number, lowestPlacedAsk: number): OpenbookV2Orders

                    Properties

                    baseTokenIndex: TokenIndex
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: MarketIndex
                    openOrders: PublicKey
                    quoteTokenIndex: TokenIndex
                    OpenbookV2MarketIndexUnset: number = 65535

                    Methods

                    • isActive(): boolean

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +OpenbookV2Orders | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • OpenbookV2Orders

                    Index

                    Constructors

                    • new OpenbookV2Orders(openOrders: PublicKey, marketIndex: MarketIndex, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, highestPlacedBidInv: number, lowestPlacedAsk: number): OpenbookV2Orders

                    Properties

                    baseTokenIndex: TokenIndex
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: MarketIndex
                    openOrders: PublicKey
                    quoteTokenIndex: TokenIndex
                    OpenbookV2MarketIndexUnset: number = 65535

                    Methods

                    • isActive(): boolean

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/OpenbookV2PositionDto.html b/ts/client/classes/OpenbookV2PositionDto.html index bb70def7a..8e6c7803f 100644 --- a/ts/client/classes/OpenbookV2PositionDto.html +++ b/ts/client/classes/OpenbookV2PositionDto.html @@ -1 +1 @@ -OpenbookV2PositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • OpenbookV2PositionDto

                    Index

                    Constructors

                    • new OpenbookV2PositionDto(openOrders: PublicKey, marketIndex: number, baseBorrowsWithoutFee: BN, quoteBorrowsWithoutFee: BN, baseTokenIndex: number, quoteTokenIndex: number, highestPlacedBidInv: number, lowestPlacedAsk: number, reserved: number[]): OpenbookV2PositionDto

                    Properties

                    baseBorrowsWithoutFee: BN
                    baseTokenIndex: number
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: number
                    openOrders: PublicKey
                    quoteBorrowsWithoutFee: BN
                    quoteTokenIndex: number
                    reserved: number[]

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +OpenbookV2PositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • OpenbookV2PositionDto

                    Index

                    Constructors

                    • new OpenbookV2PositionDto(openOrders: PublicKey, marketIndex: number, baseBorrowsWithoutFee: BN, quoteBorrowsWithoutFee: BN, baseTokenIndex: number, quoteTokenIndex: number, highestPlacedBidInv: number, lowestPlacedAsk: number, reserved: number[]): OpenbookV2PositionDto

                    Properties

                    baseBorrowsWithoutFee: BN
                    baseTokenIndex: number
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: number
                    openOrders: PublicKey
                    quoteBorrowsWithoutFee: BN
                    quoteTokenIndex: number
                    reserved: number[]

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/OracleConfigParams.html b/ts/client/classes/OracleConfigParams.html index ef26a7543..ec85d2add 100644 --- a/ts/client/classes/OracleConfigParams.html +++ b/ts/client/classes/OracleConfigParams.html @@ -1 +1 @@ -OracleConfigParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +OracleConfigParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/PerpEventQueue.html b/ts/client/classes/PerpEventQueue.html index ab34f095d..46a88cb28 100644 --- a/ts/client/classes/PerpEventQueue.html +++ b/ts/client/classes/PerpEventQueue.html @@ -1 +1 @@ -PerpEventQueue | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpEventQueue

                    Index

                    Constructors

                    Properties

                    count: number
                    head: number
                    rawEvents: (FillEvent | OutEvent | LiquidateEvent)[]
                    seqNum: BN
                    FILL_EVENT_TYPE: number = 0
                    LIQUIDATE_EVENT_TYPE: number = 2
                    OUT_EVENT_TYPE: number = 1

                    Methods

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +PerpEventQueue | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpEventQueue

                    Index

                    Constructors

                    Properties

                    count: number
                    head: number
                    rawEvents: (FillEvent | OutEvent | LiquidateEvent)[]
                    seqNum: BN
                    FILL_EVENT_TYPE: number = 0
                    LIQUIDATE_EVENT_TYPE: number = 2
                    OUT_EVENT_TYPE: number = 1

                    Methods

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/PerpMarket.html b/ts/client/classes/PerpMarket.html index 45c4b95d5..d64104bef 100644 --- a/ts/client/classes/PerpMarket.html +++ b/ts/client/classes/PerpMarket.html @@ -1,12 +1,12 @@ -PerpMarket | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpMarket

                    Index

                    Constructors

                    • new PerpMarket(publicKey: PublicKey, group: PublicKey, settleTokenIndex: TokenIndex, perpMarketIndex: PerpMarketIndex, groupInsuranceFund: boolean, baseDecimals: number, name: number[], bids: PublicKey, asks: PublicKey, eventQueue: PublicKey, oracle: PublicKey, oracleConfig: OracleConfigDto, stablePriceModel: StablePriceModel, quoteLotSize: BN, baseLotSize: BN, maintBaseAssetWeight: I80F48Dto, initBaseAssetWeight: I80F48Dto, maintBaseLiabWeight: I80F48Dto, initBaseLiabWeight: I80F48Dto, openInterest: BN, seqNum: BN, registrationTime: BN, minFunding: I80F48Dto, maxFunding: I80F48Dto, impactQuantity: BN, longFunding: I80F48Dto, shortFunding: I80F48Dto, fundingLastUpdated: BN, baseLiquidationFee: I80F48Dto, makerFee: I80F48Dto, takerFee: I80F48Dto, feesAccrued: I80F48Dto, feesSettled: I80F48Dto, feePenalty: number, settleFeeFlat: number, settleFeeAmountThreshold: number, settleFeeFractionLowHealth: number, settlePnlLimitFactor: number, settlePnlLimitWindowSizeTs: BN, reduceOnly: boolean, forceClose: boolean, maintOverallAssetWeight: I80F48Dto, initOverallAssetWeight: I80F48Dto, positivePnlLiquidationFee: I80F48Dto, feesWithdrawn: BN, platformLiquidationFee: I80F48Dto, accruedLiquidationFees: I80F48Dto): PerpMarket

                    Properties

                    _asks: BookSide
                    _bids: BookSide
                    _oracleLastKnownDeviation: undefined | I80F48
                    _oracleLastUpdatedSlot: number
                    _oracleProvider: OracleProvider
                    _price: I80F48
                    _uiPrice: number
                    accruedLiquidationFees: I80F48
                    asks: PublicKey
                    baseDecimals: number
                    baseLiquidationFee: I80F48
                    baseLotSize: BN
                    baseLotsToUiConverter: number
                    bids: PublicKey
                    eventQueue: PublicKey
                    feePenalty: number
                    feesAccrued: I80F48
                    feesSettled: I80F48
                    feesWithdrawn: BN
                    forceClose: boolean
                    fundingLastUpdated: BN
                    group: PublicKey
                    groupInsuranceFund: boolean
                    impactQuantity: BN
                    initBaseAssetWeight: I80F48
                    initBaseLiabWeight: I80F48
                    initOverallAssetWeight: I80F48
                    longFunding: I80F48
                    maintBaseAssetWeight: I80F48
                    maintBaseLiabWeight: I80F48
                    maintOverallAssetWeight: I80F48
                    makerFee: I80F48
                    maxFunding: I80F48
                    minFunding: I80F48
                    name: string
                    openInterest: BN
                    oracle: PublicKey
                    oracleConfig: OracleConfig
                    perpMarketIndex: PerpMarketIndex
                    platformLiquidationFee: I80F48
                    positivePnlLiquidationFee: I80F48
                    priceLotsToUiConverter: number
                    publicKey: PublicKey
                    quoteLotSize: BN
                    quoteLotsToUiConverter: number
                    reduceOnly: boolean
                    registrationTime: BN
                    seqNum: BN
                    settleFeeAmountThreshold: number
                    settleFeeFlat: number
                    settleFeeFractionLowHealth: number
                    settlePnlLimitFactor: number
                    settlePnlLimitWindowSizeTs: BN
                    settleTokenIndex: TokenIndex
                    shortFunding: I80F48
                    stablePriceModel: StablePriceModel
                    takerFee: I80F48

                    Accessors

                    • get minOrderSize(): number
                    • get oracleLastUpdatedSlot(): number
                    • get tickSize(): number
                    • get uiPrice(): number

                    Methods

                    • baseLotsToUi(quantity: BN): number
                    • insidePriceLimit(side: PerpOrderSide, orderPrice: number): boolean
                    • isOracleStaleOrUnconfident(nowSlot: number): boolean
                    • priceLotsToNative(price: BN): I80F48
                    • priceLotsToUi(price: BN): number
                    • priceNativeToUi(price: number): number
                    • quoteLotsToUi(quantity: BN): number
                    • toString(): string
                    • uiBaseToLots(quantity: number): BN
                    • uiPriceToLots(price: number): BN
                    • uiQuoteToLots(uiQuote: number): BN
                    • from(publicKey: PublicKey, obj: { accruedLiquidationFees: I80F48Dto; asks: PublicKey; baseDecimals: number; baseLiquidationFee: I80F48Dto; baseLotSize: BN; bids: PublicKey; eventQueue: PublicKey; feePenalty: number; feesAccrued: I80F48Dto; feesSettled: I80F48Dto; feesWithdrawn: BN; forceClose: number; fundingLastUpdated: BN; group: PublicKey; groupInsuranceFund: number; impactQuantity: BN; initBaseAssetWeight: I80F48Dto; initBaseLiabWeight: I80F48Dto; initOverallAssetWeight: I80F48Dto; longFunding: I80F48Dto; maintBaseAssetWeight: I80F48Dto; maintBaseLiabWeight: I80F48Dto; maintOverallAssetWeight: I80F48Dto; makerFee: I80F48Dto; maxFunding: I80F48Dto; minFunding: I80F48Dto; name: number[]; openInterest: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; perpMarketIndex: number; platformLiquidationFee: I80F48Dto; positivePnlLiquidationFee: I80F48Dto; quoteLotSize: BN; reduceOnly: number; registrationTime: BN; seqNum: BN; settleFeeAmountThreshold: number; settleFeeFlat: number; settleFeeFractionLowHealth: number; settlePnlLimitFactor: number; settlePnlLimitWindowSizeTs: BN; settleTokenIndex: number; shortFunding: I80F48Dto; stablePriceModel: StablePriceModel; takerFee: I80F48Dto }): PerpMarket
                    • Parameters

                      • publicKey: PublicKey
                      • obj: { accruedLiquidationFees: I80F48Dto; asks: PublicKey; baseDecimals: number; baseLiquidationFee: I80F48Dto; baseLotSize: BN; bids: PublicKey; eventQueue: PublicKey; feePenalty: number; feesAccrued: I80F48Dto; feesSettled: I80F48Dto; feesWithdrawn: BN; forceClose: number; fundingLastUpdated: BN; group: PublicKey; groupInsuranceFund: number; impactQuantity: BN; initBaseAssetWeight: I80F48Dto; initBaseLiabWeight: I80F48Dto; initOverallAssetWeight: I80F48Dto; longFunding: I80F48Dto; maintBaseAssetWeight: I80F48Dto; maintBaseLiabWeight: I80F48Dto; maintOverallAssetWeight: I80F48Dto; makerFee: I80F48Dto; maxFunding: I80F48Dto; minFunding: I80F48Dto; name: number[]; openInterest: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; perpMarketIndex: number; platformLiquidationFee: I80F48Dto; positivePnlLiquidationFee: I80F48Dto; quoteLotSize: BN; reduceOnly: number; registrationTime: BN; seqNum: BN; settleFeeAmountThreshold: number; settleFeeFlat: number; settleFeeFractionLowHealth: number; settlePnlLimitFactor: number; settlePnlLimitWindowSizeTs: BN; settleTokenIndex: number; shortFunding: I80F48Dto; stablePriceModel: StablePriceModel; takerFee: I80F48Dto }
                        • accruedLiquidationFees: I80F48Dto
                        • asks: PublicKey
                        • baseDecimals: number
                        • baseLiquidationFee: I80F48Dto
                        • baseLotSize: BN
                        • bids: PublicKey
                        • eventQueue: PublicKey
                        • feePenalty: number
                        • feesAccrued: I80F48Dto
                        • feesSettled: I80F48Dto
                        • feesWithdrawn: BN
                        • forceClose: number
                        • fundingLastUpdated: BN
                        • group: PublicKey
                        • groupInsuranceFund: number
                        • impactQuantity: BN
                        • initBaseAssetWeight: I80F48Dto
                        • initBaseLiabWeight: I80F48Dto
                        • initOverallAssetWeight: I80F48Dto
                        • longFunding: I80F48Dto
                        • maintBaseAssetWeight: I80F48Dto
                        • maintBaseLiabWeight: I80F48Dto
                        • maintOverallAssetWeight: I80F48Dto
                        • makerFee: I80F48Dto
                        • maxFunding: I80F48Dto
                        • minFunding: I80F48Dto
                        • name: number[]
                        • openInterest: BN
                        • oracle: PublicKey
                        • oracleConfig: OracleConfigDto
                        • perpMarketIndex: number
                        • platformLiquidationFee: I80F48Dto
                        • positivePnlLiquidationFee: I80F48Dto
                        • quoteLotSize: BN
                        • reduceOnly: number
                        • registrationTime: BN
                        • seqNum: BN
                        • settleFeeAmountThreshold: number
                        • settleFeeFlat: number
                        • settleFeeFractionLowHealth: number
                        • settlePnlLimitFactor: number
                        • settlePnlLimitWindowSizeTs: BN
                        • settleTokenIndex: number
                        • shortFunding: I80F48Dto
                        • stablePriceModel: StablePriceModel
                        • takerFee: I80F48Dto

                      Returns PerpMarket

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/PerpOo.html b/ts/client/classes/PerpOo.html index 44dbb0907..4d8d4a910 100644 --- a/ts/client/classes/PerpOo.html +++ b/ts/client/classes/PerpOo.html @@ -1 +1 @@ -PerpOo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpOo

                    Index

                    Constructors

                    • new PerpOo(sideAndTree: any, orderMarket: number, clientId: BN, id: BN): PerpOo

                    Properties

                    clientId: BN
                    id: BN
                    orderMarket: number
                    sideAndTree: any
                    OrderMarketUnset: number = 65535

                    Methods

                    • isActive(): boolean

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +PerpOo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpOo

                    Index

                    Constructors

                    • new PerpOo(sideAndTree: any, orderMarket: number, clientId: BN, id: BN): PerpOo

                    Properties

                    clientId: BN
                    id: BN
                    orderMarket: number
                    sideAndTree: any
                    OrderMarketUnset: number = 65535

                    Methods

                    • isActive(): boolean

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/PerpOoDto.html b/ts/client/classes/PerpOoDto.html index 53acbc54f..28c985a15 100644 --- a/ts/client/classes/PerpOoDto.html +++ b/ts/client/classes/PerpOoDto.html @@ -1 +1 @@ -PerpOoDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpOoDto

                    Index

                    Constructors

                    • new PerpOoDto(sideAndTree: any, market: number, clientId: BN, id: BN): PerpOoDto

                    Properties

                    clientId: BN
                    id: BN
                    market: number
                    sideAndTree: any

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +PerpOoDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpOoDto

                    Index

                    Constructors

                    • new PerpOoDto(sideAndTree: any, market: number, clientId: BN, id: BN): PerpOoDto

                    Properties

                    clientId: BN
                    id: BN
                    market: number
                    sideAndTree: any

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/PerpOrder.html b/ts/client/classes/PerpOrder.html index 9b0ac09a4..7ba830b9d 100644 --- a/ts/client/classes/PerpOrder.html +++ b/ts/client/classes/PerpOrder.html @@ -1 +1 @@ -PerpOrder | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpOrder

                    Index

                    Constructors

                    • new PerpOrder(seqNum: BN, orderId: BN, owner: PublicKey, openOrdersSlot: number, feeTier: 0, uiPrice: number, priceLots: BN, uiSize: number, sizeLots: BN, side: PerpOrderSide, timestamp: BN, expiryTimestamp: BN, perpMarketIndex: number, isExpired?: boolean, isOraclePegged?: boolean, orderType: PerpOrderType, oraclePeggedProperties?: OraclePeggedProperties): PerpOrder
                    • Parameters

                      • seqNum: BN
                      • orderId: BN
                      • owner: PublicKey
                      • openOrdersSlot: number
                      • feeTier: 0
                      • uiPrice: number
                      • priceLots: BN
                      • uiSize: number
                      • sizeLots: BN
                      • side: PerpOrderSide
                      • timestamp: BN
                      • expiryTimestamp: BN
                      • perpMarketIndex: number
                      • isExpired: boolean = false
                      • isOraclePegged: boolean = false
                      • orderType: PerpOrderType
                      • Optional oraclePeggedProperties: OraclePeggedProperties

                      Returns PerpOrder

                    Properties

                    expiryTimestamp: BN
                    feeTier: 0
                    isExpired: boolean = false
                    isOraclePegged: boolean = false
                    openOrdersSlot: number
                    oraclePeggedProperties?: OraclePeggedProperties
                    orderId: BN
                    orderType: PerpOrderType
                    owner: PublicKey
                    perpMarketIndex: number
                    priceLots: BN
                    seqNum: BN
                    sizeLots: BN
                    timestamp: BN
                    uiPrice: number
                    uiSize: number

                    Accessors

                    • get price(): number
                    • get size(): number

                    Methods

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +PerpOrder | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpOrder

                    Index

                    Constructors

                    • new PerpOrder(seqNum: BN, orderId: BN, owner: PublicKey, openOrdersSlot: number, feeTier: 0, uiPrice: number, priceLots: BN, uiSize: number, sizeLots: BN, side: PerpOrderSide, timestamp: BN, expiryTimestamp: BN, perpMarketIndex: number, isExpired?: boolean, isOraclePegged?: boolean, orderType: PerpOrderType, oraclePeggedProperties?: OraclePeggedProperties): PerpOrder
                    • Parameters

                      • seqNum: BN
                      • orderId: BN
                      • owner: PublicKey
                      • openOrdersSlot: number
                      • feeTier: 0
                      • uiPrice: number
                      • priceLots: BN
                      • uiSize: number
                      • sizeLots: BN
                      • side: PerpOrderSide
                      • timestamp: BN
                      • expiryTimestamp: BN
                      • perpMarketIndex: number
                      • isExpired: boolean = false
                      • isOraclePegged: boolean = false
                      • orderType: PerpOrderType
                      • Optional oraclePeggedProperties: OraclePeggedProperties

                      Returns PerpOrder

                    Properties

                    expiryTimestamp: BN
                    feeTier: 0
                    isExpired: boolean = false
                    isOraclePegged: boolean = false
                    openOrdersSlot: number
                    oraclePeggedProperties?: OraclePeggedProperties
                    orderId: BN
                    orderType: PerpOrderType
                    owner: PublicKey
                    perpMarketIndex: number
                    priceLots: BN
                    seqNum: BN
                    sizeLots: BN
                    timestamp: BN
                    uiPrice: number
                    uiSize: number

                    Accessors

                    • get price(): number
                    • get size(): number

                    Methods

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/PerpPosition.html b/ts/client/classes/PerpPosition.html index 97fa5dbcc..df32253ef 100644 --- a/ts/client/classes/PerpPosition.html +++ b/ts/client/classes/PerpPosition.html @@ -1,9 +1,9 @@ -PerpPosition | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpPosition

                    Index

                    Constructors

                    • new PerpPosition(marketIndex: PerpMarketIndex, settlePnlLimitWindow: number, settlePnlLimitSettledInCurrentWindowNative: BN, basePositionLots: BN, quotePositionNative: I80F48, quoteRunningNative: BN, longSettledFunding: I80F48, shortSettledFunding: I80F48, bidsBaseLots: BN, asksBaseLots: BN, takerBaseLots: BN, takerQuoteLots: BN, cumulativeLongFunding: number, cumulativeShortFunding: number, makerVolume: BN, takerVolume: BN, perpSpotTransfers: BN, avgEntryPricePerBaseLot: number, deprecatedRealizedTradePnlNative: I80F48, oneshotSettlePnlAllowance: I80F48, recurringSettlePnlAllowance: BN, realizedPnlForPositionNative: I80F48): PerpPosition
                    • Parameters

                      • marketIndex: PerpMarketIndex
                      • settlePnlLimitWindow: number
                      • settlePnlLimitSettledInCurrentWindowNative: BN
                      • basePositionLots: BN
                      • quotePositionNative: I80F48
                      • quoteRunningNative: BN
                      • longSettledFunding: I80F48
                      • shortSettledFunding: I80F48
                      • bidsBaseLots: BN
                      • asksBaseLots: BN
                      • takerBaseLots: BN
                      • takerQuoteLots: BN
                      • cumulativeLongFunding: number
                      • cumulativeShortFunding: number
                      • makerVolume: BN
                      • takerVolume: BN
                      • perpSpotTransfers: BN
                      • avgEntryPricePerBaseLot: number
                      • deprecatedRealizedTradePnlNative: I80F48
                      • oneshotSettlePnlAllowance: I80F48
                      • recurringSettlePnlAllowance: BN
                      • realizedPnlForPositionNative: I80F48

                      Returns PerpPosition

                    Properties

                    asksBaseLots: BN
                    avgEntryPricePerBaseLot: number
                    basePositionLots: BN
                    bidsBaseLots: BN
                    cumulativeLongFunding: number
                    cumulativeShortFunding: number
                    deprecatedRealizedTradePnlNative: I80F48
                    longSettledFunding: I80F48
                    makerVolume: BN
                    marketIndex: PerpMarketIndex
                    oneshotSettlePnlAllowance: I80F48
                    perpSpotTransfers: BN
                    quotePositionNative: I80F48
                    quoteRunningNative: BN
                    realizedPnlForPositionNative: I80F48
                    recurringSettlePnlAllowance: BN
                    settlePnlLimitSettledInCurrentWindowNative: BN
                    settlePnlLimitWindow: number
                    shortSettledFunding: I80F48
                    takerBaseLots: BN
                    takerQuoteLots: BN
                    takerVolume: BN
                    PerpMarketIndexUnset: number = 65535

                    Methods

                    • availableSettleLimit(perpMarket: PerpMarket): [BN, BN]
                    • cumulativePnlOverPositionLifetimeUi(perpMarket: PerpMarket): number
                    • getAverageEntryPriceUi(perpMarket: PerpMarket): number
                    • getBasePositionUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                    • getBreakEvenPriceUi(perpMarket: PerpMarket): number
                    • getNotionalValueUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                    • getQuotePositionUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                    • getRealizedPnlUi(): number
                    • getUnRealizedPnlUi(perpMarket: PerpMarket): number
                    • getUnsettledFundingUi(perpMarket: PerpMarket): number
                    • hasOpenOrders(): boolean
                    • isActive(): boolean

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/PerpPositionDto.html b/ts/client/classes/PerpPositionDto.html index 60f97781c..b0a847f95 100644 --- a/ts/client/classes/PerpPositionDto.html +++ b/ts/client/classes/PerpPositionDto.html @@ -1 +1 @@ -PerpPositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpPositionDto

                    Index

                    Constructors

                    • new PerpPositionDto(marketIndex: number, settlePnlLimitWindow: number, settlePnlLimitSettledInCurrentWindowNative: BN, basePositionLots: BN, quotePositionNative: { val: BN }, quoteRunningNative: BN, longSettledFunding: I80F48Dto, shortSettledFunding: I80F48Dto, bidsBaseLots: BN, asksBaseLots: BN, takerBaseLots: BN, takerQuoteLots: BN, cumulativeLongFunding: number, cumulativeShortFunding: number, makerVolume: BN, takerVolume: BN, perpSpotTransfers: BN, avgEntryPricePerBaseLot: number, deprecatedRealizedTradePnlNative: I80F48Dto, oneshotSettlePnlAllowance: I80F48Dto, recurringSettlePnlAllowance: BN, realizedPnlForPositionNative: I80F48Dto): PerpPositionDto
                    • Parameters

                      • marketIndex: number
                      • settlePnlLimitWindow: number
                      • settlePnlLimitSettledInCurrentWindowNative: BN
                      • basePositionLots: BN
                      • quotePositionNative: { val: BN }
                        • val: BN
                      • quoteRunningNative: BN
                      • longSettledFunding: I80F48Dto
                      • shortSettledFunding: I80F48Dto
                      • bidsBaseLots: BN
                      • asksBaseLots: BN
                      • takerBaseLots: BN
                      • takerQuoteLots: BN
                      • cumulativeLongFunding: number
                      • cumulativeShortFunding: number
                      • makerVolume: BN
                      • takerVolume: BN
                      • perpSpotTransfers: BN
                      • avgEntryPricePerBaseLot: number
                      • deprecatedRealizedTradePnlNative: I80F48Dto
                      • oneshotSettlePnlAllowance: I80F48Dto
                      • recurringSettlePnlAllowance: BN
                      • realizedPnlForPositionNative: I80F48Dto

                      Returns PerpPositionDto

                    Properties

                    asksBaseLots: BN
                    avgEntryPricePerBaseLot: number
                    basePositionLots: BN
                    bidsBaseLots: BN
                    cumulativeLongFunding: number
                    cumulativeShortFunding: number
                    deprecatedRealizedTradePnlNative: I80F48Dto
                    longSettledFunding: I80F48Dto
                    makerVolume: BN
                    marketIndex: number
                    oneshotSettlePnlAllowance: I80F48Dto
                    perpSpotTransfers: BN
                    quotePositionNative: { val: BN }

                    Type declaration

                    • val: BN
                    quoteRunningNative: BN
                    realizedPnlForPositionNative: I80F48Dto
                    recurringSettlePnlAllowance: BN
                    settlePnlLimitSettledInCurrentWindowNative: BN
                    settlePnlLimitWindow: number
                    shortSettledFunding: I80F48Dto
                    takerBaseLots: BN
                    takerQuoteLots: BN
                    takerVolume: BN

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +PerpPositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpPositionDto

                    Index

                    Constructors

                    • new PerpPositionDto(marketIndex: number, settlePnlLimitWindow: number, settlePnlLimitSettledInCurrentWindowNative: BN, basePositionLots: BN, quotePositionNative: { val: BN }, quoteRunningNative: BN, longSettledFunding: I80F48Dto, shortSettledFunding: I80F48Dto, bidsBaseLots: BN, asksBaseLots: BN, takerBaseLots: BN, takerQuoteLots: BN, cumulativeLongFunding: number, cumulativeShortFunding: number, makerVolume: BN, takerVolume: BN, perpSpotTransfers: BN, avgEntryPricePerBaseLot: number, deprecatedRealizedTradePnlNative: I80F48Dto, oneshotSettlePnlAllowance: I80F48Dto, recurringSettlePnlAllowance: BN, realizedPnlForPositionNative: I80F48Dto): PerpPositionDto
                    • Parameters

                      • marketIndex: number
                      • settlePnlLimitWindow: number
                      • settlePnlLimitSettledInCurrentWindowNative: BN
                      • basePositionLots: BN
                      • quotePositionNative: { val: BN }
                        • val: BN
                      • quoteRunningNative: BN
                      • longSettledFunding: I80F48Dto
                      • shortSettledFunding: I80F48Dto
                      • bidsBaseLots: BN
                      • asksBaseLots: BN
                      • takerBaseLots: BN
                      • takerQuoteLots: BN
                      • cumulativeLongFunding: number
                      • cumulativeShortFunding: number
                      • makerVolume: BN
                      • takerVolume: BN
                      • perpSpotTransfers: BN
                      • avgEntryPricePerBaseLot: number
                      • deprecatedRealizedTradePnlNative: I80F48Dto
                      • oneshotSettlePnlAllowance: I80F48Dto
                      • recurringSettlePnlAllowance: BN
                      • realizedPnlForPositionNative: I80F48Dto

                      Returns PerpPositionDto

                    Properties

                    asksBaseLots: BN
                    avgEntryPricePerBaseLot: number
                    basePositionLots: BN
                    bidsBaseLots: BN
                    cumulativeLongFunding: number
                    cumulativeShortFunding: number
                    deprecatedRealizedTradePnlNative: I80F48Dto
                    longSettledFunding: I80F48Dto
                    makerVolume: BN
                    marketIndex: number
                    oneshotSettlePnlAllowance: I80F48Dto
                    perpSpotTransfers: BN
                    quotePositionNative: { val: BN }

                    Type declaration

                    • val: BN
                    quoteRunningNative: BN
                    realizedPnlForPositionNative: I80F48Dto
                    recurringSettlePnlAllowance: BN
                    settlePnlLimitSettledInCurrentWindowNative: BN
                    settlePnlLimitWindow: number
                    shortSettledFunding: I80F48Dto
                    takerBaseLots: BN
                    takerQuoteLots: BN
                    takerVolume: BN

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/Serum3Market.html b/ts/client/classes/Serum3Market.html index 58ba3a3ed..da0e54e19 100644 --- a/ts/client/classes/Serum3Market.html +++ b/ts/client/classes/Serum3Market.html @@ -1,5 +1,5 @@ -Serum3Market | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • Serum3Market

                    Index

                    Constructors

                    • new Serum3Market(publicKey: PublicKey, group: PublicKey, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, name: number[], serumProgram: PublicKey, serumMarketExternal: PublicKey, marketIndex: MarketIndex, registrationTime: BN, reduceOnly: boolean, forceClose: boolean, oraclePriceBand: number): Serum3Market
                    • Parameters

                      • publicKey: PublicKey
                      • group: PublicKey
                      • baseTokenIndex: TokenIndex
                      • quoteTokenIndex: TokenIndex
                      • name: number[]
                      • serumProgram: PublicKey
                      • serumMarketExternal: PublicKey
                      • marketIndex: MarketIndex
                      • registrationTime: BN
                      • reduceOnly: boolean
                      • forceClose: boolean
                      • oraclePriceBand: number

                      Returns Serum3Market

                    Properties

                    baseTokenIndex: TokenIndex
                    forceClose: boolean
                    group: PublicKey
                    marketIndex: MarketIndex
                    name: string
                    oraclePriceBand: number
                    publicKey: PublicKey
                    quoteTokenIndex: TokenIndex
                    reduceOnly: boolean
                    registrationTime: BN
                    serumMarketExternal: PublicKey
                    serumProgram: PublicKey

                    Methods

                    • computePriceForMarketOrderOfSize(client: MangoClient, group: Group, size: number, side: "buy" | "sell"): Promise<number>
                    • findOoPda(programId: PublicKey, mangoAccount: PublicKey): Promise<PublicKey>
                    • getFeeRates(taker?: boolean): number
                    • maxAskLeverage(group: Group): number
                    • from(publicKey: PublicKey, obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; oraclePriceBand: number; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN; serumMarketExternal: PublicKey; serumProgram: PublicKey }): Serum3Market
                    • Parameters

                      • publicKey: PublicKey
                      • obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; oraclePriceBand: number; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN; serumMarketExternal: PublicKey; serumProgram: PublicKey }
                        • baseTokenIndex: number
                        • forceClose: number
                        • group: PublicKey
                        • marketIndex: number
                        • name: number[]
                        • oraclePriceBand: number
                        • quoteTokenIndex: number
                        • reduceOnly: number
                        • registrationTime: BN
                        • serumMarketExternal: PublicKey
                        • serumProgram: PublicKey

                      Returns Serum3Market

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/Serum3Orders.html b/ts/client/classes/Serum3Orders.html index 1f859622b..65ce253f2 100644 --- a/ts/client/classes/Serum3Orders.html +++ b/ts/client/classes/Serum3Orders.html @@ -1 +1 @@ -Serum3Orders | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • Serum3Orders

                    Index

                    Constructors

                    • new Serum3Orders(openOrders: PublicKey, marketIndex: MarketIndex, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, highestPlacedBidInv: number, lowestPlacedAsk: number): Serum3Orders

                    Properties

                    baseTokenIndex: TokenIndex
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: MarketIndex
                    openOrders: PublicKey
                    quoteTokenIndex: TokenIndex
                    Serum3MarketIndexUnset: number = 65535

                    Methods

                    • isActive(): boolean

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +Serum3Orders | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • Serum3Orders

                    Index

                    Constructors

                    • new Serum3Orders(openOrders: PublicKey, marketIndex: MarketIndex, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, highestPlacedBidInv: number, lowestPlacedAsk: number): Serum3Orders

                    Properties

                    baseTokenIndex: TokenIndex
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: MarketIndex
                    openOrders: PublicKey
                    quoteTokenIndex: TokenIndex
                    Serum3MarketIndexUnset: number = 65535

                    Methods

                    • isActive(): boolean

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/Serum3PositionDto.html b/ts/client/classes/Serum3PositionDto.html index 380b646e6..b743cb64b 100644 --- a/ts/client/classes/Serum3PositionDto.html +++ b/ts/client/classes/Serum3PositionDto.html @@ -1 +1 @@ -Serum3PositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • Serum3PositionDto

                    Index

                    Constructors

                    • new Serum3PositionDto(openOrders: PublicKey, marketIndex: number, baseBorrowsWithoutFee: BN, quoteBorrowsWithoutFee: BN, baseTokenIndex: number, quoteTokenIndex: number, highestPlacedBidInv: number, lowestPlacedAsk: number, reserved: number[]): Serum3PositionDto

                    Properties

                    baseBorrowsWithoutFee: BN
                    baseTokenIndex: number
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: number
                    openOrders: PublicKey
                    quoteBorrowsWithoutFee: BN
                    quoteTokenIndex: number
                    reserved: number[]

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +Serum3PositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • Serum3PositionDto

                    Index

                    Constructors

                    • new Serum3PositionDto(openOrders: PublicKey, marketIndex: number, baseBorrowsWithoutFee: BN, quoteBorrowsWithoutFee: BN, baseTokenIndex: number, quoteTokenIndex: number, highestPlacedBidInv: number, lowestPlacedAsk: number, reserved: number[]): Serum3PositionDto

                    Properties

                    baseBorrowsWithoutFee: BN
                    baseTokenIndex: number
                    highestPlacedBidInv: number
                    lowestPlacedAsk: number
                    marketIndex: number
                    openOrders: PublicKey
                    quoteBorrowsWithoutFee: BN
                    quoteTokenIndex: number
                    reserved: number[]

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/StubOracle.html b/ts/client/classes/StubOracle.html index 34eaa1c75..65da6e3d1 100644 --- a/ts/client/classes/StubOracle.html +++ b/ts/client/classes/StubOracle.html @@ -1 +1 @@ -StubOracle | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • StubOracle

                    Index

                    Constructors

                    • new StubOracle(publicKey: PublicKey, group: PublicKey, mint: PublicKey, price: I80F48Dto, lastUpdateTs: BN, lastUpdateSlot: BN, deviation: I80F48Dto): StubOracle

                    Properties

                    deviation: I80F48
                    group: PublicKey
                    lastUpdateSlot: BN
                    lastUpdateTs: BN
                    mint: PublicKey
                    price: I80F48
                    publicKey: PublicKey

                    Methods

                    • from(publicKey: PublicKey, obj: { deviation: I80F48Dto; group: PublicKey; lastUpdateSlot: BN; lastUpdateTs: BN; mint: PublicKey; price: I80F48Dto }): StubOracle

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +StubOracle | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • StubOracle

                    Index

                    Constructors

                    • new StubOracle(publicKey: PublicKey, group: PublicKey, mint: PublicKey, price: I80F48Dto, lastUpdateTs: BN, lastUpdateSlot: BN, deviation: I80F48Dto): StubOracle

                    Properties

                    deviation: I80F48
                    group: PublicKey
                    lastUpdateSlot: BN
                    lastUpdateTs: BN
                    mint: PublicKey
                    price: I80F48
                    publicKey: PublicKey

                    Methods

                    • from(publicKey: PublicKey, obj: { deviation: I80F48Dto; group: PublicKey; lastUpdateSlot: BN; lastUpdateTs: BN; mint: PublicKey; price: I80F48Dto }): StubOracle

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/TokenConditionalSwap.html b/ts/client/classes/TokenConditionalSwap.html index 61a5aa6b0..669a2c5af 100644 --- a/ts/client/classes/TokenConditionalSwap.html +++ b/ts/client/classes/TokenConditionalSwap.html @@ -1 +1 @@ -TokenConditionalSwap | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenConditionalSwap

                    Index

                    Constructors

                    Properties

                    allowCreatingBorrows: boolean
                    allowCreatingDeposits: boolean
                    bought: BN
                    buyTokenIndex: TokenIndex
                    expiryTimestamp: BN
                    id: BN
                    isConfigured: boolean
                    makerFeeRate: number
                    maxBuy: BN
                    maxSell: BN
                    priceLowerLimit: number
                    pricePremiumRate: number
                    priceUpperLimit: number
                    sellTokenIndex: TokenIndex
                    sold: BN
                    takerFeeRate: number

                    Methods

                    • getAllowCreatingBorrows(): boolean
                    • getAllowCreatingDeposits(): boolean
                    • getBoughtUi(group: Group): number
                    • getCurrentPairPriceUi(group: Group): number
                    • getCurrentlySuggestedPremium(group: Group): number
                    • getExpiryTimestampInEpochSeconds(): number
                    • getMaxBuyUi(group: Group): number
                    • getMaxSellUi(group: Group): number
                    • getPriceLowerLimitUi(group: Group): number
                    • getPricePremium(): number
                    • getPriceUpperLimitUi(group: Group): number
                    • getSoldUi(group: Group): number
                    • getThresholdPriceUi(group: Group): number
                    • priceLimitToUi(group: Group, sellTokenPerBuyTokenNative: number): number
                    • toString(group: Group): string
                    • computePremium(group: Group, buyBank: Bank, sellBank: Bank, maxBuy: BN, maxSell: BN, maxBuyUi: number, maxSellUi: number): number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +TokenConditionalSwap | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenConditionalSwap

                    Index

                    Constructors

                    Properties

                    allowCreatingBorrows: boolean
                    allowCreatingDeposits: boolean
                    bought: BN
                    buyTokenIndex: TokenIndex
                    expiryTimestamp: BN
                    id: BN
                    isConfigured: boolean
                    makerFeeRate: number
                    maxBuy: BN
                    maxSell: BN
                    priceLowerLimit: number
                    pricePremiumRate: number
                    priceUpperLimit: number
                    sellTokenIndex: TokenIndex
                    sold: BN
                    takerFeeRate: number

                    Methods

                    • getAllowCreatingBorrows(): boolean
                    • getAllowCreatingDeposits(): boolean
                    • getBoughtUi(group: Group): number
                    • getCurrentPairPriceUi(group: Group): number
                    • getCurrentlySuggestedPremium(group: Group): number
                    • getExpiryTimestampInEpochSeconds(): number
                    • getMaxBuyUi(group: Group): number
                    • getMaxSellUi(group: Group): number
                    • getPriceLowerLimitUi(group: Group): number
                    • getPricePremium(): number
                    • getPriceUpperLimitUi(group: Group): number
                    • getSoldUi(group: Group): number
                    • getThresholdPriceUi(group: Group): number
                    • priceLimitToUi(group: Group, sellTokenPerBuyTokenNative: number): number
                    • toString(group: Group): string
                    • computePremium(group: Group, buyBank: Bank, sellBank: Bank, maxBuy: BN, maxSell: BN, maxBuyUi: number, maxSellUi: number): number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/TokenConditionalSwapDto.html b/ts/client/classes/TokenConditionalSwapDto.html index 4459bafeb..484d77985 100644 --- a/ts/client/classes/TokenConditionalSwapDto.html +++ b/ts/client/classes/TokenConditionalSwapDto.html @@ -1 +1 @@ -TokenConditionalSwapDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenConditionalSwapDto

                    Index

                    Constructors

                    • new TokenConditionalSwapDto(id: BN, maxBuy: BN, maxSell: BN, bought: BN, sold: BN, expiryTimestamp: BN, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, takerFeeRate: number, makerFeeRate: number, buyTokenIndex: number, sellTokenIndex: number, isConfigured: number, allowCreatingDeposits: number, allowCreatingBorrows: number, displayPriceStyle: number, intention: number): TokenConditionalSwapDto
                    • Parameters

                      • id: BN
                      • maxBuy: BN
                      • maxSell: BN
                      • bought: BN
                      • sold: BN
                      • expiryTimestamp: BN
                      • priceLowerLimit: number
                      • priceUpperLimit: number
                      • pricePremiumRate: number
                      • takerFeeRate: number
                      • makerFeeRate: number
                      • buyTokenIndex: number
                      • sellTokenIndex: number
                      • isConfigured: number
                      • allowCreatingDeposits: number
                      • allowCreatingBorrows: number
                      • displayPriceStyle: number
                      • intention: number

                      Returns TokenConditionalSwapDto

                    Properties

                    allowCreatingBorrows: number
                    allowCreatingDeposits: number
                    bought: BN
                    buyTokenIndex: number
                    displayPriceStyle: number
                    expiryTimestamp: BN
                    id: BN
                    intention: number
                    isConfigured: number
                    makerFeeRate: number
                    maxBuy: BN
                    maxSell: BN
                    priceLowerLimit: number
                    pricePremiumRate: number
                    priceUpperLimit: number
                    sellTokenIndex: number
                    sold: BN
                    takerFeeRate: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +TokenConditionalSwapDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenConditionalSwapDto

                    Index

                    Constructors

                    • new TokenConditionalSwapDto(id: BN, maxBuy: BN, maxSell: BN, bought: BN, sold: BN, expiryTimestamp: BN, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, takerFeeRate: number, makerFeeRate: number, buyTokenIndex: number, sellTokenIndex: number, isConfigured: number, allowCreatingDeposits: number, allowCreatingBorrows: number, displayPriceStyle: number, intention: number): TokenConditionalSwapDto
                    • Parameters

                      • id: BN
                      • maxBuy: BN
                      • maxSell: BN
                      • bought: BN
                      • sold: BN
                      • expiryTimestamp: BN
                      • priceLowerLimit: number
                      • priceUpperLimit: number
                      • pricePremiumRate: number
                      • takerFeeRate: number
                      • makerFeeRate: number
                      • buyTokenIndex: number
                      • sellTokenIndex: number
                      • isConfigured: number
                      • allowCreatingDeposits: number
                      • allowCreatingBorrows: number
                      • displayPriceStyle: number
                      • intention: number

                      Returns TokenConditionalSwapDto

                    Properties

                    allowCreatingBorrows: number
                    allowCreatingDeposits: number
                    bought: BN
                    buyTokenIndex: number
                    displayPriceStyle: number
                    expiryTimestamp: BN
                    id: BN
                    intention: number
                    isConfigured: number
                    makerFeeRate: number
                    maxBuy: BN
                    maxSell: BN
                    priceLowerLimit: number
                    pricePremiumRate: number
                    priceUpperLimit: number
                    sellTokenIndex: number
                    sold: BN
                    takerFeeRate: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/TokenPosition.html b/ts/client/classes/TokenPosition.html index 4ca40aa30..35502b411 100644 --- a/ts/client/classes/TokenPosition.html +++ b/ts/client/classes/TokenPosition.html @@ -1,7 +1,7 @@ -TokenPosition | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenPosition

                    Index

                    Constructors

                    • new TokenPosition(indexedPosition: I80F48, tokenIndex: TokenIndex, inUseCount: number, previousIndex: I80F48, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPosition

                    Properties

                    cumulativeBorrowInterest: number
                    cumulativeDepositInterest: number
                    inUseCount: number
                    indexedPosition: I80F48
                    previousIndex: I80F48
                    tokenIndex: TokenIndex
                    TokenIndexUnset: number = 65535

                    Methods

                    • balanceUi(bank: Bank): number
                    • borrowsUi(bank: Bank): number
                    • depositsUi(bank: Bank): number
                    • isActive(): boolean
                    • toString(group?: Group, index?: number): string

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +TokenPosition | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenPosition

                    Index

                    Constructors

                    • new TokenPosition(indexedPosition: I80F48, tokenIndex: TokenIndex, inUseCount: number, previousIndex: I80F48, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPosition

                    Properties

                    cumulativeBorrowInterest: number
                    cumulativeDepositInterest: number
                    inUseCount: number
                    indexedPosition: I80F48
                    previousIndex: I80F48
                    tokenIndex: TokenIndex
                    TokenIndexUnset: number = 65535

                    Methods

                    • balanceUi(bank: Bank): number
                    • borrowsUi(bank: Bank): number
                    • depositsUi(bank: Bank): number
                    • isActive(): boolean
                    • toString(group?: Group, index?: number): string

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/classes/TokenPositionDto.html b/ts/client/classes/TokenPositionDto.html index 8b1e3257d..8c7db0a62 100644 --- a/ts/client/classes/TokenPositionDto.html +++ b/ts/client/classes/TokenPositionDto.html @@ -1 +1 @@ -TokenPositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenPositionDto

                    Index

                    Constructors

                    • new TokenPositionDto(indexedPosition: I80F48Dto, tokenIndex: number, inUseCount: number, reserved: number[], previousIndex: I80F48Dto, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPositionDto

                    Properties

                    cumulativeBorrowInterest: number
                    cumulativeDepositInterest: number
                    inUseCount: number
                    indexedPosition: I80F48Dto
                    previousIndex: I80F48Dto
                    reserved: number[]
                    tokenIndex: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +TokenPositionDto | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • TokenPositionDto

                    Index

                    Constructors

                    • new TokenPositionDto(indexedPosition: I80F48Dto, tokenIndex: number, inUseCount: number, reserved: number[], previousIndex: I80F48Dto, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPositionDto

                    Properties

                    cumulativeBorrowInterest: number
                    cumulativeDepositInterest: number
                    inUseCount: number
                    indexedPosition: I80F48Dto
                    previousIndex: I80F48Dto
                    reserved: number[]
                    tokenIndex: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/enums/OracleProvider.html b/ts/client/enums/OracleProvider.html index 4dd62c146..376a4d0ac 100644 --- a/ts/client/enums/OracleProvider.html +++ b/ts/client/enums/OracleProvider.html @@ -1 +1 @@ -OracleProvider | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +OracleProvider | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/enums/SwapMode.html b/ts/client/enums/SwapMode.html index 6a337f173..7efe6a877 100644 --- a/ts/client/enums/SwapMode.html +++ b/ts/client/enums/SwapMode.html @@ -1 +1 @@ -SwapMode | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +SwapMode | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/enums/TransactionErrors.html b/ts/client/enums/TransactionErrors.html index 3ebf89cbe..ab9e51716 100644 --- a/ts/client/enums/TransactionErrors.html +++ b/ts/client/enums/TransactionErrors.html @@ -1 +1 @@ -TransactionErrors | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +TransactionErrors | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/index.html b/ts/client/index.html index 5f694660d..a3a64c220 100644 --- a/ts/client/index.html +++ b/ts/client/index.html @@ -1,7 +1,7 @@ -@blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    @blockworks-foundation/mango-v4

                    Index

                    Namespaces

                    Enumerations

                    Classes

                    Interfaces

                    Type aliases

                    Variables

                    Functions

                    Type aliases

                    AccountInfoMap: Map<string, AccountInfo<Buffer> | null>
                    AmmLabel: "Aldrin" | "Crema" | "Cropper" | "Cykura" | "DeltaFi" | "GooseFX" | "Invariant" | "Lifinity" | "Lifinity V2" | "Marinade" | "Mercurial" | "Meteora" | "Raydium" | "Raydium CLMM" | "Saber" | "Serum" | "Orca" | "Step" | "Penguin" | "Saros" | "Stepn" | "Orca (Whirlpools)" | "Sencha" | "Saber (Decimals)" | "Dradex" | "Balansol" | "Openbook" | "Unknown"
                    BookSideType: { bids: Record<string, never> } | { asks: Record<string, never> }
                    FlashLoanType: { unknown: Record<string, never> } | { swap: Record<string, never> } | { swapWithoutFee: Record<string, never> }
                    HealthCheckKind: { maint: Record<string, never> } | { init: Record<string, never> } | { liquidationEnd: Record<string, never> } | { maintRatio: Record<string, never> } | { initRatio: Record<string, never> } | { liquidationEndRatio: Record<string, never> }
                    MangoV4: { accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { docs: ["The unscaled borrow interest curve is defined as continuous piecewise linear with the points:", "", "- 0% util: zero_util_rate", "- util0% util: rate0", "- util1% util: rate1", "- 100% util: max_rate", "", "The final rate is this unscaled curve multiplied by interest_curve_scaling."]; name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { docs: ["the 100% utilization rate", "", "This isn't the max_rate, since this still gets scaled by interest_curve_scaling,", "which is >=1."]; name: "maxRate"; type: { defined: "I80F48" } }, { docs: ["Fees collected over the lifetime of the bank", "", "See fees_withdrawn for how much of the fees was withdrawn.", "See collected_liquidation_fees for the (included) subtotal for liquidation related fees."]; name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Liquidation fee that goes to the liqor.", "", "Liquidation always involves two tokens, and the sum of the two configured fees is used.", "", "A fraction of the price, like 0.05 for a 5% fee during liquidation.", "", "See also platform_liquidation_fee."]; name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["The maximum utilization allowed when borrowing is 1-this value", "WARNING: Outdated name, kept for IDL compatibility"]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { docs: ["If set to 1, deposits cannot be liquidated when an account is liquidatable.", "That means bankrupt accounts may still have assets of this type deposited."]; name: "disableAssetLiquidation"; type: "u8" }, { name: "forceWithdraw"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { docs: ["Target utilization: If actual utilization is higher, scale up interest.", "If it's lower, scale down interest (if possible)"]; name: "interestTargetUtilization"; type: "f32" }, { docs: ["Current interest curve scaling, always >= 1.0", "", "Except when first migrating to having this field, then 0.0"]; name: "interestCurveScaling"; type: "f64" }, { docs: ["Largest amount of tokens that might be added the bank based on", "serum open order execution."]; name: "potentialSerumTokens"; type: "u64" }, { docs: ["Start timestamp in seconds at which maint weights should start to change away", "from maint_asset_weight, maint_liab_weight towards _asset_target and _liab_target.", "If _start and _end and _duration_inv are 0, no shift is configured."]; name: "maintWeightShiftStart"; type: "u64" }, { docs: ["End timestamp in seconds until which the maint weights should reach the configured targets."]; name: "maintWeightShiftEnd"; type: "u64" }, { docs: ["Cache of the inverse of maint_weight_shift_end - maint_weight_shift_start,", "or zero if no shift is configured"]; name: "maintWeightShiftDurationInv"; type: { defined: "I80F48" } }, { docs: ["Maint asset weight to reach at _shift_end."]; name: "maintWeightShiftAssetTarget"; type: { defined: "I80F48" } }, { name: "maintWeightShiftLiabTarget"; type: { defined: "I80F48" } }, { docs: ["Oracle that may be used if the main oracle is stale or not confident enough.", "If this is Pubkey::default(), no fallback is available."]; name: "fallbackOracle"; type: "publicKey" }, { docs: ["zero means none, in token native"]; name: "depositLimit"; type: "u64" }, { docs: ["The unscaled borrow interest curve point for zero utilization.", "", "See util0, rate0, util1, rate1, max_rate"]; name: "zeroUtilRate"; type: { defined: "I80F48" } }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were collected during liquidation (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedLiquidationFees"; type: { defined: "I80F48" } }, { docs: ["Collateral fees that have been collected (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedCollateralFees"; type: { defined: "I80F48" } }, { docs: ["The daily collateral fees rate for fully utilized collateral."]; name: "collateralFeePerDay"; type: "f32" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Largest amount of tokens that might be added the bank based on", "oenbook open order execution."]; name: "potentialOpenbookTokens"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1888] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { docs: ["Fast-listings are limited per week, this is the start of the current fast-listing interval", "in seconds since epoch"]; name: "fastListingIntervalStart"; type: "u64" }, { docs: ["Number of fast listings that happened this interval"]; name: "fastListingsInInterval"; type: "u16" }, { docs: ["Number of fast listings that are allowed per interval"]; name: "allowedFastListingsPerInterval"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Intervals in which collateral fee is applied"]; name: "collateralFeeInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1800] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { docs: ["Time at which the last collateral fee was charged"]; name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }, { name: "padding8"; type: "u32" }, { name: "tokenConditionalSwaps"; type: { vec: { defined: "TokenConditionalSwap" } } }, { name: "padding9"; type: "u32" }, { name: "openbookV2"; type: { vec: { defined: "OpenbookV2Orders" } } }, { name: "reservedDynamic"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "fallbackOracle"; type: "publicKey" }, { name: "reserved"; type: { array: ["u8", 2528] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "marketIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "bump"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 1027] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold if settling at least 1% of perp base pos value."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health.", "(limited to 2x settle_fee_flat)"]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were accrued during liquidation (in native tokens)", "", "These fees are also added to fees_accrued, this is just for bookkeeping the total", "liquidation fees that happened. So never decreases (different to fees_accrued)."]; name: "accruedLiquidationFees"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 1848] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 1] } }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]; errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled spot orders"; name: "HasOpenOrUnsettledSpotOrders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "token conditional swap oracle price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }, { code: 6050; msg: "token conditional swap is expired"; name: "TokenConditionalSwapExpired" }, { code: 6051; msg: "token conditional swap is not available yet"; name: "TokenConditionalSwapNotStarted" }, { code: 6052; msg: "token conditional swap was already started"; name: "TokenConditionalSwapAlreadyStarted" }, { code: 6053; msg: "token conditional swap it not set"; name: "TokenConditionalSwapNotSet" }, { code: 6054; msg: "token conditional swap trigger did not reach min_buy_token"; name: "TokenConditionalSwapMinBuyTokenNotReached" }, { code: 6055; msg: "token conditional swap cannot pay incentive"; name: "TokenConditionalSwapCantPayIncentive" }, { code: 6056; msg: "token conditional swap taker price is too low"; name: "TokenConditionalSwapTakerPriceTooLow" }, { code: 6057; msg: "token conditional swap index and id don't match"; name: "TokenConditionalSwapIndexIdMismatch" }, { code: 6058; msg: "token conditional swap volume is too small compared to the cost of starting it"; name: "TokenConditionalSwapTooSmallForStartIncentive" }, { code: 6059; msg: "token conditional swap type cannot be started"; name: "TokenConditionalSwapTypeNotStartable" }, { code: 6060; msg: "a bank in the health account list should be writable but is not"; name: "HealthAccountBankNotWritable" }, { code: 6061; msg: "the market does not allow limit orders too far from the current oracle value"; name: "SpotPriceBandExceeded" }, { code: 6062; msg: "deposit crosses the token's deposit limit"; name: "BankDepositLimit" }, { code: 6063; msg: "delegates can only withdraw to the owner's associated token account"; name: "DelegateWithdrawOnlyToOwnerAta" }, { code: 6064; msg: "delegates can only withdraw if they close the token position"; name: "DelegateWithdrawMustClosePosition" }, { code: 6065; msg: "delegates can only withdraw small amounts"; name: "DelegateWithdrawSmall" }, { code: 6066; msg: "The provided CLMM oracle is not valid"; name: "InvalidCLMMOracle" }, { code: 6067; msg: "invalid usdc/usd feed provided for the CLMM oracle"; name: "InvalidFeedForCLMMOracle" }, { code: 6068; msg: "Pyth USDC/USD or SOL/USD feed not found (required by CLMM oracle)"; name: "MissingFeedForCLMMOracle" }, { code: 6069; msg: "the asset does not allow liquidation"; name: "TokenAssetLiquidationDisabled" }, { code: 6070; msg: "for borrows the bank must be in the health account list"; name: "BorrowsRequireHealthAccountBank" }, { code: 6071; msg: "invalid sequence number"; name: "InvalidSequenceNumber" }, { code: 6072; msg: "invalid health"; name: "InvalidHealth" }, { code: 6073; msg: "no free openbook v2 open orders index"; name: "NoFreeOpenbookV2OpenOrdersIndex" }, { code: 6074; msg: "openbook v2 open orders exist already"; name: "OpenbookV2OpenOrdersExistAlready" }]; events: [{ fields: [{ index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV3" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "util0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "util1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }, { index: false; name: "curveScaling"; type: "f64" }, { index: false; name: "targetUtilization"; type: "f32" }]; name: "UpdateRateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "OpenbookV2OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "fallbackOracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "openbookMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "openbookProgram"; type: "publicKey" }, { index: false; name: "openbookMarketExternal"; type: "publicKey" }]; name: "OpenbookV2RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransferRecurring"; type: "i64" }, { index: false; name: "pnlSettleLimitTransferOneshot"; type: "i64" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }, { index: false; name: "durationSeconds"; type: "u64" }]; name: "TokenConditionalSwapCreateLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }]; name: "TokenConditionalSwapTriggerLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "caller"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "incentiveTokenIndex"; type: "u16" }, { index: false; name: "incentiveAmount"; type: "u64" }]; name: "TokenConditionalSwapStartLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "assetUsageFraction"; type: "i128" }, { index: false; name: "fee"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "TokenCollateralFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "toTokenAccount"; type: "publicKey" }]; name: "ForceWithdrawLog" }]; instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }, { name: "allowedFastListingsPerIntervalOpt"; type: { option: "u16" } }, { name: "collateralFeeIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "withdrawDestination" }, { isMut: false; isSigner: false; name: "newInsuranceMint" }, { isMut: true; isSigner: false; name: "newInsuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "new_insurance_mint"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "groupChangeInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "interestCurveScaling"; type: "f32" }, { name: "interestTargetUtilization"; type: "f32" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "depositLimit"; type: "u64" }, { name: "zeroUtilRate"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }, { name: "disableAssetLiquidation"; type: "bool" }, { name: "collateralFeePerDay"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }, { docs: ["The fallback oracle account is optional and only used when set_fallback_oracle is true.", ""]; isMut: false; isSigner: false; name: "fallbackOracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }, { name: "interestCurveScalingOpt"; type: { option: "f32" } }, { name: "interestTargetUtilizationOpt"; type: { option: "f32" } }, { name: "maintWeightShiftStartOpt"; type: { option: "u64" } }, { name: "maintWeightShiftEndOpt"; type: { option: "u64" } }, { name: "maintWeightShiftAssetTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftLiabTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftAbort"; type: "bool" }, { name: "setFallbackOracle"; type: "bool" }, { name: "depositLimitOpt"; type: { option: "u64" } }, { name: "zeroUtilRateOpt"; type: { option: "f32" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }, { name: "disableAssetLiquidationOpt"; type: { option: "bool" } }, { name: "collateralFeePerDayOpt"; type: { option: "f32" } }, { name: "forceWithdrawOpt"; type: { option: "bool" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }]; name: "accountExpandV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: []; name: "accountSizeMigration" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "expectedSequenceNumber"; type: "u8" }]; name: "sequenceCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: [{ name: "minHealthValue"; type: "f64" }, { name: "checkKind"; type: { defined: "HealthCheckKind" } }]; name: "healthCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: true; name: "oracle" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: true; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "inputMint" }, { isMut: false; isSigner: false; name: "outputMint" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmount"; type: "u64" }]; docs: ["A version of flash_loan_begin that's specialized for swaps and needs fewer", "bytes in the transaction"]; name: "flashLoanSwapBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; docs: ["requires the receiver_bank in the health account list to be writable"]; name: "serum3PlaceOrderV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "serum3CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "ownerAtaTokenAccount" }, { docs: ["Only for the unusual case where the owner_ata account is not owned by account.owner"]; isMut: true; isSigner: false; name: "alternateOwnerTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenForceWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "maxPricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreatePremiumAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceStart"; type: "f64" }, { name: "priceEnd"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "startTimestamp"; type: "u64" }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreateLinearAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }, { name: "minBuyToken"; type: "u64" }, { name: "minTakerPrice"; type: "f32" }]; name: "tokenConditionalSwapTriggerV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapStart" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "tokenChargeCollateralFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; docs: ["Warning, this instruction is for testing purposes only!"]; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { docs: ["can't zerocopy this unfortunately"]; isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_market_external", "openbook_v2_program"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order"]; isMut: true; isSigner: false; name: "payerVault" }, { docs: ["The bank that receives the funds upon settlement. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "receiverBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLotsIncludingFees"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "OpenbookV2PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "OpenbookV2SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "clientOrderId"; type: "u64" }]; name: "openbookV2CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap", "market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }, { name: "sideOpt"; type: { option: { defined: "OpenbookV2Side" } } }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]; name: "mango_v4"; types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Deposit fee paid for positive change_amount.", "", "Not factored into change_amount."]; name: "depositFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV3"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Swap fee paid on the in token of a swap.", "", "Not factored into change_amount."]; name: "swapFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in serum3_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_serum_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in serum3_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 16] } }]; kind: "struct" } }, { name: "OpenbookV2Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in openbook_v2_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in openbook_v2_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_openbook_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in openbook_v2_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { docs: ["Stores the market's lot sizes", "", "Needed because the obv2 open orders account tells us about reserved amounts in lots and", "we want to be able to compute health without also loading the obv2 market."]; name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 162] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Deprecated field: Amount of pnl that was realized by bringing the base position closer to 0."]; name: "deprecatedRealizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled once.", "", "- The value is signed: a negative number means negative pnl can be settled.", "- A settlement in the right direction will decrease this amount.", "", "Typically added for fees, funding and liquidation."]; name: "oneshotSettlePnlAllowance"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled in each settle window.", "", "- Unsigned, the settlement can happen in both directions. Value is >= 0.", "- Previously stored a similar value that was signed, so in migration cases", "this value can be negative and should be .abs()ed.", "- If this value exceeds the current stable-upnl, it should be decreased,", "see apply_recurring_settle_pnl_allowance_constraint()", "", "When the base position is reduced, the settle limit contribution from the reduced", "base position is materialized into this value. When the base position increases,", "some of the allowance is taken away.", "", "This also gets increased when a liquidator takes over pnl."]; name: "recurringSettlePnlAllowance"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "quantity"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "makerOrderId"; type: "u128" }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "orderId"; type: "u128" }, { name: "padding1"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The lower or starting price:", "- For FixedPremium or PremiumAuctions, it's the lower end of the price range:", "the tcs can only be triggered if the oracle price exceeds this value.", "- For LinearAuctions it's the starting price that's offered at start_timestamp.", "", "The price is always in \"sell_token per buy_token\" units, which can be computed", "by dividing the buy token price by the sell token price.", "", "For FixedPremium or PremiumAuctions:", "", "The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price.", "If that price is >= lower_limit and <= upper_limit the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit / auction end price."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { docs: ["If this struct is in use. (tcs are stored in a static-length array)"]; name: "isConfigured"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { docs: ["Stores a TokenConditionalSwapType enum value"]; name: "tcsType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { docs: ["In seconds since epoch. 0 means not-started.", "", "FixedPremium: Time of first trigger call. No other effect.", "PremiumAuction: Time of start or first trigger call. Can continue to trigger once started.", "LinearAuction: Set during creation, auction starts with price_lower_limit at this timestamp."]; name: "startTimestamp"; type: "u64" }, { docs: ["Duration of the auction mechanism", "", "FixedPremium: ignored", "PremiumAuction: time after start that the premium needs to scale to price_premium_rate", "LinearAuction: time after start to go from price_lower_limit to price_upper_limit"]; name: "durationSeconds"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }, { name: "SwapWithoutFee" }] } }, { name: "HealthCheckKind"; type: { kind: "enum"; variants: [{ name: "Maint" }, { name: "Init" }, { name: "LiquidationEnd" }, { name: "MaintRatio" }, { name: "InitRatio" }, { name: "LiquidationEndRatio" }] } }, { name: "OpenbookV2PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "OpenbookV2Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "SpotMarketIndex"; type: { kind: "enum"; variants: [{ fields: ["u16"]; name: "Serum3" }, { fields: ["u16"]; name: "OpenbookV2" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2SettleFunds" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }, { name: "AccountSizeMigration" }, { name: "TokenConditionalSwapStart" }, { name: "TokenConditionalSwapCreatePremiumAuction" }, { name: "TokenConditionalSwapCreateLinearAuction" }, { name: "Serum3PlaceOrderV2" }, { name: "TokenForceWithdraw" }, { name: "SequenceCheck" }, { name: "HealthCheck" }, { name: "OpenbookV2CancelAllOrders" }, { name: "GroupChangeInsuranceFund" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }, { name: "OrcaCLMM" }, { name: "RaydiumCLMM" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }, { name: "TokenConditionalSwapType"; type: { kind: "enum"; variants: [{ name: "FixedPremium" }, { name: "PremiumAuction" }, { name: "LinearAuction" }] } }]; version: "0.25.0" }

                    Type declaration

                    • accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { docs: ["The unscaled borrow interest curve is defined as continuous piecewise linear with the points:", "", "- 0% util: zero_util_rate", "- util0% util: rate0", "- util1% util: rate1", "- 100% util: max_rate", "", "The final rate is this unscaled curve multiplied by interest_curve_scaling."]; name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { docs: ["the 100% utilization rate", "", "This isn't the max_rate, since this still gets scaled by interest_curve_scaling,", "which is >=1."]; name: "maxRate"; type: { defined: "I80F48" } }, { docs: ["Fees collected over the lifetime of the bank", "", "See fees_withdrawn for how much of the fees was withdrawn.", "See collected_liquidation_fees for the (included) subtotal for liquidation related fees."]; name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Liquidation fee that goes to the liqor.", "", "Liquidation always involves two tokens, and the sum of the two configured fees is used.", "", "A fraction of the price, like 0.05 for a 5% fee during liquidation.", "", "See also platform_liquidation_fee."]; name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["The maximum utilization allowed when borrowing is 1-this value", "WARNING: Outdated name, kept for IDL compatibility"]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { docs: ["If set to 1, deposits cannot be liquidated when an account is liquidatable.", "That means bankrupt accounts may still have assets of this type deposited."]; name: "disableAssetLiquidation"; type: "u8" }, { name: "forceWithdraw"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { docs: ["Target utilization: If actual utilization is higher, scale up interest.", "If it's lower, scale down interest (if possible)"]; name: "interestTargetUtilization"; type: "f32" }, { docs: ["Current interest curve scaling, always >= 1.0", "", "Except when first migrating to having this field, then 0.0"]; name: "interestCurveScaling"; type: "f64" }, { docs: ["Largest amount of tokens that might be added the bank based on", "serum open order execution."]; name: "potentialSerumTokens"; type: "u64" }, { docs: ["Start timestamp in seconds at which maint weights should start to change away", "from maint_asset_weight, maint_liab_weight towards _asset_target and _liab_target.", "If _start and _end and _duration_inv are 0, no shift is configured."]; name: "maintWeightShiftStart"; type: "u64" }, { docs: ["End timestamp in seconds until which the maint weights should reach the configured targets."]; name: "maintWeightShiftEnd"; type: "u64" }, { docs: ["Cache of the inverse of maint_weight_shift_end - maint_weight_shift_start,", "or zero if no shift is configured"]; name: "maintWeightShiftDurationInv"; type: { defined: "I80F48" } }, { docs: ["Maint asset weight to reach at _shift_end."]; name: "maintWeightShiftAssetTarget"; type: { defined: "I80F48" } }, { name: "maintWeightShiftLiabTarget"; type: { defined: "I80F48" } }, { docs: ["Oracle that may be used if the main oracle is stale or not confident enough.", "If this is Pubkey::default(), no fallback is available."]; name: "fallbackOracle"; type: "publicKey" }, { docs: ["zero means none, in token native"]; name: "depositLimit"; type: "u64" }, { docs: ["The unscaled borrow interest curve point for zero utilization.", "", "See util0, rate0, util1, rate1, max_rate"]; name: "zeroUtilRate"; type: { defined: "I80F48" } }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were collected during liquidation (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedLiquidationFees"; type: { defined: "I80F48" } }, { docs: ["Collateral fees that have been collected (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedCollateralFees"; type: { defined: "I80F48" } }, { docs: ["The daily collateral fees rate for fully utilized collateral."]; name: "collateralFeePerDay"; type: "f32" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Largest amount of tokens that might be added the bank based on", "oenbook open order execution."]; name: "potentialOpenbookTokens"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1888] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { docs: ["Fast-listings are limited per week, this is the start of the current fast-listing interval", "in seconds since epoch"]; name: "fastListingIntervalStart"; type: "u64" }, { docs: ["Number of fast listings that happened this interval"]; name: "fastListingsInInterval"; type: "u16" }, { docs: ["Number of fast listings that are allowed per interval"]; name: "allowedFastListingsPerInterval"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Intervals in which collateral fee is applied"]; name: "collateralFeeInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1800] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { docs: ["Time at which the last collateral fee was charged"]; name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }, { name: "padding8"; type: "u32" }, { name: "tokenConditionalSwaps"; type: { vec: { defined: "TokenConditionalSwap" } } }, { name: "padding9"; type: "u32" }, { name: "openbookV2"; type: { vec: { defined: "OpenbookV2Orders" } } }, { name: "reservedDynamic"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "fallbackOracle"; type: "publicKey" }, { name: "reserved"; type: { array: ["u8", 2528] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "marketIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "bump"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 1027] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold if settling at least 1% of perp base pos value."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health.", "(limited to 2x settle_fee_flat)"]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were accrued during liquidation (in native tokens)", "", "These fees are also added to fees_accrued, this is just for bookkeeping the total", "liquidation fees that happened. So never decreases (different to fees_accrued)."]; name: "accruedLiquidationFees"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 1848] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 1] } }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]
                    • errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled spot orders"; name: "HasOpenOrUnsettledSpotOrders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "token conditional swap oracle price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }, { code: 6050; msg: "token conditional swap is expired"; name: "TokenConditionalSwapExpired" }, { code: 6051; msg: "token conditional swap is not available yet"; name: "TokenConditionalSwapNotStarted" }, { code: 6052; msg: "token conditional swap was already started"; name: "TokenConditionalSwapAlreadyStarted" }, { code: 6053; msg: "token conditional swap it not set"; name: "TokenConditionalSwapNotSet" }, { code: 6054; msg: "token conditional swap trigger did not reach min_buy_token"; name: "TokenConditionalSwapMinBuyTokenNotReached" }, { code: 6055; msg: "token conditional swap cannot pay incentive"; name: "TokenConditionalSwapCantPayIncentive" }, { code: 6056; msg: "token conditional swap taker price is too low"; name: "TokenConditionalSwapTakerPriceTooLow" }, { code: 6057; msg: "token conditional swap index and id don't match"; name: "TokenConditionalSwapIndexIdMismatch" }, { code: 6058; msg: "token conditional swap volume is too small compared to the cost of starting it"; name: "TokenConditionalSwapTooSmallForStartIncentive" }, { code: 6059; msg: "token conditional swap type cannot be started"; name: "TokenConditionalSwapTypeNotStartable" }, { code: 6060; msg: "a bank in the health account list should be writable but is not"; name: "HealthAccountBankNotWritable" }, { code: 6061; msg: "the market does not allow limit orders too far from the current oracle value"; name: "SpotPriceBandExceeded" }, { code: 6062; msg: "deposit crosses the token's deposit limit"; name: "BankDepositLimit" }, { code: 6063; msg: "delegates can only withdraw to the owner's associated token account"; name: "DelegateWithdrawOnlyToOwnerAta" }, { code: 6064; msg: "delegates can only withdraw if they close the token position"; name: "DelegateWithdrawMustClosePosition" }, { code: 6065; msg: "delegates can only withdraw small amounts"; name: "DelegateWithdrawSmall" }, { code: 6066; msg: "The provided CLMM oracle is not valid"; name: "InvalidCLMMOracle" }, { code: 6067; msg: "invalid usdc/usd feed provided for the CLMM oracle"; name: "InvalidFeedForCLMMOracle" }, { code: 6068; msg: "Pyth USDC/USD or SOL/USD feed not found (required by CLMM oracle)"; name: "MissingFeedForCLMMOracle" }, { code: 6069; msg: "the asset does not allow liquidation"; name: "TokenAssetLiquidationDisabled" }, { code: 6070; msg: "for borrows the bank must be in the health account list"; name: "BorrowsRequireHealthAccountBank" }, { code: 6071; msg: "invalid sequence number"; name: "InvalidSequenceNumber" }, { code: 6072; msg: "invalid health"; name: "InvalidHealth" }, { code: 6073; msg: "no free openbook v2 open orders index"; name: "NoFreeOpenbookV2OpenOrdersIndex" }, { code: 6074; msg: "openbook v2 open orders exist already"; name: "OpenbookV2OpenOrdersExistAlready" }]
                    • events: [{ fields: [{ index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV3" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "util0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "util1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }, { index: false; name: "curveScaling"; type: "f64" }, { index: false; name: "targetUtilization"; type: "f32" }]; name: "UpdateRateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "OpenbookV2OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "fallbackOracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "openbookMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "openbookProgram"; type: "publicKey" }, { index: false; name: "openbookMarketExternal"; type: "publicKey" }]; name: "OpenbookV2RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransferRecurring"; type: "i64" }, { index: false; name: "pnlSettleLimitTransferOneshot"; type: "i64" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }, { index: false; name: "durationSeconds"; type: "u64" }]; name: "TokenConditionalSwapCreateLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }]; name: "TokenConditionalSwapTriggerLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "caller"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "incentiveTokenIndex"; type: "u16" }, { index: false; name: "incentiveAmount"; type: "u64" }]; name: "TokenConditionalSwapStartLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "assetUsageFraction"; type: "i128" }, { index: false; name: "fee"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "TokenCollateralFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "toTokenAccount"; type: "publicKey" }]; name: "ForceWithdrawLog" }]
                    • instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }, { name: "allowedFastListingsPerIntervalOpt"; type: { option: "u16" } }, { name: "collateralFeeIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "withdrawDestination" }, { isMut: false; isSigner: false; name: "newInsuranceMint" }, { isMut: true; isSigner: false; name: "newInsuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "new_insurance_mint"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "groupChangeInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "interestCurveScaling"; type: "f32" }, { name: "interestTargetUtilization"; type: "f32" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "depositLimit"; type: "u64" }, { name: "zeroUtilRate"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }, { name: "disableAssetLiquidation"; type: "bool" }, { name: "collateralFeePerDay"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }, { docs: ["The fallback oracle account is optional and only used when set_fallback_oracle is true.", ""]; isMut: false; isSigner: false; name: "fallbackOracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }, { name: "interestCurveScalingOpt"; type: { option: "f32" } }, { name: "interestTargetUtilizationOpt"; type: { option: "f32" } }, { name: "maintWeightShiftStartOpt"; type: { option: "u64" } }, { name: "maintWeightShiftEndOpt"; type: { option: "u64" } }, { name: "maintWeightShiftAssetTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftLiabTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftAbort"; type: "bool" }, { name: "setFallbackOracle"; type: "bool" }, { name: "depositLimitOpt"; type: { option: "u64" } }, { name: "zeroUtilRateOpt"; type: { option: "f32" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }, { name: "disableAssetLiquidationOpt"; type: { option: "bool" } }, { name: "collateralFeePerDayOpt"; type: { option: "f32" } }, { name: "forceWithdrawOpt"; type: { option: "bool" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }]; name: "accountExpandV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: []; name: "accountSizeMigration" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "expectedSequenceNumber"; type: "u8" }]; name: "sequenceCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: [{ name: "minHealthValue"; type: "f64" }, { name: "checkKind"; type: { defined: "HealthCheckKind" } }]; name: "healthCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: true; name: "oracle" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: true; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "inputMint" }, { isMut: false; isSigner: false; name: "outputMint" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmount"; type: "u64" }]; docs: ["A version of flash_loan_begin that's specialized for swaps and needs fewer", "bytes in the transaction"]; name: "flashLoanSwapBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; docs: ["requires the receiver_bank in the health account list to be writable"]; name: "serum3PlaceOrderV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "serum3CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "ownerAtaTokenAccount" }, { docs: ["Only for the unusual case where the owner_ata account is not owned by account.owner"]; isMut: true; isSigner: false; name: "alternateOwnerTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenForceWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "maxPricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreatePremiumAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceStart"; type: "f64" }, { name: "priceEnd"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "startTimestamp"; type: "u64" }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreateLinearAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }, { name: "minBuyToken"; type: "u64" }, { name: "minTakerPrice"; type: "f32" }]; name: "tokenConditionalSwapTriggerV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapStart" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "tokenChargeCollateralFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; docs: ["Warning, this instruction is for testing purposes only!"]; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { docs: ["can't zerocopy this unfortunately"]; isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_market_external", "openbook_v2_program"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order"]; isMut: true; isSigner: false; name: "payerVault" }, { docs: ["The bank that receives the funds upon settlement. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "receiverBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLotsIncludingFees"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "OpenbookV2PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "OpenbookV2SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "clientOrderId"; type: "u64" }]; name: "openbookV2CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap", "market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }, { name: "sideOpt"; type: { option: { defined: "OpenbookV2Side" } } }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]
                    • name: "mango_v4"
                    • types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Deposit fee paid for positive change_amount.", "", "Not factored into change_amount."]; name: "depositFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV3"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Swap fee paid on the in token of a swap.", "", "Not factored into change_amount."]; name: "swapFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in serum3_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_serum_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in serum3_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 16] } }]; kind: "struct" } }, { name: "OpenbookV2Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in openbook_v2_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in openbook_v2_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_openbook_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in openbook_v2_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { docs: ["Stores the market's lot sizes", "", "Needed because the obv2 open orders account tells us about reserved amounts in lots and", "we want to be able to compute health without also loading the obv2 market."]; name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 162] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Deprecated field: Amount of pnl that was realized by bringing the base position closer to 0."]; name: "deprecatedRealizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled once.", "", "- The value is signed: a negative number means negative pnl can be settled.", "- A settlement in the right direction will decrease this amount.", "", "Typically added for fees, funding and liquidation."]; name: "oneshotSettlePnlAllowance"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled in each settle window.", "", "- Unsigned, the settlement can happen in both directions. Value is >= 0.", "- Previously stored a similar value that was signed, so in migration cases", "this value can be negative and should be .abs()ed.", "- If this value exceeds the current stable-upnl, it should be decreased,", "see apply_recurring_settle_pnl_allowance_constraint()", "", "When the base position is reduced, the settle limit contribution from the reduced", "base position is materialized into this value. When the base position increases,", "some of the allowance is taken away.", "", "This also gets increased when a liquidator takes over pnl."]; name: "recurringSettlePnlAllowance"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "quantity"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "makerOrderId"; type: "u128" }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "orderId"; type: "u128" }, { name: "padding1"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The lower or starting price:", "- For FixedPremium or PremiumAuctions, it's the lower end of the price range:", "the tcs can only be triggered if the oracle price exceeds this value.", "- For LinearAuctions it's the starting price that's offered at start_timestamp.", "", "The price is always in \"sell_token per buy_token\" units, which can be computed", "by dividing the buy token price by the sell token price.", "", "For FixedPremium or PremiumAuctions:", "", "The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price.", "If that price is >= lower_limit and <= upper_limit the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit / auction end price."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { docs: ["If this struct is in use. (tcs are stored in a static-length array)"]; name: "isConfigured"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { docs: ["Stores a TokenConditionalSwapType enum value"]; name: "tcsType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { docs: ["In seconds since epoch. 0 means not-started.", "", "FixedPremium: Time of first trigger call. No other effect.", "PremiumAuction: Time of start or first trigger call. Can continue to trigger once started.", "LinearAuction: Set during creation, auction starts with price_lower_limit at this timestamp."]; name: "startTimestamp"; type: "u64" }, { docs: ["Duration of the auction mechanism", "", "FixedPremium: ignored", "PremiumAuction: time after start that the premium needs to scale to price_premium_rate", "LinearAuction: time after start to go from price_lower_limit to price_upper_limit"]; name: "durationSeconds"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }, { name: "SwapWithoutFee" }] } }, { name: "HealthCheckKind"; type: { kind: "enum"; variants: [{ name: "Maint" }, { name: "Init" }, { name: "LiquidationEnd" }, { name: "MaintRatio" }, { name: "InitRatio" }, { name: "LiquidationEndRatio" }] } }, { name: "OpenbookV2PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "OpenbookV2Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "SpotMarketIndex"; type: { kind: "enum"; variants: [{ fields: ["u16"]; name: "Serum3" }, { fields: ["u16"]; name: "OpenbookV2" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2SettleFunds" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }, { name: "AccountSizeMigration" }, { name: "TokenConditionalSwapStart" }, { name: "TokenConditionalSwapCreatePremiumAuction" }, { name: "TokenConditionalSwapCreateLinearAuction" }, { name: "Serum3PlaceOrderV2" }, { name: "TokenForceWithdraw" }, { name: "SequenceCheck" }, { name: "HealthCheck" }, { name: "OpenbookV2CancelAllOrders" }, { name: "GroupChangeInsuranceFund" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }, { name: "OrcaCLMM" }, { name: "RaydiumCLMM" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }, { name: "TokenConditionalSwapType"; type: { kind: "enum"; variants: [{ name: "FixedPremium" }, { name: "PremiumAuction" }, { name: "LinearAuction" }] } }]
                    • version: "0.25.0"
                    Modify<T, R>: Omit<T, keyof R> & R

                    Type parameters

                    • T

                    • R

                    OpenbookV2MarketIndex: number & As<"market-index">
                    OpenbookV2OrderType: { limit: Record<string, never> } | { immediateOrCancel: Record<string, never> } | { postOnly: Record<string, never> }
                    OpenbookV2SelfTradeBehavior: { decrementTake: Record<string, never> } | { cancelProvide: Record<string, never> } | { abortTransaction: Record<string, never> }
                    OpenbookV2Side: { bid: Record<string, never> } | { ask: Record<string, never> }
                    OracleConfig: { confFilter: I80F48; maxStalenessSlots: BN }

                    Type declaration

                    • confFilter: I80F48
                    • maxStalenessSlots: BN
                    OracleConfigDto: { confFilter: I80F48Dto; maxStalenessSlots: BN }

                    Type declaration

                    ParsedFillEvent: Modify<FillEvent, { price: number; quantity: number }>
                    PerpMarketIndex: number & As<"perp-market-index">
                    PerpOrderSide: { bid: Record<string, never> } | { ask: Record<string, never> }
                    PerpOrderType: { limit: Record<string, never> } | { immediateOrCancel: Record<string, never> } | { postOnly: Record<string, never> } | { market: Record<string, never> } | { postOnlySlide: Record<string, never> }
                    PerpSelfTradeBehavior: { decrementTake: Record<string, never> } | { cancelProvide: Record<string, never> } | { abortTransaction: Record<string, never> }
                    PlatformFee: { feeAccount: string; feeBps: number }

                    Type declaration

                    • feeAccount: string
                    • feeBps: number
                    PriceImpact: { avg_price_impact_percent: number; max_price_impact_percent: number; min_price_impact_percent: number; p90: number; p95: number; side: "bid" | "ask"; symbol: string; target_amount: number }

                    Type declaration

                    • avg_price_impact_percent: number
                    • max_price_impact_percent: number
                    • min_price_impact_percent: number
                    • p90: number
                    • p95: number
                    • side: "bid" | "ask"
                    • symbol: string
                    • target_amount: number
                    QuoteMintToReferrer: Map<TokenMintAddress, string>
                    Routes: { bestRoute: RouteInfo | null; routes: RouteInfo[] }

                    Type declaration

                    SendTransactionOpts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>
                    Serum3OrderType: { limit: Record<string, never> } | { immediateOrCancel: Record<string, never> } | { postOnly: Record<string, never> }
                    Serum3SelfTradeBehavior: { decrementTake: Record<string, never> } | { cancelProvide: Record<string, never> } | { abortTransaction: Record<string, never> }
                    Serum3Side: { bid: Record<string, never> } | { ask: Record<string, never> }
                    StablePriceModel: { delayAccumulatorPrice: number; delayAccumulatorTime: number; delayGrowthLimit: number; delayIntervalSeconds: number; delayPrices: number[]; lastDelayIntervalIndex: number; lastUpdateTimestamp: BN; stableGrowthLimit: number; stablePrice: number }

                    Type declaration

                    • delayAccumulatorPrice: number
                    • delayAccumulatorTime: number
                    • delayGrowthLimit: number
                    • delayIntervalSeconds: number
                    • delayPrices: number[]
                    • lastDelayIntervalIndex: number
                    • lastUpdateTimestamp: BN
                    • stableGrowthLimit: number
                    • stablePrice: number
                    Token: { address: string; chainId: number; decimals: number; extensions: { coingeckoId?: string }; logoURI: string; name: string; symbol: string; tags: string[] }

                    Type declaration

                    • address: string
                    • chainId: number
                    • decimals: number
                    • extensions: { coingeckoId?: string }
                      • Optional coingeckoId?: string
                    • logoURI: string
                    • name: string
                    • symbol: string
                    • tags: string[]
                    TokenConditionalSwapDisplayPriceStyle: { sellTokenPerBuyToken: Record<string, never> } | { buyTokenPerSellToken: Record<string, never> }
                    TokenConditionalSwapIntention: { unknown: Record<string, never> } | { stopLoss: Record<string, never> } | { takeProfit: Record<string, never> }
                    TokenIndex: number & As<"token-index">
                    TokenMintAddress: string

                    Variables

                    COMPUTE_BUDGET_PROGRAM_ID: PublicKey = ...
                    I64_MAX_BN: BN = ...
                    IDL: MangoV4 = ...
                    JUPITER: { V3: PublicKey; V4: PublicKey; V6: PublicKey } = ...

                    Type declaration

                    • V3: PublicKey
                    • V4: PublicKey
                    • V6: PublicKey
                    MANGO_ROUTER_API_URL: "https://api.mngo.cloud/router/v1" = 'https://api.mngo.cloud/router/v1'
                    MANGO_V4_ID: { devnet: PublicKey; mainnet-beta: PublicKey; testnet: PublicKey } = ...

                    Type declaration

                    • devnet: PublicKey
                    • mainnet-beta: PublicKey
                    • testnet: PublicKey
                    MANGO_V4_MAIN_GROUP: PublicKey = ...
                    MAX_RECENT_PRIORITY_FEE_ACCOUNTS: 128 = 128
                    NullPerpEditParams: PerpEditParams = ...
                    NullTokenEditParams: TokenEditParams = ...
                    OPENBOOK_PROGRAM_ID: { devnet: PublicKey; mainnet-beta: PublicKey } = ...

                    Type declaration

                    • devnet: PublicKey
                    • mainnet-beta: PublicKey
                    OPENBOOK_V2_PROGRAM_ID: { devnet: PublicKey; mainnet-beta: PublicKey; testnet: PublicKey } = ...

                    Type declaration

                    • devnet: PublicKey
                    • mainnet-beta: PublicKey
                    • testnet: PublicKey
                    QUOTE_DECIMALS: 6 = 6
                    SOL_MINT_MAINNET: PublicKey = ...
                    TrueIxGateParams: IxGateParams = ...
                    U64_MAX_BN: BN = ...
                    USDC_MINT: PublicKey = ...
                    USDC_MINT_MAINNET: PublicKey = ...

                    Functions

                    • RUST_I64_MAX(): BN
                    • RUST_I64_MIN(): BN
                    • RUST_U64_MAX(): BN
                    • baseSizeNumberToLots(size: number, market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>): BN
                    • Parameters

                      • size: number
                      • market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

                      Returns BN

                    • bpsToDecimal(bps: number): number
                    • buildFetch(): Promise<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>
                    • buildIxGate(p: IxGateParams): BN
                    • buildVersionedTx(provider: AnchorProvider, ix: TransactionInstruction[], additionalSigners?: Signer[], alts?: AddressLookupTableAccount[]): Promise<VersionedTransaction>
                    • Parameters

                      • provider: AnchorProvider
                      • ix: TransactionInstruction[]
                      • additionalSigners: Signer[] = []
                      • alts: AddressLookupTableAccount[] = []

                      Returns Promise<VersionedTransaction>

                    • computePriceImpactOnJup(pis: PriceImpact[], usdcAmount: number, tokenName: string): number
                    • +@blockworks-foundation/mango-v4
                      Options
                      All
                      • Public
                      • Public/Protected
                      • All
                      Menu

                      @blockworks-foundation/mango-v4

                      Index

                      Namespaces

                      Enumerations

                      Classes

                      Interfaces

                      Type aliases

                      Variables

                      Functions

                      Type aliases

                      AccountInfoMap: Map<string, AccountInfo<Buffer> | null>
                      AmmLabel: "Aldrin" | "Crema" | "Cropper" | "Cykura" | "DeltaFi" | "GooseFX" | "Invariant" | "Lifinity" | "Lifinity V2" | "Marinade" | "Mercurial" | "Meteora" | "Raydium" | "Raydium CLMM" | "Saber" | "Serum" | "Orca" | "Step" | "Penguin" | "Saros" | "Stepn" | "Orca (Whirlpools)" | "Sencha" | "Saber (Decimals)" | "Dradex" | "Balansol" | "Openbook" | "Unknown"
                      BookSideType: { bids: Record<string, never> } | { asks: Record<string, never> }
                      FlashLoanType: { unknown: Record<string, never> } | { swap: Record<string, never> } | { swapWithoutFee: Record<string, never> }
                      HealthCheckKind: { maint: Record<string, never> } | { init: Record<string, never> } | { liquidationEnd: Record<string, never> } | { maintRatio: Record<string, never> } | { initRatio: Record<string, never> } | { liquidationEndRatio: Record<string, never> }
                      MangoV4: { accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { docs: ["The unscaled borrow interest curve is defined as continuous piecewise linear with the points:", "", "- 0% util: zero_util_rate", "- util0% util: rate0", "- util1% util: rate1", "- 100% util: max_rate", "", "The final rate is this unscaled curve multiplied by interest_curve_scaling."]; name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { docs: ["the 100% utilization rate", "", "This isn't the max_rate, since this still gets scaled by interest_curve_scaling,", "which is >=1."]; name: "maxRate"; type: { defined: "I80F48" } }, { docs: ["Fees collected over the lifetime of the bank", "", "See fees_withdrawn for how much of the fees was withdrawn.", "See collected_liquidation_fees for the (included) subtotal for liquidation related fees."]; name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Liquidation fee that goes to the liqor.", "", "Liquidation always involves two tokens, and the sum of the two configured fees is used.", "", "A fraction of the price, like 0.05 for a 5% fee during liquidation.", "", "See also platform_liquidation_fee."]; name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["The maximum utilization allowed when borrowing is 1-this value", "WARNING: Outdated name, kept for IDL compatibility"]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { docs: ["If set to 1, deposits cannot be liquidated when an account is liquidatable.", "That means bankrupt accounts may still have assets of this type deposited."]; name: "disableAssetLiquidation"; type: "u8" }, { name: "forceWithdraw"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { docs: ["Target utilization: If actual utilization is higher, scale up interest.", "If it's lower, scale down interest (if possible)"]; name: "interestTargetUtilization"; type: "f32" }, { docs: ["Current interest curve scaling, always >= 1.0", "", "Except when first migrating to having this field, then 0.0"]; name: "interestCurveScaling"; type: "f64" }, { docs: ["Largest amount of tokens that might be added the bank based on", "serum open order execution."]; name: "potentialSerumTokens"; type: "u64" }, { docs: ["Start timestamp in seconds at which maint weights should start to change away", "from maint_asset_weight, maint_liab_weight towards _asset_target and _liab_target.", "If _start and _end and _duration_inv are 0, no shift is configured."]; name: "maintWeightShiftStart"; type: "u64" }, { docs: ["End timestamp in seconds until which the maint weights should reach the configured targets."]; name: "maintWeightShiftEnd"; type: "u64" }, { docs: ["Cache of the inverse of maint_weight_shift_end - maint_weight_shift_start,", "or zero if no shift is configured"]; name: "maintWeightShiftDurationInv"; type: { defined: "I80F48" } }, { docs: ["Maint asset weight to reach at _shift_end."]; name: "maintWeightShiftAssetTarget"; type: { defined: "I80F48" } }, { name: "maintWeightShiftLiabTarget"; type: { defined: "I80F48" } }, { docs: ["Oracle that may be used if the main oracle is stale or not confident enough.", "If this is Pubkey::default(), no fallback is available."]; name: "fallbackOracle"; type: "publicKey" }, { docs: ["zero means none, in token native"]; name: "depositLimit"; type: "u64" }, { docs: ["The unscaled borrow interest curve point for zero utilization.", "", "See util0, rate0, util1, rate1, max_rate"]; name: "zeroUtilRate"; type: { defined: "I80F48" } }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were collected during liquidation (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedLiquidationFees"; type: { defined: "I80F48" } }, { docs: ["Collateral fees that have been collected (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedCollateralFees"; type: { defined: "I80F48" } }, { docs: ["The daily collateral fees rate for fully utilized collateral."]; name: "collateralFeePerDay"; type: "f32" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Largest amount of tokens that might be added the bank based on", "oenbook open order execution."]; name: "potentialOpenbookTokens"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1888] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { docs: ["Fast-listings are limited per week, this is the start of the current fast-listing interval", "in seconds since epoch"]; name: "fastListingIntervalStart"; type: "u64" }, { docs: ["Number of fast listings that happened this interval"]; name: "fastListingsInInterval"; type: "u16" }, { docs: ["Number of fast listings that are allowed per interval"]; name: "allowedFastListingsPerInterval"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Intervals in which collateral fee is applied"]; name: "collateralFeeInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1800] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { docs: ["Time at which the last collateral fee was charged"]; name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }, { name: "padding8"; type: "u32" }, { name: "tokenConditionalSwaps"; type: { vec: { defined: "TokenConditionalSwap" } } }, { name: "padding9"; type: "u32" }, { name: "openbookV2"; type: { vec: { defined: "OpenbookV2Orders" } } }, { name: "reservedDynamic"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "fallbackOracle"; type: "publicKey" }, { name: "reserved"; type: { array: ["u8", 2528] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "marketIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "bump"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 1027] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold if settling at least 1% of perp base pos value."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health.", "(limited to 2x settle_fee_flat)"]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were accrued during liquidation (in native tokens)", "", "These fees are also added to fees_accrued, this is just for bookkeeping the total", "liquidation fees that happened. So never decreases (different to fees_accrued)."]; name: "accruedLiquidationFees"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 1848] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 1] } }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]; errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled spot orders"; name: "HasOpenOrUnsettledSpotOrders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "token conditional swap oracle price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }, { code: 6050; msg: "token conditional swap is expired"; name: "TokenConditionalSwapExpired" }, { code: 6051; msg: "token conditional swap is not available yet"; name: "TokenConditionalSwapNotStarted" }, { code: 6052; msg: "token conditional swap was already started"; name: "TokenConditionalSwapAlreadyStarted" }, { code: 6053; msg: "token conditional swap it not set"; name: "TokenConditionalSwapNotSet" }, { code: 6054; msg: "token conditional swap trigger did not reach min_buy_token"; name: "TokenConditionalSwapMinBuyTokenNotReached" }, { code: 6055; msg: "token conditional swap cannot pay incentive"; name: "TokenConditionalSwapCantPayIncentive" }, { code: 6056; msg: "token conditional swap taker price is too low"; name: "TokenConditionalSwapTakerPriceTooLow" }, { code: 6057; msg: "token conditional swap index and id don't match"; name: "TokenConditionalSwapIndexIdMismatch" }, { code: 6058; msg: "token conditional swap volume is too small compared to the cost of starting it"; name: "TokenConditionalSwapTooSmallForStartIncentive" }, { code: 6059; msg: "token conditional swap type cannot be started"; name: "TokenConditionalSwapTypeNotStartable" }, { code: 6060; msg: "a bank in the health account list should be writable but is not"; name: "HealthAccountBankNotWritable" }, { code: 6061; msg: "the market does not allow limit orders too far from the current oracle value"; name: "SpotPriceBandExceeded" }, { code: 6062; msg: "deposit crosses the token's deposit limit"; name: "BankDepositLimit" }, { code: 6063; msg: "delegates can only withdraw to the owner's associated token account"; name: "DelegateWithdrawOnlyToOwnerAta" }, { code: 6064; msg: "delegates can only withdraw if they close the token position"; name: "DelegateWithdrawMustClosePosition" }, { code: 6065; msg: "delegates can only withdraw small amounts"; name: "DelegateWithdrawSmall" }, { code: 6066; msg: "The provided CLMM oracle is not valid"; name: "InvalidCLMMOracle" }, { code: 6067; msg: "invalid usdc/usd feed provided for the CLMM oracle"; name: "InvalidFeedForCLMMOracle" }, { code: 6068; msg: "Pyth USDC/USD or SOL/USD feed not found (required by CLMM oracle)"; name: "MissingFeedForCLMMOracle" }, { code: 6069; msg: "the asset does not allow liquidation"; name: "TokenAssetLiquidationDisabled" }, { code: 6070; msg: "for borrows the bank must be in the health account list"; name: "BorrowsRequireHealthAccountBank" }, { code: 6071; msg: "invalid sequence number"; name: "InvalidSequenceNumber" }, { code: 6072; msg: "invalid health"; name: "InvalidHealth" }, { code: 6073; msg: "no free openbook v2 open orders index"; name: "NoFreeOpenbookV2OpenOrdersIndex" }, { code: 6074; msg: "openbook v2 open orders exist already"; name: "OpenbookV2OpenOrdersExistAlready" }]; events: [{ fields: [{ index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV3" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "util0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "util1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }, { index: false; name: "curveScaling"; type: "f64" }, { index: false; name: "targetUtilization"; type: "f32" }]; name: "UpdateRateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "OpenbookV2OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "fallbackOracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "openbookMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "openbookProgram"; type: "publicKey" }, { index: false; name: "openbookMarketExternal"; type: "publicKey" }]; name: "OpenbookV2RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransferRecurring"; type: "i64" }, { index: false; name: "pnlSettleLimitTransferOneshot"; type: "i64" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }, { index: false; name: "durationSeconds"; type: "u64" }]; name: "TokenConditionalSwapCreateLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }]; name: "TokenConditionalSwapTriggerLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "caller"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "incentiveTokenIndex"; type: "u16" }, { index: false; name: "incentiveAmount"; type: "u64" }]; name: "TokenConditionalSwapStartLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "assetUsageFraction"; type: "i128" }, { index: false; name: "fee"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "TokenCollateralFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "toTokenAccount"; type: "publicKey" }]; name: "ForceWithdrawLog" }]; instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }, { name: "allowedFastListingsPerIntervalOpt"; type: { option: "u16" } }, { name: "collateralFeeIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "withdrawDestination" }, { isMut: false; isSigner: false; name: "newInsuranceMint" }, { isMut: true; isSigner: false; name: "newInsuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "new_insurance_mint"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "groupChangeInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "interestCurveScaling"; type: "f32" }, { name: "interestTargetUtilization"; type: "f32" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "depositLimit"; type: "u64" }, { name: "zeroUtilRate"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }, { name: "disableAssetLiquidation"; type: "bool" }, { name: "collateralFeePerDay"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }, { docs: ["The fallback oracle account is optional and only used when set_fallback_oracle is true.", ""]; isMut: false; isSigner: false; name: "fallbackOracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }, { name: "interestCurveScalingOpt"; type: { option: "f32" } }, { name: "interestTargetUtilizationOpt"; type: { option: "f32" } }, { name: "maintWeightShiftStartOpt"; type: { option: "u64" } }, { name: "maintWeightShiftEndOpt"; type: { option: "u64" } }, { name: "maintWeightShiftAssetTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftLiabTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftAbort"; type: "bool" }, { name: "setFallbackOracle"; type: "bool" }, { name: "depositLimitOpt"; type: { option: "u64" } }, { name: "zeroUtilRateOpt"; type: { option: "f32" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }, { name: "disableAssetLiquidationOpt"; type: { option: "bool" } }, { name: "collateralFeePerDayOpt"; type: { option: "f32" } }, { name: "forceWithdrawOpt"; type: { option: "bool" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }]; name: "accountExpandV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: []; name: "accountSizeMigration" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "expectedSequenceNumber"; type: "u8" }]; name: "sequenceCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: [{ name: "minHealthValue"; type: "f64" }, { name: "checkKind"; type: { defined: "HealthCheckKind" } }]; name: "healthCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: true; name: "oracle" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: true; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "inputMint" }, { isMut: false; isSigner: false; name: "outputMint" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmount"; type: "u64" }]; docs: ["A version of flash_loan_begin that's specialized for swaps and needs fewer", "bytes in the transaction"]; name: "flashLoanSwapBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; docs: ["requires the receiver_bank in the health account list to be writable"]; name: "serum3PlaceOrderV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "serum3CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "ownerAtaTokenAccount" }, { docs: ["Only for the unusual case where the owner_ata account is not owned by account.owner"]; isMut: true; isSigner: false; name: "alternateOwnerTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenForceWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "maxPricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreatePremiumAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceStart"; type: "f64" }, { name: "priceEnd"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "startTimestamp"; type: "u64" }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreateLinearAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }, { name: "minBuyToken"; type: "u64" }, { name: "minTakerPrice"; type: "f32" }]; name: "tokenConditionalSwapTriggerV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapStart" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "tokenChargeCollateralFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; docs: ["Warning, this instruction is for testing purposes only!"]; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { docs: ["can't zerocopy this unfortunately"]; isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_market_external", "openbook_v2_program"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order"]; isMut: true; isSigner: false; name: "payerVault" }, { docs: ["The bank that receives the funds upon settlement. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "receiverBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLotsIncludingFees"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "OpenbookV2PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "OpenbookV2SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "clientOrderId"; type: "u64" }]; name: "openbookV2CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap", "market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }, { name: "sideOpt"; type: { option: { defined: "OpenbookV2Side" } } }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]; name: "mango_v4"; types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Deposit fee paid for positive change_amount.", "", "Not factored into change_amount."]; name: "depositFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV3"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Swap fee paid on the in token of a swap.", "", "Not factored into change_amount."]; name: "swapFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in serum3_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_serum_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in serum3_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 16] } }]; kind: "struct" } }, { name: "OpenbookV2Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in openbook_v2_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in openbook_v2_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_openbook_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in openbook_v2_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { docs: ["Stores the market's lot sizes", "", "Needed because the obv2 open orders account tells us about reserved amounts in lots and", "we want to be able to compute health without also loading the obv2 market."]; name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 162] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Deprecated field: Amount of pnl that was realized by bringing the base position closer to 0."]; name: "deprecatedRealizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled once.", "", "- The value is signed: a negative number means negative pnl can be settled.", "- A settlement in the right direction will decrease this amount.", "", "Typically added for fees, funding and liquidation."]; name: "oneshotSettlePnlAllowance"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled in each settle window.", "", "- Unsigned, the settlement can happen in both directions. Value is >= 0.", "- Previously stored a similar value that was signed, so in migration cases", "this value can be negative and should be .abs()ed.", "- If this value exceeds the current stable-upnl, it should be decreased,", "see apply_recurring_settle_pnl_allowance_constraint()", "", "When the base position is reduced, the settle limit contribution from the reduced", "base position is materialized into this value. When the base position increases,", "some of the allowance is taken away.", "", "This also gets increased when a liquidator takes over pnl."]; name: "recurringSettlePnlAllowance"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "quantity"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "makerOrderId"; type: "u128" }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "orderId"; type: "u128" }, { name: "padding1"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The lower or starting price:", "- For FixedPremium or PremiumAuctions, it's the lower end of the price range:", "the tcs can only be triggered if the oracle price exceeds this value.", "- For LinearAuctions it's the starting price that's offered at start_timestamp.", "", "The price is always in \"sell_token per buy_token\" units, which can be computed", "by dividing the buy token price by the sell token price.", "", "For FixedPremium or PremiumAuctions:", "", "The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price.", "If that price is >= lower_limit and <= upper_limit the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit / auction end price."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { docs: ["If this struct is in use. (tcs are stored in a static-length array)"]; name: "isConfigured"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { docs: ["Stores a TokenConditionalSwapType enum value"]; name: "tcsType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { docs: ["In seconds since epoch. 0 means not-started.", "", "FixedPremium: Time of first trigger call. No other effect.", "PremiumAuction: Time of start or first trigger call. Can continue to trigger once started.", "LinearAuction: Set during creation, auction starts with price_lower_limit at this timestamp."]; name: "startTimestamp"; type: "u64" }, { docs: ["Duration of the auction mechanism", "", "FixedPremium: ignored", "PremiumAuction: time after start that the premium needs to scale to price_premium_rate", "LinearAuction: time after start to go from price_lower_limit to price_upper_limit"]; name: "durationSeconds"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }, { name: "SwapWithoutFee" }] } }, { name: "HealthCheckKind"; type: { kind: "enum"; variants: [{ name: "Maint" }, { name: "Init" }, { name: "LiquidationEnd" }, { name: "MaintRatio" }, { name: "InitRatio" }, { name: "LiquidationEndRatio" }] } }, { name: "OpenbookV2PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "OpenbookV2Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "SpotMarketIndex"; type: { kind: "enum"; variants: [{ fields: ["u16"]; name: "Serum3" }, { fields: ["u16"]; name: "OpenbookV2" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2SettleFunds" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }, { name: "AccountSizeMigration" }, { name: "TokenConditionalSwapStart" }, { name: "TokenConditionalSwapCreatePremiumAuction" }, { name: "TokenConditionalSwapCreateLinearAuction" }, { name: "Serum3PlaceOrderV2" }, { name: "TokenForceWithdraw" }, { name: "SequenceCheck" }, { name: "HealthCheck" }, { name: "OpenbookV2CancelAllOrders" }, { name: "GroupChangeInsuranceFund" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }, { name: "OrcaCLMM" }, { name: "RaydiumCLMM" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }, { name: "TokenConditionalSwapType"; type: { kind: "enum"; variants: [{ name: "FixedPremium" }, { name: "PremiumAuction" }, { name: "LinearAuction" }] } }]; version: "0.25.0" }

                      Type declaration

                      • accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { docs: ["The unscaled borrow interest curve is defined as continuous piecewise linear with the points:", "", "- 0% util: zero_util_rate", "- util0% util: rate0", "- util1% util: rate1", "- 100% util: max_rate", "", "The final rate is this unscaled curve multiplied by interest_curve_scaling."]; name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { docs: ["the 100% utilization rate", "", "This isn't the max_rate, since this still gets scaled by interest_curve_scaling,", "which is >=1."]; name: "maxRate"; type: { defined: "I80F48" } }, { docs: ["Fees collected over the lifetime of the bank", "", "See fees_withdrawn for how much of the fees was withdrawn.", "See collected_liquidation_fees for the (included) subtotal for liquidation related fees."]; name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Liquidation fee that goes to the liqor.", "", "Liquidation always involves two tokens, and the sum of the two configured fees is used.", "", "A fraction of the price, like 0.05 for a 5% fee during liquidation.", "", "See also platform_liquidation_fee."]; name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["The maximum utilization allowed when borrowing is 1-this value", "WARNING: Outdated name, kept for IDL compatibility"]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { docs: ["If set to 1, deposits cannot be liquidated when an account is liquidatable.", "That means bankrupt accounts may still have assets of this type deposited."]; name: "disableAssetLiquidation"; type: "u8" }, { name: "forceWithdraw"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { docs: ["Target utilization: If actual utilization is higher, scale up interest.", "If it's lower, scale down interest (if possible)"]; name: "interestTargetUtilization"; type: "f32" }, { docs: ["Current interest curve scaling, always >= 1.0", "", "Except when first migrating to having this field, then 0.0"]; name: "interestCurveScaling"; type: "f64" }, { docs: ["Largest amount of tokens that might be added the bank based on", "serum open order execution."]; name: "potentialSerumTokens"; type: "u64" }, { docs: ["Start timestamp in seconds at which maint weights should start to change away", "from maint_asset_weight, maint_liab_weight towards _asset_target and _liab_target.", "If _start and _end and _duration_inv are 0, no shift is configured."]; name: "maintWeightShiftStart"; type: "u64" }, { docs: ["End timestamp in seconds until which the maint weights should reach the configured targets."]; name: "maintWeightShiftEnd"; type: "u64" }, { docs: ["Cache of the inverse of maint_weight_shift_end - maint_weight_shift_start,", "or zero if no shift is configured"]; name: "maintWeightShiftDurationInv"; type: { defined: "I80F48" } }, { docs: ["Maint asset weight to reach at _shift_end."]; name: "maintWeightShiftAssetTarget"; type: { defined: "I80F48" } }, { name: "maintWeightShiftLiabTarget"; type: { defined: "I80F48" } }, { docs: ["Oracle that may be used if the main oracle is stale or not confident enough.", "If this is Pubkey::default(), no fallback is available."]; name: "fallbackOracle"; type: "publicKey" }, { docs: ["zero means none, in token native"]; name: "depositLimit"; type: "u64" }, { docs: ["The unscaled borrow interest curve point for zero utilization.", "", "See util0, rate0, util1, rate1, max_rate"]; name: "zeroUtilRate"; type: { defined: "I80F48" } }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were collected during liquidation (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedLiquidationFees"; type: { defined: "I80F48" } }, { docs: ["Collateral fees that have been collected (in native tokens)", "", "See also collected_fees_native and fees_withdrawn."]; name: "collectedCollateralFees"; type: { defined: "I80F48" } }, { docs: ["The daily collateral fees rate for fully utilized collateral."]; name: "collateralFeePerDay"; type: "f32" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Largest amount of tokens that might be added the bank based on", "oenbook open order execution."]; name: "potentialOpenbookTokens"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1888] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { docs: ["Fast-listings are limited per week, this is the start of the current fast-listing interval", "in seconds since epoch"]; name: "fastListingIntervalStart"; type: "u64" }, { docs: ["Number of fast listings that happened this interval"]; name: "fastListingsInInterval"; type: "u16" }, { docs: ["Number of fast listings that are allowed per interval"]; name: "allowedFastListingsPerInterval"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { docs: ["Intervals in which collateral fee is applied"]; name: "collateralFeeInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1800] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { docs: ["Time at which the last collateral fee was charged"]; name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }, { name: "padding8"; type: "u32" }, { name: "tokenConditionalSwaps"; type: { vec: { defined: "TokenConditionalSwap" } } }, { name: "padding9"; type: "u32" }, { name: "openbookV2"; type: { vec: { defined: "OpenbookV2Orders" } } }, { name: "reservedDynamic"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "fallbackOracle"; type: "publicKey" }, { name: "reserved"; type: { array: ["u8", 2528] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "marketIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "bump"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 1027] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold if settling at least 1% of perp base pos value."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health.", "(limited to 2x settle_fee_flat)"]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Additional to liquidation_fee, but goes to the group owner instead of the liqor"]; name: "platformLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Platform fees that were accrued during liquidation (in native tokens)", "", "These fees are also added to fees_accrued, this is just for bookkeeping the total", "liquidation fees that happened. So never decreases (different to fees_accrued)."]; name: "accruedLiquidationFees"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 1848] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 1] } }, { docs: ["Limit orders must be <= oracle * (1+band) and >= oracle / (1+band)", "", "Zero value is the default due to migration and disables the limit,", "same as f32::MAX."]; name: "oraclePriceBand"; type: "f32" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]
                      • errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled spot orders"; name: "HasOpenOrUnsettledSpotOrders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "token conditional swap oracle price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }, { code: 6050; msg: "token conditional swap is expired"; name: "TokenConditionalSwapExpired" }, { code: 6051; msg: "token conditional swap is not available yet"; name: "TokenConditionalSwapNotStarted" }, { code: 6052; msg: "token conditional swap was already started"; name: "TokenConditionalSwapAlreadyStarted" }, { code: 6053; msg: "token conditional swap it not set"; name: "TokenConditionalSwapNotSet" }, { code: 6054; msg: "token conditional swap trigger did not reach min_buy_token"; name: "TokenConditionalSwapMinBuyTokenNotReached" }, { code: 6055; msg: "token conditional swap cannot pay incentive"; name: "TokenConditionalSwapCantPayIncentive" }, { code: 6056; msg: "token conditional swap taker price is too low"; name: "TokenConditionalSwapTakerPriceTooLow" }, { code: 6057; msg: "token conditional swap index and id don't match"; name: "TokenConditionalSwapIndexIdMismatch" }, { code: 6058; msg: "token conditional swap volume is too small compared to the cost of starting it"; name: "TokenConditionalSwapTooSmallForStartIncentive" }, { code: 6059; msg: "token conditional swap type cannot be started"; name: "TokenConditionalSwapTypeNotStartable" }, { code: 6060; msg: "a bank in the health account list should be writable but is not"; name: "HealthAccountBankNotWritable" }, { code: 6061; msg: "the market does not allow limit orders too far from the current oracle value"; name: "SpotPriceBandExceeded" }, { code: 6062; msg: "deposit crosses the token's deposit limit"; name: "BankDepositLimit" }, { code: 6063; msg: "delegates can only withdraw to the owner's associated token account"; name: "DelegateWithdrawOnlyToOwnerAta" }, { code: 6064; msg: "delegates can only withdraw if they close the token position"; name: "DelegateWithdrawMustClosePosition" }, { code: 6065; msg: "delegates can only withdraw small amounts"; name: "DelegateWithdrawSmall" }, { code: 6066; msg: "The provided CLMM oracle is not valid"; name: "InvalidCLMMOracle" }, { code: 6067; msg: "invalid usdc/usd feed provided for the CLMM oracle"; name: "InvalidFeedForCLMMOracle" }, { code: 6068; msg: "Pyth USDC/USD or SOL/USD feed not found (required by CLMM oracle)"; name: "MissingFeedForCLMMOracle" }, { code: 6069; msg: "the asset does not allow liquidation"; name: "TokenAssetLiquidationDisabled" }, { code: 6070; msg: "for borrows the bank must be in the health account list"; name: "BorrowsRequireHealthAccountBank" }, { code: 6071; msg: "invalid sequence number"; name: "InvalidSequenceNumber" }, { code: 6072; msg: "invalid health"; name: "InvalidHealth" }, { code: 6073; msg: "no free openbook v2 open orders index"; name: "NoFreeOpenbookV2OpenOrdersIndex" }, { code: 6074; msg: "openbook v2 open orders exist already"; name: "OpenbookV2OpenOrdersExistAlready" }]
                      • events: [{ fields: [{ index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV3" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "util0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "util1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }, { index: false; name: "curveScaling"; type: "f64" }, { index: false; name: "targetUtilization"; type: "f32" }]; name: "UpdateRateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "OpenbookV2OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "fallbackOracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "openbookMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "openbookProgram"; type: "publicKey" }, { index: false; name: "openbookMarketExternal"; type: "publicKey" }]; name: "OpenbookV2RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransferLiqee"; type: "i64" }, { index: false; name: "quoteTransferLiqee"; type: "i128" }, { index: false; name: "quoteTransferLiqor"; type: "i128" }, { index: false; name: "quotePlatformFee"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransferRecurring"; type: "i64" }, { index: false; name: "pnlSettleLimitTransferOneshot"; type: "i64" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransferFromLiqee"; type: "i128" }, { index: false; name: "assetTransferToLiqor"; type: "i128" }, { index: false; name: "assetLiquidationFee"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }, { index: false; name: "durationSeconds"; type: "u64" }]; name: "TokenConditionalSwapCreateLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }, { index: false; name: "tcsType"; type: "u8" }, { index: false; name: "startTimestamp"; type: "u64" }]; name: "TokenConditionalSwapTriggerLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "caller"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "incentiveTokenIndex"; type: "u16" }, { index: false; name: "incentiveAmount"; type: "u64" }]; name: "TokenConditionalSwapStartLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "assetUsageFraction"; type: "i128" }, { index: false; name: "fee"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "TokenCollateralFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "toTokenAccount"; type: "publicKey" }]; name: "ForceWithdrawLog" }]
                      • instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }, { name: "allowedFastListingsPerIntervalOpt"; type: { option: "u16" } }, { name: "collateralFeeIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "withdrawDestination" }, { isMut: false; isSigner: false; name: "newInsuranceMint" }, { isMut: true; isSigner: false; name: "newInsuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "new_insurance_mint"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "groupChangeInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "interestCurveScaling"; type: "f32" }, { name: "interestTargetUtilization"; type: "f32" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "depositLimit"; type: "u64" }, { name: "zeroUtilRate"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }, { name: "disableAssetLiquidation"; type: "bool" }, { name: "collateralFeePerDay"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "fallbackOracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }, { docs: ["The fallback oracle account is optional and only used when set_fallback_oracle is true.", ""]; isMut: false; isSigner: false; name: "fallbackOracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }, { name: "interestCurveScalingOpt"; type: { option: "f32" } }, { name: "interestTargetUtilizationOpt"; type: { option: "f32" } }, { name: "maintWeightShiftStartOpt"; type: { option: "u64" } }, { name: "maintWeightShiftEndOpt"; type: { option: "u64" } }, { name: "maintWeightShiftAssetTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftLiabTargetOpt"; type: { option: "f32" } }, { name: "maintWeightShiftAbort"; type: "bool" }, { name: "setFallbackOracle"; type: "bool" }, { name: "depositLimitOpt"; type: { option: "u64" } }, { name: "zeroUtilRateOpt"; type: { option: "f32" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }, { name: "disableAssetLiquidationOpt"; type: { option: "bool" } }, { name: "collateralFeePerDayOpt"; type: { option: "f32" } }, { name: "forceWithdrawOpt"; type: { option: "bool" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreateV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }, { name: "openbookV2Count"; type: "u8" }]; name: "accountExpandV3" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: []; name: "accountSizeMigration" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "expectedSequenceNumber"; type: "u8" }]; name: "sequenceCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: [{ name: "minHealthValue"; type: "f64" }, { name: "checkKind"; type: { defined: "HealthCheckKind" } }]; name: "healthCheck" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: true; name: "oracle" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: true; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "inputMint" }, { isMut: false; isSigner: false; name: "outputMint" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmount"; type: "u64" }]; docs: ["A version of flash_loan_begin that's specialized for swaps and needs fewer", "bytes in the transaction"]; name: "flashLoanSwapBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; docs: ["requires the receiver_bank in the health account list to be writable"]; name: "serum3PlaceOrderV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "serum3CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "ownerAtaTokenAccount" }, { docs: ["Only for the unusual case where the owner_ata account is not owned by account.owner"]; isMut: true; isSigner: false; name: "alternateOwnerTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenForceWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }, { name: "platformLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "platformLiquidationFeeOpt"; type: { option: "f32" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "maxPricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreatePremiumAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceStart"; type: "f64" }, { name: "priceEnd"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "startTimestamp"; type: "u64" }, { name: "durationSeconds"; type: "u64" }]; name: "tokenConditionalSwapCreateLinearAuction" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }, { name: "minBuyToken"; type: "u64" }, { name: "minTakerPrice"; type: "f32" }]; name: "tokenConditionalSwapTriggerV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapStart" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "tokenChargeCollateralFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; docs: ["Warning, this instruction is for testing purposes only!"]; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { docs: ["group admin or fast listing admin, checked at #1"]; isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oraclePriceBand"; type: "f32" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "oraclePriceBandOpt"; type: { option: "f32" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { docs: ["can't zerocopy this unfortunately"]; isMut: true; isSigner: false; name: "openOrdersIndexer" }, { isMut: true; isSigner: false; name: "openOrdersAccount" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_market_external", "openbook_v2_program"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order"]; isMut: true; isSigner: false; name: "payerVault" }, { docs: ["The bank that receives the funds upon settlement. Bank oracle also expected in remaining_accounts"]; isMut: true; isSigner: false; name: "receiverBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLotsIncludingFees"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "OpenbookV2PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "OpenbookV2SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: { defined: "OpenbookV2Side" } }, { name: "clientOrderId"; type: "u64" }]; name: "openbookV2CancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_heap", "market_base_vault", "market_quote_vault"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventHeap" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }, { name: "sideOpt"; type: { option: { defined: "OpenbookV2Side" } } }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]
                      • name: "mango_v4"
                      • types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Deposit fee paid for positive change_amount.", "", "Not factored into change_amount."]; name: "depositFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV3"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { docs: ["The amount by which the user's token position changed at the end", "", "So if the user repaid the approved_amount in full, it'd be 0.", "", "Does NOT include the loan_origination_fee or deposit_fee, so the true", "change is `change_amount - loan_origination_fee - deposit_fee`."]; name: "changeAmount"; type: "i128" }, { docs: ["The amount that was a loan (<= approved_amount, depends on user's deposits)"]; name: "loan"; type: "i128" }, { docs: ["The fee paid on the loan, not included in `loan` or `change_amount`"]; name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { docs: ["Swap fee paid on the in token of a swap.", "", "Not factored into change_amount."]; name: "swapFee"; type: "i128" }, { docs: ["The amount that was transfered out to the user"]; name: "approvedAmount"; type: "u64" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in serum3_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_serum_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in serum3_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 16] } }]; kind: "struct" } }, { name: "OpenbookV2Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in openbook_v2_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { docs: ["Track something like the highest open bid / lowest open ask, in native/native units.", "", "Tracking it exactly isn't possible since we don't see fills. So instead track", "the min/max of the _placed_ bids and asks.", "", "The value is reset in openbook_v2_place_order when a new order is placed without an", "existing one on the book.", "", "0 is a special \"unset\" state."]; name: "highestPlacedBidInv"; type: "f64" }, { name: "lowestPlacedAsk"; type: "f64" }, { docs: ["An overestimate of the amount of tokens that might flow out of the open orders account.", "", "The bank still considers these amounts user deposits (see Bank::potential_openbook_tokens)", "and that value needs to be updated in conjunction with these numbers.", "", "This estimation is based on the amount of tokens in the open orders account", "(see update_bank_potential_tokens() in openbook_v2_place_order and settle)"]; name: "potentialBaseTokens"; type: "u64" }, { name: "potentialQuoteTokens"; type: "u64" }, { docs: ["Track lowest bid/highest ask, same way as for highest bid/lowest ask.", "", "0 is a special \"unset\" state."]; name: "lowestPlacedBidInv"; type: "f64" }, { name: "highestPlacedAsk"; type: "f64" }, { docs: ["Stores the market's lot sizes", "", "Needed because the obv2 open orders account tells us about reserved amounts in lots and", "we want to be able to compute health without also loading the obv2 market."]; name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 162] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Deprecated field: Amount of pnl that was realized by bringing the base position closer to 0."]; name: "deprecatedRealizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled once.", "", "- The value is signed: a negative number means negative pnl can be settled.", "- A settlement in the right direction will decrease this amount.", "", "Typically added for fees, funding and liquidation."]; name: "oneshotSettlePnlAllowance"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl that can be settled in each settle window.", "", "- Unsigned, the settlement can happen in both directions. Value is >= 0.", "- Previously stored a similar value that was signed, so in migration cases", "this value can be negative and should be .abs()ed.", "- If this value exceeds the current stable-upnl, it should be decreased,", "see apply_recurring_settle_pnl_allowance_constraint()", "", "When the base position is reduced, the settle limit contribution from the reduced", "base position is materialized into this value. When the base position increases,", "some of the allowance is taken away.", "", "This also gets increased when a liquidator takes over pnl."]; name: "recurringSettlePnlAllowance"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "quantity"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 56] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "sequenceNumber"; type: "u8" }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "lastCollateralFeeCharge"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 152] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "makerOrderId"; type: "u128" }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "orderId"; type: "u128" }, { name: "padding1"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The lower or starting price:", "- For FixedPremium or PremiumAuctions, it's the lower end of the price range:", "the tcs can only be triggered if the oracle price exceeds this value.", "- For LinearAuctions it's the starting price that's offered at start_timestamp.", "", "The price is always in \"sell_token per buy_token\" units, which can be computed", "by dividing the buy token price by the sell token price.", "", "For FixedPremium or PremiumAuctions:", "", "The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price.", "If that price is >= lower_limit and <= upper_limit the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit / auction end price."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { docs: ["If this struct is in use. (tcs are stored in a static-length array)"]; name: "isConfigured"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { docs: ["Stores a TokenConditionalSwapType enum value"]; name: "tcsType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { docs: ["In seconds since epoch. 0 means not-started.", "", "FixedPremium: Time of first trigger call. No other effect.", "PremiumAuction: Time of start or first trigger call. Can continue to trigger once started.", "LinearAuction: Set during creation, auction starts with price_lower_limit at this timestamp."]; name: "startTimestamp"; type: "u64" }, { docs: ["Duration of the auction mechanism", "", "FixedPremium: ignored", "PremiumAuction: time after start that the premium needs to scale to price_premium_rate", "LinearAuction: time after start to go from price_lower_limit to price_upper_limit"]; name: "durationSeconds"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }, { name: "SwapWithoutFee" }] } }, { name: "HealthCheckKind"; type: { kind: "enum"; variants: [{ name: "Maint" }, { name: "Init" }, { name: "LiquidationEnd" }, { name: "MaintRatio" }, { name: "InitRatio" }, { name: "LiquidationEndRatio" }] } }, { name: "OpenbookV2PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { name: "OpenbookV2SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "OpenbookV2Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "SpotMarketIndex"; type: { kind: "enum"; variants: [{ fields: ["u16"]; name: "Serum3" }, { fields: ["u16"]; name: "OpenbookV2" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2SettleFunds" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }, { name: "AccountSizeMigration" }, { name: "TokenConditionalSwapStart" }, { name: "TokenConditionalSwapCreatePremiumAuction" }, { name: "TokenConditionalSwapCreateLinearAuction" }, { name: "Serum3PlaceOrderV2" }, { name: "TokenForceWithdraw" }, { name: "SequenceCheck" }, { name: "HealthCheck" }, { name: "OpenbookV2CancelAllOrders" }, { name: "GroupChangeInsuranceFund" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }, { name: "OrcaCLMM" }, { name: "RaydiumCLMM" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }, { name: "TokenConditionalSwapType"; type: { kind: "enum"; variants: [{ name: "FixedPremium" }, { name: "PremiumAuction" }, { name: "LinearAuction" }] } }]
                      • version: "0.25.0"
                      Modify<T, R>: Omit<T, keyof R> & R

                      Type parameters

                      • T

                      • R

                      OpenbookV2MarketIndex: number & As<"market-index">
                      OpenbookV2OrderType: { limit: Record<string, never> } | { immediateOrCancel: Record<string, never> } | { postOnly: Record<string, never> }
                      OpenbookV2SelfTradeBehavior: { decrementTake: Record<string, never> } | { cancelProvide: Record<string, never> } | { abortTransaction: Record<string, never> }
                      OpenbookV2Side: { bid: Record<string, never> } | { ask: Record<string, never> }
                      OracleConfig: { confFilter: I80F48; maxStalenessSlots: BN }

                      Type declaration

                      • confFilter: I80F48
                      • maxStalenessSlots: BN
                      OracleConfigDto: { confFilter: I80F48Dto; maxStalenessSlots: BN }

                      Type declaration

                      ParsedFillEvent: Modify<FillEvent, { price: number; quantity: number }>
                      PerpMarketIndex: number & As<"perp-market-index">
                      PerpOrderSide: { bid: Record<string, never> } | { ask: Record<string, never> }
                      PerpOrderType: { limit: Record<string, never> } | { immediateOrCancel: Record<string, never> } | { postOnly: Record<string, never> } | { market: Record<string, never> } | { postOnlySlide: Record<string, never> }
                      PerpSelfTradeBehavior: { decrementTake: Record<string, never> } | { cancelProvide: Record<string, never> } | { abortTransaction: Record<string, never> }
                      PlatformFee: { feeAccount: string; feeBps: number }

                      Type declaration

                      • feeAccount: string
                      • feeBps: number
                      PriceImpact: { avg_price_impact_percent: number; max_price_impact_percent: number; min_price_impact_percent: number; p90: number; p95: number; side: "bid" | "ask"; symbol: string; target_amount: number }

                      Type declaration

                      • avg_price_impact_percent: number
                      • max_price_impact_percent: number
                      • min_price_impact_percent: number
                      • p90: number
                      • p95: number
                      • side: "bid" | "ask"
                      • symbol: string
                      • target_amount: number
                      QuoteMintToReferrer: Map<TokenMintAddress, string>
                      Routes: { bestRoute: RouteInfo | null; routes: RouteInfo[] }

                      Type declaration

                      SendTransactionOpts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>
                      Serum3OrderType: { limit: Record<string, never> } | { immediateOrCancel: Record<string, never> } | { postOnly: Record<string, never> }
                      Serum3SelfTradeBehavior: { decrementTake: Record<string, never> } | { cancelProvide: Record<string, never> } | { abortTransaction: Record<string, never> }
                      Serum3Side: { bid: Record<string, never> } | { ask: Record<string, never> }
                      StablePriceModel: { delayAccumulatorPrice: number; delayAccumulatorTime: number; delayGrowthLimit: number; delayIntervalSeconds: number; delayPrices: number[]; lastDelayIntervalIndex: number; lastUpdateTimestamp: BN; stableGrowthLimit: number; stablePrice: number }

                      Type declaration

                      • delayAccumulatorPrice: number
                      • delayAccumulatorTime: number
                      • delayGrowthLimit: number
                      • delayIntervalSeconds: number
                      • delayPrices: number[]
                      • lastDelayIntervalIndex: number
                      • lastUpdateTimestamp: BN
                      • stableGrowthLimit: number
                      • stablePrice: number
                      Token: { address: string; chainId: number; decimals: number; extensions: { coingeckoId?: string }; logoURI: string; name: string; symbol: string; tags: string[] }

                      Type declaration

                      • address: string
                      • chainId: number
                      • decimals: number
                      • extensions: { coingeckoId?: string }
                        • Optional coingeckoId?: string
                      • logoURI: string
                      • name: string
                      • symbol: string
                      • tags: string[]
                      TokenConditionalSwapDisplayPriceStyle: { sellTokenPerBuyToken: Record<string, never> } | { buyTokenPerSellToken: Record<string, never> }
                      TokenConditionalSwapIntention: { unknown: Record<string, never> } | { stopLoss: Record<string, never> } | { takeProfit: Record<string, never> }
                      TokenIndex: number & As<"token-index">
                      TokenMintAddress: string

                      Variables

                      COMPUTE_BUDGET_PROGRAM_ID: PublicKey = ...
                      I64_MAX_BN: BN = ...
                      IDL: MangoV4 = ...
                      JUPITER: { V3: PublicKey; V4: PublicKey; V6: PublicKey } = ...

                      Type declaration

                      • V3: PublicKey
                      • V4: PublicKey
                      • V6: PublicKey
                      MANGO_ROUTER_API_URL: "https://api.mngo.cloud/router/v1" = 'https://api.mngo.cloud/router/v1'
                      MANGO_V4_ID: { devnet: PublicKey; mainnet-beta: PublicKey; testnet: PublicKey } = ...

                      Type declaration

                      • devnet: PublicKey
                      • mainnet-beta: PublicKey
                      • testnet: PublicKey
                      MANGO_V4_MAIN_GROUP: PublicKey = ...
                      MAX_RECENT_PRIORITY_FEE_ACCOUNTS: 128 = 128
                      NullPerpEditParams: PerpEditParams = ...
                      NullTokenEditParams: TokenEditParams = ...
                      OPENBOOK_PROGRAM_ID: { devnet: PublicKey; mainnet-beta: PublicKey } = ...

                      Type declaration

                      • devnet: PublicKey
                      • mainnet-beta: PublicKey
                      OPENBOOK_V2_PROGRAM_ID: { devnet: PublicKey; mainnet-beta: PublicKey; testnet: PublicKey } = ...

                      Type declaration

                      • devnet: PublicKey
                      • mainnet-beta: PublicKey
                      • testnet: PublicKey
                      QUOTE_DECIMALS: 6 = 6
                      SOL_MINT_MAINNET: PublicKey = ...
                      TrueIxGateParams: IxGateParams = ...
                      U64_MAX_BN: BN = ...
                      USDC_MINT: PublicKey = ...
                      USDC_MINT_MAINNET: PublicKey = ...

                      Functions

                      • RUST_I64_MAX(): BN
                      • RUST_I64_MIN(): BN
                      • RUST_U64_MAX(): BN
                      • baseSizeNumberToLots(size: number, market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>): BN
                      • Parameters

                        • size: number
                        • market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

                        Returns BN

                      • bpsToDecimal(bps: number): number
                      • buildFetch(): Promise<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>
                      • buildIxGate(p: IxGateParams): BN
                      • buildVersionedTx(provider: AnchorProvider, ix: TransactionInstruction[], additionalSigners?: Signer[], alts?: AddressLookupTableAccount[]): Promise<VersionedTransaction>
                      • Parameters

                        • provider: AnchorProvider
                        • ix: TransactionInstruction[]
                        • additionalSigners: Signer[] = []
                        • alts: AddressLookupTableAccount[] = []

                        Returns Promise<VersionedTransaction>

                      • computePriceImpactOnJup(pis: PriceImpact[], usdcAmount: number, tokenName: string): number
                      • Returns price impact in bps i.e. 0 to 10,000 returns -1 if data is missing

                        -

                        Parameters

                        Returns number

                      • containsJupiterProgram(logMessages: string[]): boolean
                      • createAssociatedTokenAccountIdempotentInstruction(payer: PublicKey, owner: PublicKey, mint: PublicKey): Promise<TransactionInstruction>
                      • Parameters

                        • payer: PublicKey
                        • owner: PublicKey
                        • mint: PublicKey

                        Returns Promise<TransactionInstruction>

                      • createComputeBudgetIx(microLamports: number): TransactionInstruction
                      • createFallbackOracleMap(conn: Connection, oracles: PublicKey[], fallbacks: PublicKey[]): Promise<Map<string, [PublicKey, PublicKey]>>
                      • deepClone<T>(obj: T, hash?: WeakMap<object, any>): T
                      • deriveFallbackOracleQuoteKey(accountInfo: AccountInfo<Buffer>): PublicKey
                      • fetchJupiterTransaction(connection: Connection, selectedRoute: RouteInfo, userPublicKey: PublicKey, slippage: number, inputMint: PublicKey, outputMint: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                      • Parameters

                        • connection: Connection
                        • selectedRoute: RouteInfo
                        • userPublicKey: PublicKey
                        • slippage: number
                        • inputMint: PublicKey
                        • outputMint: PublicKey

                        Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                      • fetchLatestBlockHash(provider: AnchorProvider, opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<LatestBlockhash>
                      • Parameters

                        • provider: AnchorProvider
                        • opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }> = {}

                        Returns Promise<LatestBlockhash>

                      • fetchRoutes(inputMint: any, outputMint: any, amount?: string, slippage?: number, swapMode?: string, feeBps?: string, wallet?: PublicKey): Promise<Routes>
                      • Parameters

                        • inputMint: any
                        • outputMint: any
                        • amount: string = '0'
                        • slippage: number = 50
                        • swapMode: string = 'ExactIn'
                        • feeBps: string = '0'
                        • wallet: PublicKey = PublicKey.default

                        Returns Promise<Routes>

                      • findLargestAssetBatchUi(pisForLiqor: LiqorPriceImpact[][], coin: string, startFromChange?: number, maxChange?: number, stepSize?: number): [number, number, LiquidationBatches[]]
                      • generateOpenbookV2MarketExternalVaultSignerAddress(openbookV2Market: OpenbookV2Market): PublicKey
                      • getAssociatedTokenAddress(mint: PublicKey, owner: PublicKey, allowOwnerOffCurve?: boolean, programId?: PublicKey, associatedTokenProgramId?: PublicKey): Promise<PublicKey>
                      • containsJupiterProgram(logMessages: string[]): boolean
                      • createAssociatedTokenAccountIdempotentInstruction(payer: PublicKey, owner: PublicKey, mint: PublicKey): Promise<TransactionInstruction>
                      • Parameters

                        • payer: PublicKey
                        • owner: PublicKey
                        • mint: PublicKey

                        Returns Promise<TransactionInstruction>

                      • createComputeBudgetIx(microLamports: number): TransactionInstruction
                      • createFallbackOracleMap(conn: Connection, oracles: PublicKey[], fallbacks: PublicKey[]): Promise<Map<string, [PublicKey, PublicKey]>>
                      • deepClone<T>(obj: T, hash?: WeakMap<object, any>): T
                      • deriveFallbackOracleQuoteKey(accountInfo: AccountInfo<Buffer>): PublicKey
                      • fetchJupiterTransaction(connection: Connection, selectedRoute: RouteInfo, userPublicKey: PublicKey, slippage: number, inputMint: PublicKey, outputMint: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                      • Parameters

                        • connection: Connection
                        • selectedRoute: RouteInfo
                        • userPublicKey: PublicKey
                        • slippage: number
                        • inputMint: PublicKey
                        • outputMint: PublicKey

                        Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                      • fetchLatestBlockHash(provider: AnchorProvider, opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<LatestBlockhash>
                      • Parameters

                        • provider: AnchorProvider
                        • opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }> = {}

                        Returns Promise<LatestBlockhash>

                      • fetchRoutes(inputMint: any, outputMint: any, amount?: string, slippage?: number, swapMode?: string, feeBps?: string, wallet?: PublicKey): Promise<Routes>
                      • Parameters

                        • inputMint: any
                        • outputMint: any
                        • amount: string = '0'
                        • slippage: number = 50
                        • swapMode: string = 'ExactIn'
                        • feeBps: string = '0'
                        • wallet: PublicKey = PublicKey.default

                        Returns Promise<Routes>

                      • findLargestAssetBatchUi(pisForLiqor: LiqorPriceImpact[][], coin: string, startFromChange?: number, maxChange?: number, stepSize?: number): [number, number, LiquidationBatches[]]
                      • generateOpenbookV2MarketExternalVaultSignerAddress(openbookV2Market: OpenbookV2Market): PublicKey
                      • getAssociatedTokenAddress(mint: PublicKey, owner: PublicKey, allowOwnerOffCurve?: boolean, programId?: PublicKey, associatedTokenProgramId?: PublicKey): Promise<PublicKey>
                      • Get the address of the associated token account for a given mint and owner

                        Parameters

                        • mint: PublicKey

                          Token mint account

                          @@ -14,9 +14,9 @@ returns -1 if data is missing

                        • associatedTokenProgramId: PublicKey = ASSOCIATED_TOKEN_PROGRAM_ID

                          SPL Associated Token program account

                        Returns Promise<PublicKey>

                        Address of the associated token account

                        -
                      • getOnChainPriceForMints(mints: string[]): Promise<number[]>
                      • isClmmOracle(accountInfo: AccountInfo<Buffer>): boolean
                      • isOracleStaleOrUnconfident(nowSlot: number, maxStalenessSlots: number, oracleLastUpdatedSlot: undefined | number, deviation: undefined | I80F48, confFilter: I80F48, price: I80F48): boolean
                      • isOrcaOracle(accountInfo: AccountInfo<Buffer>): boolean
                      • isPythOracle(accountInfo: AccountInfo<Buffer>): boolean
                      • isRaydiumOracle(accountInfo: AccountInfo<Buffer>): boolean
                      • isSwitchboardOracle(accountInfo: AccountInfo<Buffer>): boolean
                      • parseSwitchboardOracle(oracle: PublicKey, accountInfo: AccountInfo<Buffer>, connection: Connection): Promise<{ lastUpdatedSlot: number; price: number; uiDeviation: number }>
                      • Parameters

                        • oracle: PublicKey
                        • accountInfo: AccountInfo<Buffer>
                        • connection: Connection

                        Returns Promise<{ lastUpdatedSlot: number; price: number; uiDeviation: number }>

                        ui price

                        -
                      • parseSwitchboardOracleV1(accountInfo: AccountInfo<Buffer>): { lastUpdatedSlot: number; price: number; uiDeviation: number }
                      • Parameters

                        • accountInfo: AccountInfo<Buffer>

                        Returns { lastUpdatedSlot: number; price: number; uiDeviation: number }

                        • lastUpdatedSlot: number
                        • price: number
                        • uiDeviation: number
                      • parseSwitchboardOracleV2(program: default, accountInfo: AccountInfo<Buffer>, oracle: PublicKey): { lastUpdatedSlot: number; price: number; uiDeviation: number }
                      • Parameters

                        • program: default
                        • accountInfo: AccountInfo<Buffer>
                        • oracle: PublicKey

                        Returns { lastUpdatedSlot: number; price: number; uiDeviation: number }

                        • lastUpdatedSlot: number
                        • price: number
                        • uiDeviation: number
                      • parseTxForKnownErrors(connection: Connection, signature: string): Promise<TransactionErrors>
                      • percentageToDecimal(percentage: number): number
                      • prepareMangoRouterInstructions(selectedRoute: RouteInfo, inputMint: PublicKey, outputMint: PublicKey, userPublicKey: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                      • Parameters

                        • selectedRoute: RouteInfo
                        • inputMint: PublicKey
                        • outputMint: PublicKey
                        • userPublicKey: PublicKey

                        Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                      • priceNumberToLots(price: number, market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>): BN
                      • Parameters

                        • price: number
                        • market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

                        Returns BN

                      • roundTo5(number: any): number
                      • sendTransaction(provider: AnchorProvider, ixs: TransactionInstruction[], alts: AddressLookupTableAccount[], opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
                      • Parameters

                        • provider: AnchorProvider
                        • ixs: TransactionInstruction[]
                        • alts: AddressLookupTableAccount[]
                        • opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }> = {}

                        Returns Promise<MangoSignatureStatus>

                      • switchboardDecimalToBig(sbDecimal: { mantissa: BN; scale: number }): Big
                      • toNative(uiAmount: number, decimals: number): BN
                      • toNativeI80F48(uiAmount: number, decimals: number): I80F48
                      • toNativeI80F48ForQuote(uiAmount: number): I80F48
                      • toNativeSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number
                      • toUiDecimals(nativeAmount: number | BN | I80F48, decimals: number): number
                      • toUiDecimalsForQuote(nativeAmount: number | BN | I80F48): number
                      • toUiSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number
                      • tryStringify(val: any): null | string

                      Legend

                      • Constructor
                      • Property
                      • Method
                      • Property
                      • Method
                      • Private property
                      • Private method
                      • Static property
                      • Static method

                      Settings

                      Theme

                      Generated using TypeDoc

                      \ No newline at end of file +

                      Parameters

                      Returns Promise<{ mangoAccount: PublicKey; perpPosition: PerpPosition }[]>

                    • getOnChainPriceForMints(mints: string[]): Promise<number[]>
                    • isClmmOracle(accountInfo: AccountInfo<Buffer>): boolean
                    • isOracleStaleOrUnconfident(nowSlot: number, maxStalenessSlots: number, oracleLastUpdatedSlot: undefined | number, deviation: undefined | I80F48, confFilter: I80F48, price: I80F48): boolean
                    • isOrcaOracle(accountInfo: AccountInfo<Buffer>): boolean
                    • isPythOracle(accountInfo: AccountInfo<Buffer>): boolean
                    • isRaydiumOracle(accountInfo: AccountInfo<Buffer>): boolean
                    • isSwitchboardOracle(accountInfo: AccountInfo<Buffer>): boolean
                    • parseSwitchboardOracle(oracle: PublicKey, accountInfo: AccountInfo<Buffer>, connection: Connection): Promise<{ lastUpdatedSlot: number; price: number; uiDeviation: number }>
                    • Parameters

                      • oracle: PublicKey
                      • accountInfo: AccountInfo<Buffer>
                      • connection: Connection

                      Returns Promise<{ lastUpdatedSlot: number; price: number; uiDeviation: number }>

                      ui price

                      +
                    • parseSwitchboardOracleV1(accountInfo: AccountInfo<Buffer>): { lastUpdatedSlot: number; price: number; uiDeviation: number }
                    • Parameters

                      • accountInfo: AccountInfo<Buffer>

                      Returns { lastUpdatedSlot: number; price: number; uiDeviation: number }

                      • lastUpdatedSlot: number
                      • price: number
                      • uiDeviation: number
                    • parseSwitchboardOracleV2(program: default, accountInfo: AccountInfo<Buffer>, oracle: PublicKey): { lastUpdatedSlot: number; price: number; uiDeviation: number }
                    • Parameters

                      • program: default
                      • accountInfo: AccountInfo<Buffer>
                      • oracle: PublicKey

                      Returns { lastUpdatedSlot: number; price: number; uiDeviation: number }

                      • lastUpdatedSlot: number
                      • price: number
                      • uiDeviation: number
                    • parseTxForKnownErrors(connection: Connection, signature: string): Promise<TransactionErrors>
                    • percentageToDecimal(percentage: number): number
                    • prepareMangoRouterInstructions(selectedRoute: RouteInfo, inputMint: PublicKey, outputMint: PublicKey, userPublicKey: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                    • Parameters

                      • selectedRoute: RouteInfo
                      • inputMint: PublicKey
                      • outputMint: PublicKey
                      • userPublicKey: PublicKey

                      Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                    • priceNumberToLots(price: number, market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>): BN
                    • Parameters

                      • price: number
                      • market: DecodeStruct<{ fields: [{ docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { name: "quoteDecimals"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }]; kind: "struct" }, DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], DecodedHelper<[{ docs: ["Like `Option`, but implemented for `Pubkey` to be used with `zero_copy`"]; name: "NonZeroPubkeyOption"; type: { fields: [{ name: "key"; type: "publicKey" }]; kind: "struct" } }, { name: "Position"; type: { fields: [{ docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { name: "baseFreeNative"; type: "u64" }, { name: "quoteFreeNative"; type: "u64" }, { name: "lockedMakerFees"; type: "u64" }]; kind: "struct" } }, { name: "OpenOrder"; type: { fields: [{ name: "id"; type: "u128" }, { name: "clientId"; type: "u64" }, { docs: ["Price at which user's assets were locked"]; name: "lockedPrice"; type: "i64" }, { name: "isFree"; type: "u8" }, { name: "sideAndTree"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }]; kind: "struct" } }], EmptyDefined>>>

                      Returns BN

                    • roundTo5(number: any): number
                    • sendTransaction(provider: AnchorProvider, ixs: TransactionInstruction[], alts: AddressLookupTableAccount[], opts?: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }>): Promise<MangoSignatureStatus>
                    • Parameters

                      • provider: AnchorProvider
                      • ixs: TransactionInstruction[]
                      • alts: AddressLookupTableAccount[]
                      • opts: Partial<{ additionalSigners: Keypair[]; alts: AddressLookupTableAccount[]; confirmInBackground: boolean; estimateFee: boolean; latestBlockhash: Readonly<LatestBlockhash>; multipleConnections: Connection[]; preflightCommitment: Commitment; prioritizationFee: number; txConfirmationCommitment: Commitment; postSendTxCallback: any; postTxConfirmationCallback: any }> = {}

                      Returns Promise<MangoSignatureStatus>

                    • switchboardDecimalToBig(sbDecimal: { mantissa: BN; scale: number }): Big
                    • toNative(uiAmount: number, decimals: number): BN
                    • toNativeI80F48(uiAmount: number, decimals: number): I80F48
                    • toNativeI80F48ForQuote(uiAmount: number): I80F48
                    • toNativeSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number
                    • toUiDecimals(nativeAmount: number | BN | I80F48, decimals: number): number
                    • toUiDecimalsForQuote(nativeAmount: number | BN | I80F48): number
                    • toUiSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number
                    • tryStringify(val: any): null | string

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/AccountEquity.html b/ts/client/interfaces/AccountEquity.html index 43d2f460d..bddf191ef 100644 --- a/ts/client/interfaces/AccountEquity.html +++ b/ts/client/interfaces/AccountEquity.html @@ -1 +1 @@ -AccountEquity | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • AccountEquity

                    Index

                    Properties

                    Properties

                    Account: { highlight: boolean; val: PublicKey }

                    Type declaration

                    • highlight: boolean
                    • val: PublicKey
                    Equity: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +AccountEquity | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • AccountEquity

                    Index

                    Properties

                    Properties

                    Account: { highlight: boolean; val: PublicKey }

                    Type declaration

                    • highlight: boolean
                    • val: PublicKey
                    Equity: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/BankForHealth.html b/ts/client/interfaces/BankForHealth.html index 61aafd1ea..ffab3425a 100644 --- a/ts/client/interfaces/BankForHealth.html +++ b/ts/client/interfaces/BankForHealth.html @@ -1 +1 @@ -BankForHealth | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • BankForHealth

                    Implemented by

                    Index

                    Properties

                    borrowWeightScaleStartQuote: number
                    depositWeightScaleStartQuote: number
                    initAssetWeight: I80F48
                    initLiabWeight: I80F48
                    maintAssetWeight: I80F48
                    maintLiabWeight: I80F48
                    price: I80F48
                    stablePriceModel: StablePriceModel
                    tokenIndex: TokenIndex

                    Methods

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +BankForHealth | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • BankForHealth

                    Implemented by

                    Index

                    Properties

                    borrowWeightScaleStartQuote: number
                    depositWeightScaleStartQuote: number
                    initAssetWeight: I80F48
                    initLiabWeight: I80F48
                    maintAssetWeight: I80F48
                    maintLiabWeight: I80F48
                    price: I80F48
                    stablePriceModel: StablePriceModel
                    tokenIndex: TokenIndex

                    Methods

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/CumulativeFunding.html b/ts/client/interfaces/CumulativeFunding.html index ef3a618c0..fa7058c11 100644 --- a/ts/client/interfaces/CumulativeFunding.html +++ b/ts/client/interfaces/CumulativeFunding.html @@ -1 +1 @@ -CumulativeFunding | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +CumulativeFunding | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/Event.html b/ts/client/interfaces/Event.html index 9995bbe91..fd2c3cc7a 100644 --- a/ts/client/interfaces/Event.html +++ b/ts/client/interfaces/Event.html @@ -1 +1 @@ -Event | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +Event | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/ExactOutSwapParams.html b/ts/client/interfaces/ExactOutSwapParams.html index 925d5fdef..73ba36982 100644 --- a/ts/client/interfaces/ExactOutSwapParams.html +++ b/ts/client/interfaces/ExactOutSwapParams.html @@ -1,3 +1,3 @@ -ExactOutSwapParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    Index

                    Properties

                    amount: number
                    +ExactOutSwapParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    Index

                    Properties

                    amount: number

                    amount is used for instruction and can be null when it is an intermediate swap, only the first swap has an amount

                    -
                    destinationMint: string
                    inAmount: number
                    openOrdersAddress?: string
                    overflowFeeAccount?: string
                    platformFee?: PlatformFee
                    quoteMintToReferrer?: QuoteMintToReferrer
                    slippageBps: number
                    sourceMint: string
                    swapMode: SwapMode
                    userDestinationTokenAccount: string
                    userSourceTokenAccount: string
                    userTransferAuthority: string

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +
                    destinationMint: string
                    inAmount: number
                    openOrdersAddress?: string
                    overflowFeeAccount?: string
                    platformFee?: PlatformFee
                    quoteMintToReferrer?: QuoteMintToReferrer
                    slippageBps: number
                    sourceMint: string
                    swapMode: SwapMode
                    userDestinationTokenAccount: string
                    userSourceTokenAccount: string
                    userTransferAuthority: string

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/Fee.html b/ts/client/interfaces/Fee.html index 1ae5284b7..2d8949c9e 100644 --- a/ts/client/interfaces/Fee.html +++ b/ts/client/interfaces/Fee.html @@ -1 +1 @@ -Fee | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +Fee | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/FillEvent.html b/ts/client/interfaces/FillEvent.html index 0fb56c25b..74792b66b 100644 --- a/ts/client/interfaces/FillEvent.html +++ b/ts/client/interfaces/FillEvent.html @@ -1 +1 @@ -FillEvent | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    Index

                    Properties

                    eventType: number
                    maker: PublicKey
                    makerFee: number
                    makerOrderId: BN
                    makerOut: boolean
                    makerSlot: number
                    makerTimestamp: BN
                    price: number
                    quantity: number
                    seqNum: BN
                    taker: PublicKey
                    takerClientOrderId: BN
                    takerFee: number
                    takerOrderId: BN
                    takerSide: 0 | 1
                    timestamp: BN

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +FillEvent | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    Index

                    Properties

                    eventType: number
                    maker: PublicKey
                    makerFee: number
                    makerOrderId: BN
                    makerOut: boolean
                    makerSlot: number
                    makerTimestamp: BN
                    price: number
                    quantity: number
                    seqNum: BN
                    taker: PublicKey
                    takerClientOrderId: BN
                    takerFee: number
                    takerOrderId: BN
                    takerSide: 0 | 1
                    timestamp: BN

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/LatestBlockhash.html b/ts/client/interfaces/LatestBlockhash.html index becf3a511..5532c5aed 100644 --- a/ts/client/interfaces/LatestBlockhash.html +++ b/ts/client/interfaces/LatestBlockhash.html @@ -1 +1 @@ -LatestBlockhash | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +LatestBlockhash | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/LiqorPriceImpact.html b/ts/client/interfaces/LiqorPriceImpact.html index 053a20fb9..ba2254694 100644 --- a/ts/client/interfaces/LiqorPriceImpact.html +++ b/ts/client/interfaces/LiqorPriceImpact.html @@ -1 +1 @@ -LiqorPriceImpact | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • LiqorPriceImpact

                    Index

                    Properties

                    Assets: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Assets Slippage: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Coin: { highlight: boolean; val: string }

                    Type declaration

                    • highlight: boolean
                    • val: string
                    Future Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Jup Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Liabs: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Liabs Slippage: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Oracle Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    V4 Liq Fee: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +LiqorPriceImpact | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • LiqorPriceImpact

                    Index

                    Properties

                    Assets: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Assets Slippage: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Coin: { highlight: boolean; val: string }

                    Type declaration

                    • highlight: boolean
                    • val: string
                    Future Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Jup Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Liabs: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Liabs Slippage: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Oracle Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    V4 Liq Fee: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/LiquidateEvent.html b/ts/client/interfaces/LiquidateEvent.html index c46ae2688..9343c84c7 100644 --- a/ts/client/interfaces/LiquidateEvent.html +++ b/ts/client/interfaces/LiquidateEvent.html @@ -1 +1 @@ -LiquidateEvent | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +LiquidateEvent | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/LiquidationBatches.html b/ts/client/interfaces/LiquidationBatches.html index f48f0c131..a39960676 100644 --- a/ts/client/interfaces/LiquidationBatches.html +++ b/ts/client/interfaces/LiquidationBatches.html @@ -1 +1 @@ -LiquidationBatches | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +LiquidationBatches | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/MangoSignatureStatus.html b/ts/client/interfaces/MangoSignatureStatus.html index 7d4d54050..f3f5f4786 100644 --- a/ts/client/interfaces/MangoSignatureStatus.html +++ b/ts/client/interfaces/MangoSignatureStatus.html @@ -1 +1 @@ -MangoSignatureStatus | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +MangoSignatureStatus | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/MarketInfo.html b/ts/client/interfaces/MarketInfo.html index ed5e9ce0e..9202f88ec 100644 --- a/ts/client/interfaces/MarketInfo.html +++ b/ts/client/interfaces/MarketInfo.html @@ -1 +1 @@ -MarketInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +MarketInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/OutEvent.html b/ts/client/interfaces/OutEvent.html index a36abce25..0e6f665fd 100644 --- a/ts/client/interfaces/OutEvent.html +++ b/ts/client/interfaces/OutEvent.html @@ -1 +1 @@ -OutEvent | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +OutEvent | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/PerpPositionsToBeLiquidated.html b/ts/client/interfaces/PerpPositionsToBeLiquidated.html index 2d6f999c9..e30cab3b1 100644 --- a/ts/client/interfaces/PerpPositionsToBeLiquidated.html +++ b/ts/client/interfaces/PerpPositionsToBeLiquidated.html @@ -1 +1 @@ -PerpPositionsToBeLiquidated | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpPositionsToBeLiquidated

                    Index

                    Properties

                    Future Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Market: { highlight: boolean; val: string }

                    Type declaration

                    • highlight: boolean
                    • val: string
                    Notional Position: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +PerpPositionsToBeLiquidated | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • PerpPositionsToBeLiquidated

                    Index

                    Properties

                    Future Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Market: { highlight: boolean; val: string }

                    Type declaration

                    • highlight: boolean
                    • val: string
                    Notional Position: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number
                    Price: { highlight: boolean; val: number }

                    Type declaration

                    • highlight: boolean
                    • val: number

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/Quote.html b/ts/client/interfaces/Quote.html index 631f72920..627258b10 100644 --- a/ts/client/interfaces/Quote.html +++ b/ts/client/interfaces/Quote.html @@ -1 +1 @@ -Quote | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +Quote | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/QuoteParams.html b/ts/client/interfaces/QuoteParams.html index ace69f14f..9c0e39845 100644 --- a/ts/client/interfaces/QuoteParams.html +++ b/ts/client/interfaces/QuoteParams.html @@ -1 +1 @@ -QuoteParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +QuoteParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/Risk.html b/ts/client/interfaces/Risk.html index e11071c36..a08218bf0 100644 --- a/ts/client/interfaces/Risk.html +++ b/ts/client/interfaces/Risk.html @@ -1 +1 @@ -Risk | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • Risk

                    Index

                    Properties

                    assetDrop: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    assetRally: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    liqorEquity: { data: AccountEquity[]; title: string }

                    Type declaration

                    marketMakerEquity: { data: AccountEquity[]; title: string }

                    Type declaration

                    perpDrop: { data: PerpPositionsToBeLiquidated[]; title: string }

                    Type declaration

                    perpRally: { data: PerpPositionsToBeLiquidated[]; title: string }

                    Type declaration

                    usdcDepeg: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    usdtDepeg: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +Risk | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    • Risk

                    Index

                    Properties

                    assetDrop: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    assetRally: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    liqorEquity: { data: AccountEquity[]; title: string }

                    Type declaration

                    marketMakerEquity: { data: AccountEquity[]; title: string }

                    Type declaration

                    perpDrop: { data: PerpPositionsToBeLiquidated[]; title: string }

                    Type declaration

                    perpRally: { data: PerpPositionsToBeLiquidated[]; title: string }

                    Type declaration

                    usdcDepeg: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    usdtDepeg: { data: LiqorPriceImpact[]; title: string }

                    Type declaration

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/RouteInfo.html b/ts/client/interfaces/RouteInfo.html index 93fca3980..835e2d3df 100644 --- a/ts/client/interfaces/RouteInfo.html +++ b/ts/client/interfaces/RouteInfo.html @@ -1 +1 @@ -RouteInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +RouteInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/SwapParams.html b/ts/client/interfaces/SwapParams.html index f44b40cfa..f452a5aba 100644 --- a/ts/client/interfaces/SwapParams.html +++ b/ts/client/interfaces/SwapParams.html @@ -1,3 +1,3 @@ -SwapParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    Index

                    Properties

                    amount: number
                    +SwapParams | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Hierarchy

                    Index

                    Properties

                    amount: number

                    amount is used for instruction and can be null when it is an intermediate swap, only the first swap has an amount

                    -
                    destinationMint: string
                    openOrdersAddress?: string
                    quoteMintToReferrer?: QuoteMintToReferrer
                    sourceMint: string
                    swapMode: SwapMode
                    userDestinationTokenAccount: string
                    userSourceTokenAccount: string
                    userTransferAuthority: string

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +
                    destinationMint: string
                    openOrdersAddress?: string
                    quoteMintToReferrer?: QuoteMintToReferrer
                    sourceMint: string
                    swapMode: SwapMode
                    userDestinationTokenAccount: string
                    userSourceTokenAccount: string
                    userTransferAuthority: string

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/interfaces/TransactionFeeInfo.html b/ts/client/interfaces/TransactionFeeInfo.html index 9ae94a57a..74008357e 100644 --- a/ts/client/interfaces/TransactionFeeInfo.html +++ b/ts/client/interfaces/TransactionFeeInfo.html @@ -1 +1 @@ -TransactionFeeInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +TransactionFeeInfo | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/modules/BookSideType.html b/ts/client/modules/BookSideType.html index 251c51786..3e0f3733e 100644 --- a/ts/client/modules/BookSideType.html +++ b/ts/client/modules/BookSideType.html @@ -1 +1 @@ -BookSideType | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file +BookSideType | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Legend

                    • Constructor
                    • Property
                    • Method
                    • Property
                    • Method
                    • Private property
                    • Private method
                    • Static property
                    • Static method

                    Settings

                    Theme

                    Generated using TypeDoc

                    \ No newline at end of file diff --git a/ts/client/modules/FlashLoanType.html b/ts/client/modules/FlashLoanType.html index 5ea3d25ec..468134142 100644 --- a/ts/client/modules/FlashLoanType.html +++ b/ts/client/modules/FlashLoanType.html @@ -1 +1 @@ -FlashLoanType | @blockworks-foundation/mango-v4
                    Options
                    All
                    • Public
                    • Public/Protected
                    • All
                    Menu

                    Index

                    Variables

                    swap: { swap: {} } = ...

                    Type declaration

                    • swap: {}
                      swapWithoutFee: { swapWithoutFee: {} } = ...

                      Type declaration

                      • swapWithoutFee: {}
                        unknown: { unknown: {} } = ...

                        Type declaration

                        • unknown: {}

                          Legend

                          • Constructor
                          • Property
                          • Method
                          • Property
                          • Method
                          • Private property
                          • Private method
                          • Static property
                          • Static method

                          Settings

                          Theme

                          Generated using TypeDoc

                          \ No newline at end of file +FlashLoanType | @blockworks-foundation/mango-v4
                          Options
                          All
                          • Public
                          • Public/Protected
                          • All
                          Menu

                          Index

                          Variables

                          swap: { swap: {} } = ...

                          Type declaration

                          • swap: {}
                            swapWithoutFee: { swapWithoutFee: {} } = ...

                            Type declaration

                            • swapWithoutFee: {}
                              unknown: { unknown: {} } = ...

                              Type declaration

                              • unknown: {}

                                Legend

                                • Constructor
                                • Property
                                • Method
                                • Property
                                • Method
                                • Private property
                                • Private method
                                • Static property
                                • Static method

                                Settings

                                Theme

                                Generated using TypeDoc

                                \ No newline at end of file diff --git a/ts/client/modules/HealthCheckKind.html b/ts/client/modules/HealthCheckKind.html index f02d26108..b10f95928 100644 --- a/ts/client/modules/HealthCheckKind.html +++ b/ts/client/modules/HealthCheckKind.html @@ -1 +1 @@ -HealthCheckKind | @blockworks-foundation/mango-v4
                                Options
                                All
                                • Public
                                • Public/Protected
                                • All
                                Menu

                                Index

                                Variables

                                init: { init: {} } = ...

                                Type declaration

                                • init: {}
                                  initRatio: { initRatio: {} } = ...

                                  Type declaration

                                  • initRatio: {}
                                    liquidationEnd: { liquidationEnd: {} } = ...

                                    Type declaration

                                    • liquidationEnd: {}
                                      liquidationEndRatio: { liquidationEndRatio: {} } = ...

                                      Type declaration

                                      • liquidationEndRatio: {}
                                        maint: { maint: {} } = ...

                                        Type declaration

                                        • maint: {}
                                          maintRatio: { maintRatio: {} } = ...

                                          Type declaration

                                          • maintRatio: {}

                                            Legend

                                            • Constructor
                                            • Property
                                            • Method
                                            • Property
                                            • Method
                                            • Private property
                                            • Private method
                                            • Static property
                                            • Static method

                                            Settings

                                            Theme

                                            Generated using TypeDoc

                                            \ No newline at end of file +HealthCheckKind | @blockworks-foundation/mango-v4
                                            Options
                                            All
                                            • Public
                                            • Public/Protected
                                            • All
                                            Menu

                                            Index

                                            Variables

                                            init: { init: {} } = ...

                                            Type declaration

                                            • init: {}
                                              initRatio: { initRatio: {} } = ...

                                              Type declaration

                                              • initRatio: {}
                                                liquidationEnd: { liquidationEnd: {} } = ...

                                                Type declaration

                                                • liquidationEnd: {}
                                                  liquidationEndRatio: { liquidationEndRatio: {} } = ...

                                                  Type declaration

                                                  • liquidationEndRatio: {}
                                                    maint: { maint: {} } = ...

                                                    Type declaration

                                                    • maint: {}
                                                      maintRatio: { maintRatio: {} } = ...

                                                      Type declaration

                                                      • maintRatio: {}

                                                        Legend

                                                        • Constructor
                                                        • Property
                                                        • Method
                                                        • Property
                                                        • Method
                                                        • Private property
                                                        • Private method
                                                        • Static property
                                                        • Static method

                                                        Settings

                                                        Theme

                                                        Generated using TypeDoc

                                                        \ No newline at end of file diff --git a/ts/client/modules/OpenbookV2OrderType.html b/ts/client/modules/OpenbookV2OrderType.html index f211a1b4e..34ff52d0d 100644 --- a/ts/client/modules/OpenbookV2OrderType.html +++ b/ts/client/modules/OpenbookV2OrderType.html @@ -1 +1 @@ -OpenbookV2OrderType | @blockworks-foundation/mango-v4
                                                        Options
                                                        All
                                                        • Public
                                                        • Public/Protected
                                                        • All
                                                        Menu

                                                        Index

                                                        Variables

                                                        immediateOrCancel: { immediateOrCancel: {} } = ...

                                                        Type declaration

                                                        • immediateOrCancel: {}
                                                          limit: { limit: {} } = ...

                                                          Type declaration

                                                          • limit: {}
                                                            postOnly: { postOnly: {} } = ...

                                                            Type declaration

                                                            • postOnly: {}

                                                              Legend

                                                              • Constructor
                                                              • Property
                                                              • Method
                                                              • Property
                                                              • Method
                                                              • Private property
                                                              • Private method
                                                              • Static property
                                                              • Static method

                                                              Settings

                                                              Theme

                                                              Generated using TypeDoc

                                                              \ No newline at end of file +OpenbookV2OrderType | @blockworks-foundation/mango-v4
                                                              Options
                                                              All
                                                              • Public
                                                              • Public/Protected
                                                              • All
                                                              Menu

                                                              Index

                                                              Variables

                                                              immediateOrCancel: { immediateOrCancel: {} } = ...

                                                              Type declaration

                                                              • immediateOrCancel: {}
                                                                limit: { limit: {} } = ...

                                                                Type declaration

                                                                • limit: {}
                                                                  postOnly: { postOnly: {} } = ...

                                                                  Type declaration

                                                                  • postOnly: {}

                                                                    Legend

                                                                    • Constructor
                                                                    • Property
                                                                    • Method
                                                                    • Property
                                                                    • Method
                                                                    • Private property
                                                                    • Private method
                                                                    • Static property
                                                                    • Static method

                                                                    Settings

                                                                    Theme

                                                                    Generated using TypeDoc

                                                                    \ No newline at end of file diff --git a/ts/client/modules/OpenbookV2SelfTradeBehavior.html b/ts/client/modules/OpenbookV2SelfTradeBehavior.html index d98338f48..19035b8c9 100644 --- a/ts/client/modules/OpenbookV2SelfTradeBehavior.html +++ b/ts/client/modules/OpenbookV2SelfTradeBehavior.html @@ -1 +1 @@ -OpenbookV2SelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                    Options
                                                                    All
                                                                    • Public
                                                                    • Public/Protected
                                                                    • All
                                                                    Menu

                                                                    Index

                                                                    Variables

                                                                    abortTransaction: { abortTransaction: {} } = ...

                                                                    Type declaration

                                                                    • abortTransaction: {}
                                                                      cancelProvide: { cancelProvide: {} } = ...

                                                                      Type declaration

                                                                      • cancelProvide: {}
                                                                        decrementTake: { decrementTake: {} } = ...

                                                                        Type declaration

                                                                        • decrementTake: {}

                                                                          Legend

                                                                          • Constructor
                                                                          • Property
                                                                          • Method
                                                                          • Property
                                                                          • Method
                                                                          • Private property
                                                                          • Private method
                                                                          • Static property
                                                                          • Static method

                                                                          Settings

                                                                          Theme

                                                                          Generated using TypeDoc

                                                                          \ No newline at end of file +OpenbookV2SelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                          Options
                                                                          All
                                                                          • Public
                                                                          • Public/Protected
                                                                          • All
                                                                          Menu

                                                                          Index

                                                                          Variables

                                                                          abortTransaction: { abortTransaction: {} } = ...

                                                                          Type declaration

                                                                          • abortTransaction: {}
                                                                            cancelProvide: { cancelProvide: {} } = ...

                                                                            Type declaration

                                                                            • cancelProvide: {}
                                                                              decrementTake: { decrementTake: {} } = ...

                                                                              Type declaration

                                                                              • decrementTake: {}

                                                                                Legend

                                                                                • Constructor
                                                                                • Property
                                                                                • Method
                                                                                • Property
                                                                                • Method
                                                                                • Private property
                                                                                • Private method
                                                                                • Static property
                                                                                • Static method

                                                                                Settings

                                                                                Theme

                                                                                Generated using TypeDoc

                                                                                \ No newline at end of file diff --git a/ts/client/modules/OpenbookV2Side.html b/ts/client/modules/OpenbookV2Side.html index 0c5c40032..fdcc42a6c 100644 --- a/ts/client/modules/OpenbookV2Side.html +++ b/ts/client/modules/OpenbookV2Side.html @@ -1 +1 @@ -OpenbookV2Side | @blockworks-foundation/mango-v4
                                                                                Options
                                                                                All
                                                                                • Public
                                                                                • Public/Protected
                                                                                • All
                                                                                Menu

                                                                                Legend

                                                                                • Constructor
                                                                                • Property
                                                                                • Method
                                                                                • Property
                                                                                • Method
                                                                                • Private property
                                                                                • Private method
                                                                                • Static property
                                                                                • Static method

                                                                                Settings

                                                                                Theme

                                                                                Generated using TypeDoc

                                                                                \ No newline at end of file +OpenbookV2Side | @blockworks-foundation/mango-v4
                                                                                Options
                                                                                All
                                                                                • Public
                                                                                • Public/Protected
                                                                                • All
                                                                                Menu

                                                                                Legend

                                                                                • Constructor
                                                                                • Property
                                                                                • Method
                                                                                • Property
                                                                                • Method
                                                                                • Private property
                                                                                • Private method
                                                                                • Static property
                                                                                • Static method

                                                                                Settings

                                                                                Theme

                                                                                Generated using TypeDoc

                                                                                \ No newline at end of file diff --git a/ts/client/modules/PerpOrderSide.html b/ts/client/modules/PerpOrderSide.html index 03ea42cea..ae2019b01 100644 --- a/ts/client/modules/PerpOrderSide.html +++ b/ts/client/modules/PerpOrderSide.html @@ -1 +1 @@ -PerpOrderSide | @blockworks-foundation/mango-v4
                                                                                Options
                                                                                All
                                                                                • Public
                                                                                • Public/Protected
                                                                                • All
                                                                                Menu

                                                                                Legend

                                                                                • Constructor
                                                                                • Property
                                                                                • Method
                                                                                • Property
                                                                                • Method
                                                                                • Private property
                                                                                • Private method
                                                                                • Static property
                                                                                • Static method

                                                                                Settings

                                                                                Theme

                                                                                Generated using TypeDoc

                                                                                \ No newline at end of file +PerpOrderSide | @blockworks-foundation/mango-v4
                                                                                Options
                                                                                All
                                                                                • Public
                                                                                • Public/Protected
                                                                                • All
                                                                                Menu

                                                                                Legend

                                                                                • Constructor
                                                                                • Property
                                                                                • Method
                                                                                • Property
                                                                                • Method
                                                                                • Private property
                                                                                • Private method
                                                                                • Static property
                                                                                • Static method

                                                                                Settings

                                                                                Theme

                                                                                Generated using TypeDoc

                                                                                \ No newline at end of file diff --git a/ts/client/modules/PerpOrderType.html b/ts/client/modules/PerpOrderType.html index 050dfb661..b01f26662 100644 --- a/ts/client/modules/PerpOrderType.html +++ b/ts/client/modules/PerpOrderType.html @@ -1 +1 @@ -PerpOrderType | @blockworks-foundation/mango-v4
                                                                                Options
                                                                                All
                                                                                • Public
                                                                                • Public/Protected
                                                                                • All
                                                                                Menu

                                                                                Index

                                                                                Variables

                                                                                immediateOrCancel: { immediateOrCancel: {} } = ...

                                                                                Type declaration

                                                                                • immediateOrCancel: {}
                                                                                  limit: { limit: {} } = ...

                                                                                  Type declaration

                                                                                  • limit: {}
                                                                                    market: { market: {} } = ...

                                                                                    Type declaration

                                                                                    • market: {}
                                                                                      postOnly: { postOnly: {} } = ...

                                                                                      Type declaration

                                                                                      • postOnly: {}
                                                                                        postOnlySlide: { postOnlySlide: {} } = ...

                                                                                        Type declaration

                                                                                        • postOnlySlide: {}

                                                                                          Legend

                                                                                          • Constructor
                                                                                          • Property
                                                                                          • Method
                                                                                          • Property
                                                                                          • Method
                                                                                          • Private property
                                                                                          • Private method
                                                                                          • Static property
                                                                                          • Static method

                                                                                          Settings

                                                                                          Theme

                                                                                          Generated using TypeDoc

                                                                                          \ No newline at end of file +PerpOrderType | @blockworks-foundation/mango-v4
                                                                                          Options
                                                                                          All
                                                                                          • Public
                                                                                          • Public/Protected
                                                                                          • All
                                                                                          Menu

                                                                                          Index

                                                                                          Variables

                                                                                          immediateOrCancel: { immediateOrCancel: {} } = ...

                                                                                          Type declaration

                                                                                          • immediateOrCancel: {}
                                                                                            limit: { limit: {} } = ...

                                                                                            Type declaration

                                                                                            • limit: {}
                                                                                              market: { market: {} } = ...

                                                                                              Type declaration

                                                                                              • market: {}
                                                                                                postOnly: { postOnly: {} } = ...

                                                                                                Type declaration

                                                                                                • postOnly: {}
                                                                                                  postOnlySlide: { postOnlySlide: {} } = ...

                                                                                                  Type declaration

                                                                                                  • postOnlySlide: {}

                                                                                                    Legend

                                                                                                    • Constructor
                                                                                                    • Property
                                                                                                    • Method
                                                                                                    • Property
                                                                                                    • Method
                                                                                                    • Private property
                                                                                                    • Private method
                                                                                                    • Static property
                                                                                                    • Static method

                                                                                                    Settings

                                                                                                    Theme

                                                                                                    Generated using TypeDoc

                                                                                                    \ No newline at end of file diff --git a/ts/client/modules/PerpSelfTradeBehavior.html b/ts/client/modules/PerpSelfTradeBehavior.html index 321ca4775..bf6a7421f 100644 --- a/ts/client/modules/PerpSelfTradeBehavior.html +++ b/ts/client/modules/PerpSelfTradeBehavior.html @@ -1 +1 @@ -PerpSelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                                                    Options
                                                                                                    All
                                                                                                    • Public
                                                                                                    • Public/Protected
                                                                                                    • All
                                                                                                    Menu

                                                                                                    Index

                                                                                                    Variables

                                                                                                    abortTransaction: { abortTransaction: {} } = ...

                                                                                                    Type declaration

                                                                                                    • abortTransaction: {}
                                                                                                      cancelProvide: { cancelProvide: {} } = ...

                                                                                                      Type declaration

                                                                                                      • cancelProvide: {}
                                                                                                        decrementTake: { decrementTake: {} } = ...

                                                                                                        Type declaration

                                                                                                        • decrementTake: {}

                                                                                                          Legend

                                                                                                          • Constructor
                                                                                                          • Property
                                                                                                          • Method
                                                                                                          • Property
                                                                                                          • Method
                                                                                                          • Private property
                                                                                                          • Private method
                                                                                                          • Static property
                                                                                                          • Static method

                                                                                                          Settings

                                                                                                          Theme

                                                                                                          Generated using TypeDoc

                                                                                                          \ No newline at end of file +PerpSelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                                                          Options
                                                                                                          All
                                                                                                          • Public
                                                                                                          • Public/Protected
                                                                                                          • All
                                                                                                          Menu

                                                                                                          Index

                                                                                                          Variables

                                                                                                          abortTransaction: { abortTransaction: {} } = ...

                                                                                                          Type declaration

                                                                                                          • abortTransaction: {}
                                                                                                            cancelProvide: { cancelProvide: {} } = ...

                                                                                                            Type declaration

                                                                                                            • cancelProvide: {}
                                                                                                              decrementTake: { decrementTake: {} } = ...

                                                                                                              Type declaration

                                                                                                              • decrementTake: {}

                                                                                                                Legend

                                                                                                                • Constructor
                                                                                                                • Property
                                                                                                                • Method
                                                                                                                • Property
                                                                                                                • Method
                                                                                                                • Private property
                                                                                                                • Private method
                                                                                                                • Static property
                                                                                                                • Static method

                                                                                                                Settings

                                                                                                                Theme

                                                                                                                Generated using TypeDoc

                                                                                                                \ No newline at end of file diff --git a/ts/client/modules/Serum3OrderType.html b/ts/client/modules/Serum3OrderType.html index 6bb688f6f..0267c1cb8 100644 --- a/ts/client/modules/Serum3OrderType.html +++ b/ts/client/modules/Serum3OrderType.html @@ -1 +1 @@ -Serum3OrderType | @blockworks-foundation/mango-v4
                                                                                                                Options
                                                                                                                All
                                                                                                                • Public
                                                                                                                • Public/Protected
                                                                                                                • All
                                                                                                                Menu

                                                                                                                Index

                                                                                                                Variables

                                                                                                                immediateOrCancel: { immediateOrCancel: {} } = ...

                                                                                                                Type declaration

                                                                                                                • immediateOrCancel: {}
                                                                                                                  limit: { limit: {} } = ...

                                                                                                                  Type declaration

                                                                                                                  • limit: {}
                                                                                                                    postOnly: { postOnly: {} } = ...

                                                                                                                    Type declaration

                                                                                                                    • postOnly: {}

                                                                                                                      Legend

                                                                                                                      • Constructor
                                                                                                                      • Property
                                                                                                                      • Method
                                                                                                                      • Property
                                                                                                                      • Method
                                                                                                                      • Private property
                                                                                                                      • Private method
                                                                                                                      • Static property
                                                                                                                      • Static method

                                                                                                                      Settings

                                                                                                                      Theme

                                                                                                                      Generated using TypeDoc

                                                                                                                      \ No newline at end of file +Serum3OrderType | @blockworks-foundation/mango-v4
                                                                                                                      Options
                                                                                                                      All
                                                                                                                      • Public
                                                                                                                      • Public/Protected
                                                                                                                      • All
                                                                                                                      Menu

                                                                                                                      Index

                                                                                                                      Variables

                                                                                                                      immediateOrCancel: { immediateOrCancel: {} } = ...

                                                                                                                      Type declaration

                                                                                                                      • immediateOrCancel: {}
                                                                                                                        limit: { limit: {} } = ...

                                                                                                                        Type declaration

                                                                                                                        • limit: {}
                                                                                                                          postOnly: { postOnly: {} } = ...

                                                                                                                          Type declaration

                                                                                                                          • postOnly: {}

                                                                                                                            Legend

                                                                                                                            • Constructor
                                                                                                                            • Property
                                                                                                                            • Method
                                                                                                                            • Property
                                                                                                                            • Method
                                                                                                                            • Private property
                                                                                                                            • Private method
                                                                                                                            • Static property
                                                                                                                            • Static method

                                                                                                                            Settings

                                                                                                                            Theme

                                                                                                                            Generated using TypeDoc

                                                                                                                            \ No newline at end of file diff --git a/ts/client/modules/Serum3SelfTradeBehavior.html b/ts/client/modules/Serum3SelfTradeBehavior.html index 2886c9f79..2fd3f5b06 100644 --- a/ts/client/modules/Serum3SelfTradeBehavior.html +++ b/ts/client/modules/Serum3SelfTradeBehavior.html @@ -1 +1 @@ -Serum3SelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                                                                            Options
                                                                                                                            All
                                                                                                                            • Public
                                                                                                                            • Public/Protected
                                                                                                                            • All
                                                                                                                            Menu

                                                                                                                            Index

                                                                                                                            Variables

                                                                                                                            abortTransaction: { abortTransaction: {} } = ...

                                                                                                                            Type declaration

                                                                                                                            • abortTransaction: {}
                                                                                                                              cancelProvide: { cancelProvide: {} } = ...

                                                                                                                              Type declaration

                                                                                                                              • cancelProvide: {}
                                                                                                                                decrementTake: { decrementTake: {} } = ...

                                                                                                                                Type declaration

                                                                                                                                • decrementTake: {}

                                                                                                                                  Legend

                                                                                                                                  • Constructor
                                                                                                                                  • Property
                                                                                                                                  • Method
                                                                                                                                  • Property
                                                                                                                                  • Method
                                                                                                                                  • Private property
                                                                                                                                  • Private method
                                                                                                                                  • Static property
                                                                                                                                  • Static method

                                                                                                                                  Settings

                                                                                                                                  Theme

                                                                                                                                  Generated using TypeDoc

                                                                                                                                  \ No newline at end of file +Serum3SelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                                                                                  Options
                                                                                                                                  All
                                                                                                                                  • Public
                                                                                                                                  • Public/Protected
                                                                                                                                  • All
                                                                                                                                  Menu

                                                                                                                                  Index

                                                                                                                                  Variables

                                                                                                                                  abortTransaction: { abortTransaction: {} } = ...

                                                                                                                                  Type declaration

                                                                                                                                  • abortTransaction: {}
                                                                                                                                    cancelProvide: { cancelProvide: {} } = ...

                                                                                                                                    Type declaration

                                                                                                                                    • cancelProvide: {}
                                                                                                                                      decrementTake: { decrementTake: {} } = ...

                                                                                                                                      Type declaration

                                                                                                                                      • decrementTake: {}

                                                                                                                                        Legend

                                                                                                                                        • Constructor
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Private property
                                                                                                                                        • Private method
                                                                                                                                        • Static property
                                                                                                                                        • Static method

                                                                                                                                        Settings

                                                                                                                                        Theme

                                                                                                                                        Generated using TypeDoc

                                                                                                                                        \ No newline at end of file diff --git a/ts/client/modules/Serum3Side.html b/ts/client/modules/Serum3Side.html index 5f8bb274e..f9b499b4e 100644 --- a/ts/client/modules/Serum3Side.html +++ b/ts/client/modules/Serum3Side.html @@ -1 +1 @@ -Serum3Side | @blockworks-foundation/mango-v4
                                                                                                                                        Options
                                                                                                                                        All
                                                                                                                                        • Public
                                                                                                                                        • Public/Protected
                                                                                                                                        • All
                                                                                                                                        Menu

                                                                                                                                        Legend

                                                                                                                                        • Constructor
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Private property
                                                                                                                                        • Private method
                                                                                                                                        • Static property
                                                                                                                                        • Static method

                                                                                                                                        Settings

                                                                                                                                        Theme

                                                                                                                                        Generated using TypeDoc

                                                                                                                                        \ No newline at end of file +Serum3Side | @blockworks-foundation/mango-v4
                                                                                                                                        Options
                                                                                                                                        All
                                                                                                                                        • Public
                                                                                                                                        • Public/Protected
                                                                                                                                        • All
                                                                                                                                        Menu

                                                                                                                                        Legend

                                                                                                                                        • Constructor
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Private property
                                                                                                                                        • Private method
                                                                                                                                        • Static property
                                                                                                                                        • Static method

                                                                                                                                        Settings

                                                                                                                                        Theme

                                                                                                                                        Generated using TypeDoc

                                                                                                                                        \ No newline at end of file diff --git a/ts/client/modules/TokenConditionalSwapDisplayPriceStyle.html b/ts/client/modules/TokenConditionalSwapDisplayPriceStyle.html index 43d0bdcee..27a6b26ad 100644 --- a/ts/client/modules/TokenConditionalSwapDisplayPriceStyle.html +++ b/ts/client/modules/TokenConditionalSwapDisplayPriceStyle.html @@ -1 +1 @@ -TokenConditionalSwapDisplayPriceStyle | @blockworks-foundation/mango-v4
                                                                                                                                        Options
                                                                                                                                        All
                                                                                                                                        • Public
                                                                                                                                        • Public/Protected
                                                                                                                                        • All
                                                                                                                                        Menu

                                                                                                                                        Namespace TokenConditionalSwapDisplayPriceStyle

                                                                                                                                        Legend

                                                                                                                                        • Constructor
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Private property
                                                                                                                                        • Private method
                                                                                                                                        • Static property
                                                                                                                                        • Static method

                                                                                                                                        Settings

                                                                                                                                        Theme

                                                                                                                                        Generated using TypeDoc

                                                                                                                                        \ No newline at end of file +TokenConditionalSwapDisplayPriceStyle | @blockworks-foundation/mango-v4
                                                                                                                                        Options
                                                                                                                                        All
                                                                                                                                        • Public
                                                                                                                                        • Public/Protected
                                                                                                                                        • All
                                                                                                                                        Menu

                                                                                                                                        Namespace TokenConditionalSwapDisplayPriceStyle

                                                                                                                                        Legend

                                                                                                                                        • Constructor
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Private property
                                                                                                                                        • Private method
                                                                                                                                        • Static property
                                                                                                                                        • Static method

                                                                                                                                        Settings

                                                                                                                                        Theme

                                                                                                                                        Generated using TypeDoc

                                                                                                                                        \ No newline at end of file diff --git a/ts/client/modules/TokenConditionalSwapIntention.html b/ts/client/modules/TokenConditionalSwapIntention.html index d6457c4ec..dbabcdf55 100644 --- a/ts/client/modules/TokenConditionalSwapIntention.html +++ b/ts/client/modules/TokenConditionalSwapIntention.html @@ -1 +1 @@ -TokenConditionalSwapIntention | @blockworks-foundation/mango-v4
                                                                                                                                        Options
                                                                                                                                        All
                                                                                                                                        • Public
                                                                                                                                        • Public/Protected
                                                                                                                                        • All
                                                                                                                                        Menu

                                                                                                                                        Legend

                                                                                                                                        • Constructor
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Private property
                                                                                                                                        • Private method
                                                                                                                                        • Static property
                                                                                                                                        • Static method

                                                                                                                                        Settings

                                                                                                                                        Theme

                                                                                                                                        Generated using TypeDoc

                                                                                                                                        \ No newline at end of file +TokenConditionalSwapIntention | @blockworks-foundation/mango-v4
                                                                                                                                        Options
                                                                                                                                        All
                                                                                                                                        • Public
                                                                                                                                        • Public/Protected
                                                                                                                                        • All
                                                                                                                                        Menu

                                                                                                                                        Legend

                                                                                                                                        • Constructor
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Property
                                                                                                                                        • Method
                                                                                                                                        • Private property
                                                                                                                                        • Private method
                                                                                                                                        • Static property
                                                                                                                                        • Static method

                                                                                                                                        Settings

                                                                                                                                        Theme

                                                                                                                                        Generated using TypeDoc

                                                                                                                                        \ No newline at end of file