@gearbox-protocol/sdk 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/gearbox-sdk.iml +12 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.prettierrc +10 -0
- package/README.md +4 -0
- package/lib/config.d.ts +1 -0
- package/lib/config.js +4 -0
- package/lib/core/constants.d.ts +17 -0
- package/lib/core/constants.js +36 -0
- package/lib/core/contracts.d.ts +64 -0
- package/lib/core/contracts.js +104 -0
- package/lib/core/contractsRegister.d.ts +2 -0
- package/lib/core/contractsRegister.js +43 -0
- package/lib/core/creditAccount.d.ts +35 -0
- package/lib/core/creditAccount.js +98 -0
- package/lib/core/creditCard.d.ts +13 -0
- package/lib/core/creditCard.js +2 -0
- package/lib/core/creditManager.d.ts +37 -0
- package/lib/core/creditManager.js +118 -0
- package/lib/core/creditOperation.d.ts +9 -0
- package/lib/core/creditOperation.js +2 -0
- package/lib/core/creditSession.d.ts +26 -0
- package/lib/core/creditSession.js +44 -0
- package/lib/core/errors.d.ts +26 -0
- package/lib/core/errors.js +74 -0
- package/lib/core/event.d.ts +42 -0
- package/lib/core/event.js +2 -0
- package/lib/core/eventOrTx.d.ts +36 -0
- package/lib/core/eventOrTx.js +97 -0
- package/lib/core/events.d.ts +369 -0
- package/lib/core/events.js +730 -0
- package/lib/core/history.d.ts +42 -0
- package/lib/core/history.js +2 -0
- package/lib/core/operations.d.ts +22 -0
- package/lib/core/operations.js +20 -0
- package/lib/core/oracles.d.ts +6 -0
- package/lib/core/oracles.js +2 -0
- package/lib/core/pool.d.ts +28 -0
- package/lib/core/pool.js +32 -0
- package/lib/core/swap.d.ts +4 -0
- package/lib/core/swap.js +8 -0
- package/lib/core/token.d.ts +3 -0
- package/lib/core/token.js +229 -0
- package/lib/core/tokenData.d.ts +28 -0
- package/lib/core/tokenData.js +58 -0
- package/lib/core/tokenDistributor.d.ts +12 -0
- package/lib/core/tokenDistributor.js +9 -0
- package/lib/core/trade.d.ts +35 -0
- package/lib/core/trade.js +62 -0
- package/lib/core/transactions.d.ts +127 -0
- package/lib/core/transactions.js +306 -0
- package/lib/index.d.ts +33 -0
- package/lib/index.js +47 -0
- package/lib/payload/creditAccount.d.ts +26 -0
- package/lib/payload/creditAccount.js +2 -0
- package/lib/payload/creditManager.d.ts +43 -0
- package/lib/payload/creditManager.js +2 -0
- package/lib/payload/creditSession.d.ts +23 -0
- package/lib/payload/creditSession.js +2 -0
- package/lib/payload/graphPayload.d.ts +9 -0
- package/lib/payload/graphPayload.js +2 -0
- package/lib/payload/pool.d.ts +17 -0
- package/lib/payload/pool.js +3 -0
- package/lib/payload/token.d.ts +5 -0
- package/lib/payload/token.js +2 -0
- package/lib/types/ACL.d.ts +491 -0
- package/lib/types/ACLTrait.d.ts +148 -0
- package/lib/types/ACLTraitTest.d.ts +209 -0
- package/lib/types/AbstractAccountMiner.d.ts +143 -0
- package/lib/types/AccountFactory.d.ts +716 -0
- package/lib/types/AccountMinerAuction.d.ts +391 -0
- package/lib/types/AccountMinerMock.d.ts +241 -0
- package/lib/types/AccountMinerNonReceivableTest.d.ts +127 -0
- package/lib/types/AccountMinerOwnFunds.d.ts +218 -0
- package/lib/types/AccountMining.d.ts +222 -0
- package/lib/types/AdaptersDeployer.d.ts +262 -0
- package/lib/types/AddressProvider.d.ts +912 -0
- package/lib/types/AggregatorV3Interface.d.ts +234 -0
- package/lib/types/ChainlinkPriceFeedMock.d.ts +215 -0
- package/lib/types/ContractsRegister.d.ts +398 -0
- package/lib/types/CoreDeployer.d.ts +394 -0
- package/lib/types/CreditAccount.d.ts +443 -0
- package/lib/types/CreditFilter.d.ts +1609 -0
- package/lib/types/CreditFilterMock.d.ts +1687 -0
- package/lib/types/CreditManager.d.ts +1285 -0
- package/lib/types/CreditManagerMockForFilter.d.ts +605 -0
- package/lib/types/CreditManagerMockForPoolTest.d.ts +204 -0
- package/lib/types/CurveMock.d.ts +298 -0
- package/lib/types/CurveV1Adapter.d.ts +349 -0
- package/lib/types/DataCompressor.d.ts +1331 -0
- package/lib/types/Deployer.d.ts +224 -0
- package/lib/types/DieselToken.d.ts +567 -0
- package/lib/types/ERC165.d.ts +116 -0
- package/lib/types/ERC20.d.ts +411 -0
- package/lib/types/ERC20BlockingMock.d.ts +568 -0
- package/lib/types/ERC721.d.ts +625 -0
- package/lib/types/Errors.d.ts +1854 -0
- package/lib/types/ExecutorMock.d.ts +140 -0
- package/lib/types/FlashLoanAttacker.d.ts +170 -0
- package/lib/types/FuzzHarness.d.ts +124 -0
- package/lib/types/GearBeta.d.ts +745 -0
- package/lib/types/GearToken.d.ts +888 -0
- package/lib/types/GenesisDeployer.d.ts +282 -0
- package/lib/types/IAccountFactory.d.ts +317 -0
- package/lib/types/IAccountMiner.d.ts +124 -0
- package/lib/types/IAppAddressProvider.d.ts +198 -0
- package/lib/types/IAppCreditManager.d.ts +408 -0
- package/lib/types/IAppERC20.d.ts +309 -0
- package/lib/types/IAppPoolService.d.ts +166 -0
- package/lib/types/ICreditAccount.d.ts +430 -0
- package/lib/types/ICreditAccountData.d.ts +347 -0
- package/lib/types/ICreditFilter.d.ts +1162 -0
- package/lib/types/ICreditManager.d.ts +971 -0
- package/lib/types/ICurvePool.d.ts +298 -0
- package/lib/types/IDataCompressor.d.ts +1231 -0
- package/lib/types/IERC165.d.ts +116 -0
- package/lib/types/IERC20.d.ts +294 -0
- package/lib/types/IERC721.d.ts +472 -0
- package/lib/types/IERC721Enumerable.d.ts +564 -0
- package/lib/types/IERC721Metadata.d.ts +523 -0
- package/lib/types/IERC721Receiver.d.ts +132 -0
- package/lib/types/IGearToken.d.ts +527 -0
- package/lib/types/IInterestRateModel.d.ts +121 -0
- package/lib/types/IMerkleDistributor.d.ts +190 -0
- package/lib/types/IPoolService.d.ts +772 -0
- package/lib/types/IPriceOracle.d.ts +211 -0
- package/lib/types/IQuoter.d.ts +269 -0
- package/lib/types/ISwapRouter.d.ts +404 -0
- package/lib/types/IUniswapV2Migrator.d.ts +134 -0
- package/lib/types/IUniswapV2Router01.d.ts +1119 -0
- package/lib/types/IUniswapV2Router02.d.ts +1432 -0
- package/lib/types/IUniswapV3SwapCallback.d.ts +127 -0
- package/lib/types/IWETH.d.ts +169 -0
- package/lib/types/IWETHGateway.d.ts +335 -0
- package/lib/types/IYVault.d.ts +558 -0
- package/lib/types/LeveragedActions.d.ts +772 -0
- package/lib/types/LinearInterestRateModel.d.ts +279 -0
- package/lib/types/MockPoolService.d.ts +1271 -0
- package/lib/types/Multicall2.d.ts +449 -0
- package/lib/types/Ownable.d.ts +169 -0
- package/lib/types/PathFinder.d.ts +379 -0
- package/lib/types/Pausable.d.ts +105 -0
- package/lib/types/PercentageMathTest.d.ts +154 -0
- package/lib/types/PoolDeployer.d.ts +282 -0
- package/lib/types/PoolService.d.ts +1174 -0
- package/lib/types/PriceOracle.d.ts +387 -0
- package/lib/types/Proxy.d.ts +78 -0
- package/lib/types/StepVesting.d.ts +411 -0
- package/lib/types/TestPoolService.d.ts +1294 -0
- package/lib/types/TokenDistributor.d.ts +640 -0
- package/lib/types/TokenFeeMock.d.ts +544 -0
- package/lib/types/TokenMock.d.ts +531 -0
- package/lib/types/TreasuryMock.d.ts +86 -0
- package/lib/types/UniswapRouterMock.d.ts +1520 -0
- package/lib/types/UniswapV2Adapter.d.ts +1463 -0
- package/lib/types/UniswapV3Adapter.d.ts +455 -0
- package/lib/types/VestingDeployer.d.ts +247 -0
- package/lib/types/WETHGateway.d.ts +376 -0
- package/lib/types/WETHMock.d.ts +433 -0
- package/lib/types/WadRayMathTest.d.ts +316 -0
- package/lib/types/YearnAdapter.d.ts +609 -0
- package/lib/types/YearnMock.d.ts +795 -0
- package/lib/types/YearnPriceFeed.d.ts +399 -0
- package/lib/types/commons.d.ts +16 -0
- package/lib/types/commons.js +5 -0
- package/lib/types/factories/ACLTraitTest__factory.d.ts +52 -0
- package/lib/types/factories/ACLTraitTest__factory.js +138 -0
- package/lib/types/factories/ACLTrait__factory.d.ts +31 -0
- package/lib/types/factories/ACLTrait__factory.js +75 -0
- package/lib/types/factories/ACL__factory.d.ts +45 -0
- package/lib/types/factories/ACL__factory.js +317 -0
- package/lib/types/factories/AbstractAccountMiner__factory.d.ts +30 -0
- package/lib/types/factories/AbstractAccountMiner__factory.js +61 -0
- package/lib/types/factories/AccountFactory__factory.d.ts +72 -0
- package/lib/types/factories/AccountFactory__factory.js +508 -0
- package/lib/types/factories/AccountMinerAuction__factory.js +304 -0
- package/lib/types/factories/AccountMinerMock__factory.js +196 -0
- package/lib/types/factories/AccountMinerNonReceivableTest__factory.js +84 -0
- package/lib/types/factories/AccountMinerOwnFunds__factory.js +181 -0
- package/lib/types/factories/AccountMining__factory.d.ts +56 -0
- package/lib/types/factories/AccountMining__factory.js +192 -0
- package/lib/types/factories/AdaptersDeployer__factory.d.ts +85 -0
- package/lib/types/factories/AdaptersDeployer__factory.js +202 -0
- package/lib/types/factories/AddressProvider__factory.d.ts +52 -0
- package/lib/types/factories/AddressProvider__factory.js +582 -0
- package/lib/types/factories/AggregatorV3Interface__factory.d.ts +22 -0
- package/lib/types/factories/AggregatorV3Interface__factory.js +133 -0
- package/lib/types/factories/ChainlinkPriceFeedMock__factory.d.ts +42 -0
- package/lib/types/factories/ChainlinkPriceFeedMock__factory.js +193 -0
- package/lib/types/factories/ContractsRegister__factory.d.ts +56 -0
- package/lib/types/factories/ContractsRegister__factory.js +310 -0
- package/lib/types/factories/CoreDeployer__factory.js +331 -0
- package/lib/types/factories/CreditAccount__factory.d.ts +32 -0
- package/lib/types/factories/CreditAccount__factory.js +262 -0
- package/lib/types/factories/CreditFilterMock__factory.d.ts +56 -0
- package/lib/types/factories/CreditFilterMock__factory.js +1083 -0
- package/lib/types/factories/CreditFilter__factory.d.ts +56 -0
- package/lib/types/factories/CreditFilter__factory.js +1047 -0
- package/lib/types/factories/CreditManagerMockForFilter__factory.d.ts +38 -0
- package/lib/types/factories/CreditManagerMockForFilter__factory.js +324 -0
- package/lib/types/factories/CreditManagerMockForPoolTest__factory.d.ts +48 -0
- package/lib/types/factories/CreditManagerMockForPoolTest__factory.js +131 -0
- package/lib/types/factories/CreditManager__factory.d.ts +77 -0
- package/lib/types/factories/CreditManager__factory.js +1030 -0
- package/lib/types/factories/CurveMock__factory.d.ts +42 -0
- package/lib/types/factories/CurveMock__factory.js +210 -0
- package/lib/types/factories/CurveV1Adapter__factory.d.ts +42 -0
- package/lib/types/factories/CurveV1Adapter__factory.js +254 -0
- package/lib/types/factories/DataCompressor__factory.d.ts +71 -0
- package/lib/types/factories/DataCompressor__factory.js +944 -0
- package/lib/types/factories/Deployer__factory.js +248 -0
- package/lib/types/factories/DieselToken__factory.d.ts +56 -0
- package/lib/types/factories/DieselToken__factory.js +432 -0
- package/lib/types/factories/ERC165__factory.d.ts +22 -0
- package/lib/types/factories/ERC165__factory.js +41 -0
- package/lib/types/factories/ERC20BlockingMock__factory.d.ts +56 -0
- package/lib/types/factories/ERC20BlockingMock__factory.js +429 -0
- package/lib/types/factories/ERC20__factory.d.ts +56 -0
- package/lib/types/factories/ERC20__factory.js +339 -0
- package/lib/types/factories/ERC721__factory.d.ts +56 -0
- package/lib/types/factories/ERC721__factory.js +468 -0
- package/lib/types/factories/Errors__factory.d.ts +28 -0
- package/lib/types/factories/Errors__factory.js +1015 -0
- package/lib/types/factories/ExecutorMock__factory.d.ts +38 -0
- package/lib/types/factories/ExecutorMock__factory.js +103 -0
- package/lib/types/factories/FlashLoanAttacker__factory.d.ts +48 -0
- package/lib/types/factories/FlashLoanAttacker__factory.js +117 -0
- package/lib/types/factories/FuzzHarness__factory.d.ts +38 -0
- package/lib/types/factories/FuzzHarness__factory.js +92 -0
- package/lib/types/factories/GearBeta__factory.d.ts +52 -0
- package/lib/types/factories/GearBeta__factory.js +527 -0
- package/lib/types/factories/GearToken__factory.d.ts +56 -0
- package/lib/types/factories/GearToken__factory.js +708 -0
- package/lib/types/factories/GenesisDeployer__factory.d.ts +108 -0
- package/lib/types/factories/GenesisDeployer__factory.js +231 -0
- package/lib/types/factories/IAccountFactory__factory.d.ts +35 -0
- package/lib/types/factories/IAccountFactory__factory.js +226 -0
- package/lib/types/factories/IAccountMiner__factory.d.ts +28 -0
- package/lib/types/factories/IAccountMiner__factory.js +48 -0
- package/lib/types/factories/IAppAddressProvider__factory.d.ts +18 -0
- package/lib/types/factories/IAppAddressProvider__factory.js +100 -0
- package/lib/types/factories/IAppCreditManager__factory.d.ts +42 -0
- package/lib/types/factories/IAppCreditManager__factory.js +204 -0
- package/lib/types/factories/IAppERC20__factory.d.ts +22 -0
- package/lib/types/factories/IAppERC20__factory.js +194 -0
- package/lib/types/factories/IAppPoolService__factory.d.ts +22 -0
- package/lib/types/factories/IAppPoolService__factory.js +69 -0
- package/lib/types/factories/ICreditAccountData__factory.d.ts +35 -0
- package/lib/types/factories/ICreditAccountData__factory.js +216 -0
- package/lib/types/factories/ICreditAccount__factory.d.ts +22 -0
- package/lib/types/factories/ICreditAccount__factory.js +218 -0
- package/lib/types/factories/ICreditFilter__factory.d.ts +35 -0
- package/lib/types/factories/ICreditFilter__factory.js +700 -0
- package/lib/types/factories/ICreditManager__factory.d.ts +56 -0
- package/lib/types/factories/ICreditManager__factory.js +720 -0
- package/lib/types/factories/ICurvePool__factory.d.ts +22 -0
- package/lib/types/factories/ICurvePool__factory.js +168 -0
- package/lib/types/factories/IDataCompressor__factory.d.ts +51 -0
- package/lib/types/factories/IDataCompressor__factory.js +826 -0
- package/lib/types/factories/IERC165__factory.d.ts +22 -0
- package/lib/types/factories/IERC165__factory.js +41 -0
- package/lib/types/factories/IERC20__factory.d.ts +35 -0
- package/lib/types/factories/IERC20__factory.js +205 -0
- package/lib/types/factories/IERC721Enumerable__factory.d.ts +35 -0
- package/lib/types/factories/IERC721Enumerable__factory.js +363 -0
- package/lib/types/factories/IERC721Metadata__factory.d.ts +35 -0
- package/lib/types/factories/IERC721Metadata__factory.js +352 -0
- package/lib/types/factories/IERC721Receiver__factory.d.ts +22 -0
- package/lib/types/factories/IERC721Receiver__factory.js +56 -0
- package/lib/types/factories/IERC721__factory.d.ts +35 -0
- package/lib/types/factories/IERC721__factory.js +307 -0
- package/lib/types/factories/IGearToken__factory.d.ts +35 -0
- package/lib/types/factories/IGearToken__factory.js +342 -0
- package/lib/types/factories/IInterestRateModel__factory.d.ts +22 -0
- package/lib/types/factories/IInterestRateModel__factory.js +46 -0
- package/lib/types/factories/IMerkleDistributor__factory.d.ts +35 -0
- package/lib/types/factories/IMerkleDistributor__factory.js +109 -0
- package/lib/types/factories/IPoolService__factory.d.ts +35 -0
- package/lib/types/factories/IPoolService__factory.js +580 -0
- package/lib/types/factories/IPriceOracle__factory.d.ts +35 -0
- package/lib/types/factories/IPriceOracle__factory.js +112 -0
- package/lib/types/factories/IQuoter__factory.d.ts +22 -0
- package/lib/types/factories/IQuoter__factory.js +148 -0
- package/lib/types/factories/ISwapRouter__factory.d.ts +27 -0
- package/lib/types/factories/ISwapRouter__factory.js +236 -0
- package/lib/types/factories/IUniswapV2Migrator__factory.d.ts +18 -0
- package/lib/types/factories/IUniswapV2Migrator__factory.js +55 -0
- package/lib/types/factories/IUniswapV2Router01__factory.d.ts +22 -0
- package/lib/types/factories/IUniswapV2Router01__factory.js +771 -0
- package/lib/types/factories/IUniswapV2Router02__factory.d.ts +22 -0
- package/lib/types/factories/IUniswapV2Router02__factory.js +973 -0
- package/lib/types/factories/IUniswapV3SwapCallback__factory.d.ts +18 -0
- package/lib/types/factories/IUniswapV3SwapCallback__factory.js +45 -0
- package/lib/types/factories/IWETHGateway__factory.d.ts +18 -0
- package/lib/types/factories/IWETHGateway__factory.js +150 -0
- package/lib/types/factories/IWETH__factory.d.ts +22 -0
- package/lib/types/factories/IWETH__factory.js +66 -0
- package/lib/types/factories/IYVault__factory.d.ts +35 -0
- package/lib/types/factories/IYVault__factory.js +411 -0
- package/lib/types/factories/LeveragedActions__factory.d.ts +84 -0
- package/lib/types/factories/LeveragedActions__factory.js +569 -0
- package/lib/types/factories/LinearInterestRateModel__factory.d.ts +42 -0
- package/lib/types/factories/LinearInterestRateModel__factory.js +209 -0
- package/lib/types/factories/MockPoolService__factory.d.ts +56 -0
- package/lib/types/factories/MockPoolService__factory.js +889 -0
- package/lib/types/factories/Multicall2__factory.d.ts +52 -0
- package/lib/types/factories/Multicall2__factory.js +364 -0
- package/lib/types/factories/Ownable__factory.d.ts +42 -0
- package/lib/types/factories/Ownable__factory.js +74 -0
- package/lib/types/factories/PathFinder__factory.d.ts +61 -0
- package/lib/types/factories/PathFinder__factory.js +302 -0
- package/lib/types/factories/Pausable__factory.d.ts +31 -0
- package/lib/types/factories/Pausable__factory.js +61 -0
- package/lib/types/factories/PercentageMathTest__factory.d.ts +32 -0
- package/lib/types/factories/PercentageMathTest__factory.js +101 -0
- package/lib/types/factories/PoolDeployer__factory.d.ts +113 -0
- package/lib/types/factories/PoolDeployer__factory.js +257 -0
- package/lib/types/factories/PoolService__factory.d.ts +56 -0
- package/lib/types/factories/PoolService__factory.js +873 -0
- package/lib/types/factories/PriceOracle__factory.d.ts +56 -0
- package/lib/types/factories/PriceOracle__factory.js +290 -0
- package/lib/types/factories/Proxy__factory.d.ts +13 -0
- package/lib/types/factories/Proxy__factory.js +30 -0
- package/lib/types/factories/StepVesting__factory.d.ts +52 -0
- package/lib/types/factories/StepVesting__factory.js +296 -0
- package/lib/types/factories/TestPoolService__factory.d.ts +56 -0
- package/lib/types/factories/TestPoolService__factory.js +932 -0
- package/lib/types/factories/TokenDistributor__factory.d.ts +82 -0
- package/lib/types/factories/TokenDistributor__factory.js +481 -0
- package/lib/types/factories/TokenFeeMock__factory.d.ts +56 -0
- package/lib/types/factories/TokenFeeMock__factory.js +427 -0
- package/lib/types/factories/TokenMock__factory.d.ts +56 -0
- package/lib/types/factories/TokenMock__factory.js +409 -0
- package/lib/types/factories/TreasuryMock__factory.d.ts +35 -0
- package/lib/types/factories/TreasuryMock__factory.js +70 -0
- package/lib/types/factories/UniswapRouterMock__factory.d.ts +32 -0
- package/lib/types/factories/UniswapRouterMock__factory.js +1046 -0
- package/lib/types/factories/UniswapV2Adapter__factory.d.ts +42 -0
- package/lib/types/factories/UniswapV2Adapter__factory.js +1059 -0
- package/lib/types/factories/UniswapV3Adapter__factory.d.ts +47 -0
- package/lib/types/factories/UniswapV3Adapter__factory.js +322 -0
- package/lib/types/factories/VestingDeployer__factory.js +216 -0
- package/lib/types/factories/WETHGateway__factory.d.ts +70 -0
- package/lib/types/factories/WETHGateway__factory.js +241 -0
- package/lib/types/factories/WETHMock__factory.d.ts +52 -0
- package/lib/types/factories/WETHMock__factory.js +355 -0
- package/lib/types/factories/WadRayMathTest__factory.d.ts +32 -0
- package/lib/types/factories/WadRayMathTest__factory.js +239 -0
- package/lib/types/factories/YearnAdapter__factory.d.ts +56 -0
- package/lib/types/factories/YearnAdapter__factory.js +497 -0
- package/lib/types/factories/YearnMock__factory.d.ts +56 -0
- package/lib/types/factories/YearnMock__factory.js +598 -0
- package/lib/types/factories/YearnPriceFeed__factory.d.ts +56 -0
- package/lib/types/factories/YearnPriceFeed__factory.js +350 -0
- package/lib/types/hardhat.d.ts +343 -0
- package/lib/types/index.d.ts +152 -0
- package/lib/types/index.js +156 -0
- package/lib/utils/events.d.ts +2 -0
- package/lib/utils/events.js +13 -0
- package/lib/utils/formatter.d.ts +13 -0
- package/lib/utils/formatter.js +125 -0
- package/lib/utils/loading.d.ts +1 -0
- package/lib/utils/loading.js +17 -0
- package/lib/utils/math.d.ts +6 -0
- package/lib/utils/math.js +44 -0
- package/lib/utils/multicall.d.ts +15 -0
- package/lib/utils/multicall.js +84 -0
- package/lib/utils/repeater.d.ts +1 -0
- package/lib/utils/repeater.js +72 -0
- package/lib/utils/validate.d.ts +1 -0
- package/lib/utils/validate.js +13 -0
- package/package.json +27 -0
- package/src/abi/adapters/YearnV2.sol/YearnAdapter.dbg.json +4 -0
- package/src/abi/adapters/YearnV2.sol/YearnAdapter.json +455 -0
- package/src/abi/core/ACL.sol/ACL.dbg.json +4 -0
- package/src/abi/core/ACL.sol/ACL.json +262 -0
- package/src/abi/core/ACLTrait.sol/ACLTrait.dbg.json +4 -0
- package/src/abi/core/ACLTrait.sol/ACLTrait.json +64 -0
- package/src/abi/core/AccountMining.sol/AccountMining.dbg.json +4 -0
- package/src/abi/core/AccountMining.sol/AccountMining.json +150 -0
- package/src/abi/core/AddressProvider.sol/AddressProvider.dbg.json +4 -0
- package/src/abi/core/AddressProvider.sol/AddressProvider.json +496 -0
- package/src/abi/core/ContractsRegister.sol/ContractsRegister.dbg.json +4 -0
- package/src/abi/core/ContractsRegister.sol/ContractsRegister.json +255 -0
- package/src/abi/credit/LeverageActions.sol/LeveragedActions.dbg.json +4 -0
- package/src/abi/credit/LeverageActions.sol/LeveragedActions.json +514 -0
- package/src/abi/deployer/AdaptersDeployer.sol/AdaptersDeployer.dbg.json +4 -0
- package/src/abi/deployer/AdaptersDeployer.sol/AdaptersDeployer.json +160 -0
- package/src/abi/deployer/GenesisDeployer.sol/GenesisDeployer.dbg.json +4 -0
- package/src/abi/deployer/GenesisDeployer.sol/GenesisDeployer.json +189 -0
- package/src/abi/deployer/PoolDeployer.sol/PoolDeployer.dbg.json +4 -0
- package/src/abi/deployer/PoolDeployer.sol/PoolDeployer.json +215 -0
- package/src/abi/fuzzing/FuzzHarness.sol/FuzzHarness.dbg.json +4 -0
- package/src/abi/fuzzing/FuzzHarness.sol/FuzzHarness.json +50 -0
- package/src/abi/integrations/yearn/IYVault.sol/IYVault.dbg.json +4 -0
- package/src/abi/integrations/yearn/IYVault.sol/IYVault.json +400 -0
- package/src/abi/interfaces/IGearToken.sol/IGearToken.dbg.json +4 -0
- package/src/abi/interfaces/IGearToken.sol/IGearToken.json +331 -0
- package/src/abi/interfaces/IMerkleDistributor.sol/IMerkleDistributor.dbg.json +4 -0
- package/src/abi/interfaces/IMerkleDistributor.sol/IMerkleDistributor.json +98 -0
- package/src/abi/mocks/core/ACLTraitTest.sol/ACLTraitTest.dbg.json +4 -0
- package/src/abi/mocks/core/ACLTraitTest.sol/ACLTraitTest.json +96 -0
- package/src/abi/mocks/credit/ExecutorMock.sol/ExecutorMock.dbg.json +4 -0
- package/src/abi/mocks/credit/ExecutorMock.sol/ExecutorMock.json +61 -0
- package/src/abi/mocks/integrations/CurveMock.sol/CurveMock.dbg.json +4 -0
- package/src/abi/mocks/integrations/CurveMock.sol/CurveMock.json +168 -0
- package/src/abi/mocks/integrations/YearnMock.sol/YearnMock.dbg.json +4 -0
- package/src/abi/mocks/integrations/YearnMock.sol/YearnMock.json +556 -0
- package/src/abi/mocks/oracles/ChainlinkPriceFeedMock.sol/ChainlinkPriceFeedMock.dbg.json +4 -0
- package/src/abi/mocks/oracles/ChainlinkPriceFeedMock.sol/ChainlinkPriceFeedMock.json +151 -0
- package/src/abi/mocks/pool/CreditManagerMockForPoolTest.sol/CreditManagerMockForPoolTest.dbg.json +4 -0
- package/src/abi/mocks/pool/CreditManagerMockForPoolTest.sol/CreditManagerMockForPoolTest.json +89 -0
- package/src/abi/mocks/tokens/ERC20Blocking.sol/ERC20BlockingMock.dbg.json +4 -0
- package/src/abi/mocks/tokens/ERC20Blocking.sol/ERC20BlockingMock.json +387 -0
- package/src/abi/mocks/tokens/ERC20Fee.sol/TokenFeeMock.dbg.json +4 -0
- package/src/abi/mocks/tokens/ERC20Fee.sol/TokenFeeMock.json +385 -0
- package/src/abi/oracles/YearnPriceFeed.sol/YearnPriceFeed.dbg.json +4 -0
- package/src/abi/oracles/YearnPriceFeed.sol/YearnPriceFeed.json +321 -0
- package/src/abi/support/PathFinder.sol/PathFinder.dbg.json +4 -0
- package/src/abi/support/PathFinder.sol/PathFinder.json +189 -0
- package/src/abi/tokens/GearNFT.sol/GearBeta.dbg.json +4 -0
- package/src/abi/tokens/GearNFT.sol/GearBeta.json +485 -0
- package/src/abi/tokens/TokenDistributor.sol/TokenDistributor.dbg.json +4 -0
- package/src/abi/tokens/TokenDistributor.sol/TokenDistributor.json +439 -0
- package/src/abi/tokens/Vesting.sol/StepVesting.dbg.json +4 -0
- package/src/abi/tokens/Vesting.sol/StepVesting.json +254 -0
- package/src/config.ts +1 -0
- package/src/core/constants.ts +44 -0
- package/src/core/contracts.ts +151 -0
- package/src/core/contractsRegister.ts +51 -0
- package/src/core/creditAccount.ts +105 -0
- package/src/core/creditCard.ts +15 -0
- package/src/core/creditManager.ts +171 -0
- package/src/core/creditOperation.ts +9 -0
- package/src/core/creditSession.ts +67 -0
- package/src/core/errors.ts +45 -0
- package/src/core/eventOrTx.ts +94 -0
- package/src/core/events.ts +1167 -0
- package/src/core/history.ts +55 -0
- package/src/core/operations.ts +35 -0
- package/src/core/oracles.ts +7 -0
- package/src/core/pool.ts +60 -0
- package/src/core/swap.ts +4 -0
- package/src/core/token.ts +275 -0
- package/src/core/tokenData.ts +84 -0
- package/src/core/tokenDistributor.ts +14 -0
- package/src/core/trade.ts +83 -0
- package/src/core/transactions.ts +407 -0
- package/src/index.ts +42 -0
- package/src/payload/creditAccount.ts +29 -0
- package/src/payload/creditManager.ts +46 -0
- package/src/payload/creditSession.ts +24 -0
- package/src/payload/graphPayload.ts +10 -0
- package/src/payload/pool.ts +20 -0
- package/src/payload/token.ts +5 -0
- package/src/types/ACL.d.ts +491 -0
- package/src/types/ACLTrait.d.ts +148 -0
- package/src/types/ACLTraitTest.d.ts +209 -0
- package/src/types/AccountFactory.d.ts +716 -0
- package/src/types/AccountMining.d.ts +222 -0
- package/src/types/AddressProvider.d.ts +912 -0
- package/src/types/AggregatorV3Interface.d.ts +234 -0
- package/src/types/ChainlinkPriceFeedMock.d.ts +215 -0
- package/src/types/ContractsRegister.d.ts +398 -0
- package/src/types/CreditAccount.d.ts +443 -0
- package/src/types/CreditFilter.d.ts +1609 -0
- package/src/types/CreditFilterMock.d.ts +1687 -0
- package/src/types/CreditManager.d.ts +1285 -0
- package/src/types/CreditManagerMockForFilter.d.ts +605 -0
- package/src/types/CreditManagerMockForPoolTest.d.ts +204 -0
- package/src/types/CurveMock.d.ts +298 -0
- package/src/types/CurveV1Adapter.d.ts +349 -0
- package/src/types/DataCompressor.d.ts +1331 -0
- package/src/types/DieselToken.d.ts +567 -0
- package/src/types/ERC165.d.ts +116 -0
- package/src/types/ERC20.d.ts +411 -0
- package/src/types/ERC20BlockingMock.d.ts +568 -0
- package/src/types/ERC721.d.ts +625 -0
- package/src/types/Errors.d.ts +1854 -0
- package/src/types/ExecutorMock.d.ts +140 -0
- package/src/types/FlashLoanAttacker.d.ts +170 -0
- package/src/types/FuzzHarness.d.ts +124 -0
- package/src/types/GearBeta.d.ts +745 -0
- package/src/types/GearToken.d.ts +888 -0
- package/src/types/IAccountFactory.d.ts +317 -0
- package/src/types/IAccountMiner.d.ts +124 -0
- package/src/types/IAppAddressProvider.d.ts +198 -0
- package/src/types/IAppCreditManager.d.ts +408 -0
- package/src/types/IAppERC20.d.ts +309 -0
- package/src/types/IAppPoolService.d.ts +166 -0
- package/src/types/ICreditAccount.d.ts +430 -0
- package/src/types/ICreditFilter.d.ts +1162 -0
- package/src/types/ICreditManager.d.ts +971 -0
- package/src/types/ICurvePool.d.ts +298 -0
- package/src/types/IDataCompressor.d.ts +1231 -0
- package/src/types/IERC165.d.ts +116 -0
- package/src/types/IERC20.d.ts +294 -0
- package/src/types/IERC721.d.ts +472 -0
- package/src/types/IERC721Enumerable.d.ts +564 -0
- package/src/types/IERC721Metadata.d.ts +523 -0
- package/src/types/IERC721Receiver.d.ts +132 -0
- package/src/types/IGearToken.d.ts +527 -0
- package/src/types/IInterestRateModel.d.ts +121 -0
- package/src/types/IMerkleDistributor.d.ts +190 -0
- package/src/types/IPoolService.d.ts +772 -0
- package/src/types/IPriceOracle.d.ts +211 -0
- package/src/types/IQuoter.d.ts +269 -0
- package/src/types/ISwapRouter.d.ts +404 -0
- package/src/types/IUniswapV2Migrator.d.ts +134 -0
- package/src/types/IUniswapV2Router01.d.ts +1119 -0
- package/src/types/IUniswapV2Router02.d.ts +1432 -0
- package/src/types/IUniswapV3SwapCallback.d.ts +127 -0
- package/src/types/IWETH.d.ts +169 -0
- package/src/types/IWETHGateway.d.ts +335 -0
- package/src/types/IYVault.d.ts +558 -0
- package/src/types/LeveragedActions.d.ts +772 -0
- package/src/types/LinearInterestRateModel.d.ts +279 -0
- package/src/types/MockPoolService.d.ts +1271 -0
- package/src/types/Multicall2.d.ts +449 -0
- package/src/types/Ownable.d.ts +169 -0
- package/src/types/PathFinder.d.ts +379 -0
- package/src/types/Pausable.d.ts +105 -0
- package/src/types/PercentageMathTest.d.ts +154 -0
- package/src/types/PoolService.d.ts +1174 -0
- package/src/types/PriceOracle.d.ts +387 -0
- package/src/types/StepVesting.d.ts +411 -0
- package/src/types/TestPoolService.d.ts +1294 -0
- package/src/types/TokenDistributor.d.ts +640 -0
- package/src/types/TokenFeeMock.d.ts +544 -0
- package/src/types/TokenMock.d.ts +531 -0
- package/src/types/TreasuryMock.d.ts +86 -0
- package/src/types/UniswapRouterMock.d.ts +1520 -0
- package/src/types/UniswapV2Adapter.d.ts +1463 -0
- package/src/types/UniswapV3Adapter.d.ts +455 -0
- package/src/types/WETHGateway.d.ts +376 -0
- package/src/types/WETHMock.d.ts +433 -0
- package/src/types/WadRayMathTest.d.ts +316 -0
- package/src/types/YearnAdapter.d.ts +609 -0
- package/src/types/YearnMock.d.ts +795 -0
- package/src/types/YearnPriceFeed.d.ts +399 -0
- package/src/types/commons.d.ts +16 -0
- package/src/types/commons.js +5 -0
- package/src/types/commons.ts +37 -0
- package/src/types/factories/ACLTraitTest__factory.ts +137 -0
- package/src/types/factories/ACLTrait__factory.ts +76 -0
- package/src/types/factories/ACL__factory.ts +308 -0
- package/src/types/factories/AccountFactory__factory.ts +510 -0
- package/src/types/factories/AccountMining__factory.ts +214 -0
- package/src/types/factories/AddressProvider__factory.ts +579 -0
- package/src/types/factories/AggregatorV3Interface__factory.ts +141 -0
- package/src/types/factories/ChainlinkPriceFeedMock__factory.ts +209 -0
- package/src/types/factories/ContractsRegister__factory.ts +312 -0
- package/src/types/factories/CreditAccount__factory.ts +256 -0
- package/src/types/factories/CreditFilterMock__factory.ts +1092 -0
- package/src/types/factories/CreditFilter__factory.ts +1053 -0
- package/src/types/factories/CreditManagerMockForFilter__factory.ts +325 -0
- package/src/types/factories/CreditManagerMockForPoolTest__factory.ts +137 -0
- package/src/types/factories/CreditManager__factory.ts +1063 -0
- package/src/types/factories/CurveMock__factory.ts +206 -0
- package/src/types/factories/CurveV1Adapter__factory.ts +263 -0
- package/src/types/factories/DataCompressor__factory.ts +946 -0
- package/src/types/factories/DieselToken__factory.ts +449 -0
- package/src/types/factories/ERC165__factory.ts +39 -0
- package/src/types/factories/ERC20BlockingMock__factory.ts +434 -0
- package/src/types/factories/ERC20__factory.ts +334 -0
- package/src/types/factories/ERC721__factory.ts +463 -0
- package/src/types/factories/Errors__factory.ts +1006 -0
- package/src/types/factories/ExecutorMock__factory.ts +97 -0
- package/src/types/factories/FlashLoanAttacker__factory.ts +119 -0
- package/src/types/factories/FuzzHarness__factory.ts +94 -0
- package/src/types/factories/GearBeta__factory.ts +521 -0
- package/src/types/factories/GearToken__factory.ts +704 -0
- package/src/types/factories/IAccountFactory__factory.ts +230 -0
- package/src/types/factories/IAccountMiner__factory.ts +49 -0
- package/src/types/factories/IAppAddressProvider__factory.ts +104 -0
- package/src/types/factories/IAppCreditManager__factory.ts +208 -0
- package/src/types/factories/IAppERC20__factory.ts +195 -0
- package/src/types/factories/IAppPoolService__factory.ts +73 -0
- package/src/types/factories/ICreditAccount__factory.ts +222 -0
- package/src/types/factories/ICreditFilter__factory.ts +701 -0
- package/src/types/factories/ICreditManager__factory.ts +724 -0
- package/src/types/factories/ICurvePool__factory.ts +169 -0
- package/src/types/factories/IDataCompressor__factory.ts +830 -0
- package/src/types/factories/IERC165__factory.ts +42 -0
- package/src/types/factories/IERC20__factory.ts +203 -0
- package/src/types/factories/IERC721Enumerable__factory.ts +367 -0
- package/src/types/factories/IERC721Metadata__factory.ts +356 -0
- package/src/types/factories/IERC721Receiver__factory.ts +60 -0
- package/src/types/factories/IERC721__factory.ts +308 -0
- package/src/types/factories/IGearToken__factory.ts +343 -0
- package/src/types/factories/IInterestRateModel__factory.ts +50 -0
- package/src/types/factories/IMerkleDistributor__factory.ts +113 -0
- package/src/types/factories/IPoolService__factory.ts +581 -0
- package/src/types/factories/IPriceOracle__factory.ts +113 -0
- package/src/types/factories/IQuoter__factory.ts +149 -0
- package/src/types/factories/ISwapRouter__factory.ts +237 -0
- package/src/types/factories/IUniswapV2Migrator__factory.ts +59 -0
- package/src/types/factories/IUniswapV2Router01__factory.ts +775 -0
- package/src/types/factories/IUniswapV2Router02__factory.ts +977 -0
- package/src/types/factories/IUniswapV3SwapCallback__factory.ts +53 -0
- package/src/types/factories/IWETHGateway__factory.ts +151 -0
- package/src/types/factories/IWETH__factory.ts +64 -0
- package/src/types/factories/IYVault__factory.ts +412 -0
- package/src/types/factories/LeveragedActions__factory.ts +571 -0
- package/src/types/factories/LinearInterestRateModel__factory.ts +237 -0
- package/src/types/factories/MockPoolService__factory.ts +891 -0
- package/src/types/factories/Multicall2__factory.ts +358 -0
- package/src/types/factories/Ownable__factory.ts +75 -0
- package/src/types/factories/PathFinder__factory.ts +301 -0
- package/src/types/factories/Pausable__factory.ts +62 -0
- package/src/types/factories/PercentageMathTest__factory.ts +98 -0
- package/src/types/factories/PoolService__factory.ts +898 -0
- package/src/types/factories/PriceOracle__factory.ts +289 -0
- package/src/types/factories/StepVesting__factory.ts +290 -0
- package/src/types/factories/TestPoolService__factory.ts +960 -0
- package/src/types/factories/TokenDistributor__factory.ts +483 -0
- package/src/types/factories/TokenFeeMock__factory.ts +439 -0
- package/src/types/factories/TokenMock__factory.ts +407 -0
- package/src/types/factories/TreasuryMock__factory.ts +64 -0
- package/src/types/factories/UniswapRouterMock__factory.ts +1043 -0
- package/src/types/factories/UniswapV2Adapter__factory.ts +1064 -0
- package/src/types/factories/UniswapV3Adapter__factory.ts +327 -0
- package/src/types/factories/WETHGateway__factory.ts +240 -0
- package/src/types/factories/WETHMock__factory.ts +349 -0
- package/src/types/factories/WadRayMathTest__factory.ts +236 -0
- package/src/types/factories/YearnAdapter__factory.ts +499 -0
- package/src/types/factories/YearnMock__factory.ts +594 -0
- package/src/types/factories/YearnPriceFeed__factory.ts +378 -0
- package/src/types/hardhat.d.ts +343 -0
- package/src/types/index.d.ts +174 -0
- package/src/types/index.js +178 -0
- package/src/types/index.ts +156 -0
- package/src/utils/events.ts +10 -0
- package/src/utils/formatter.ts +138 -0
- package/src/utils/loading.ts +9 -0
- package/src/utils/math.ts +42 -0
- package/src/utils/multicall.ts +54 -0
- package/src/utils/repeater.ts +18 -0
- package/src/utils/validate.ts +8 -0
- package/tsconfig.json +62 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "LeveragedActions",
|
|
4
|
+
"sourceName": "contracts/credit/LeverageActions.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "_addressProvider",
|
|
11
|
+
"type": "address"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"stateMutability": "nonpayable",
|
|
15
|
+
"type": "constructor"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"anonymous": false,
|
|
19
|
+
"inputs": [
|
|
20
|
+
{
|
|
21
|
+
"indexed": true,
|
|
22
|
+
"internalType": "address",
|
|
23
|
+
"name": "tokenIn",
|
|
24
|
+
"type": "address"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"indexed": true,
|
|
28
|
+
"internalType": "address",
|
|
29
|
+
"name": "collateral",
|
|
30
|
+
"type": "address"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"indexed": true,
|
|
34
|
+
"internalType": "address",
|
|
35
|
+
"name": "asset",
|
|
36
|
+
"type": "address"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"indexed": false,
|
|
40
|
+
"internalType": "uint256",
|
|
41
|
+
"name": "amountIn",
|
|
42
|
+
"type": "uint256"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"indexed": false,
|
|
46
|
+
"internalType": "address",
|
|
47
|
+
"name": "shortSwapContract",
|
|
48
|
+
"type": "address"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"indexed": false,
|
|
52
|
+
"internalType": "address",
|
|
53
|
+
"name": "longSwapContract",
|
|
54
|
+
"type": "address"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"indexed": false,
|
|
58
|
+
"internalType": "address",
|
|
59
|
+
"name": "lpContract",
|
|
60
|
+
"type": "address"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"indexed": false,
|
|
64
|
+
"internalType": "uint256",
|
|
65
|
+
"name": "referralCode",
|
|
66
|
+
"type": "uint256"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"name": "Action",
|
|
70
|
+
"type": "event"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"inputs": [],
|
|
74
|
+
"name": "contractsRegister",
|
|
75
|
+
"outputs": [
|
|
76
|
+
{
|
|
77
|
+
"internalType": "contract ContractsRegister",
|
|
78
|
+
"name": "",
|
|
79
|
+
"type": "address"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"stateMutability": "view",
|
|
83
|
+
"type": "function"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"inputs": [
|
|
87
|
+
{
|
|
88
|
+
"internalType": "address",
|
|
89
|
+
"name": "creditManager",
|
|
90
|
+
"type": "address"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"name": "isTransferAllowed",
|
|
94
|
+
"outputs": [
|
|
95
|
+
{
|
|
96
|
+
"internalType": "bool",
|
|
97
|
+
"name": "",
|
|
98
|
+
"type": "bool"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"stateMutability": "view",
|
|
102
|
+
"type": "function"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"inputs": [
|
|
106
|
+
{
|
|
107
|
+
"internalType": "address",
|
|
108
|
+
"name": "creditManager",
|
|
109
|
+
"type": "address"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"internalType": "uint256",
|
|
113
|
+
"name": "leverageFactor",
|
|
114
|
+
"type": "uint256"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"internalType": "uint256",
|
|
118
|
+
"name": "amountIn",
|
|
119
|
+
"type": "uint256"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"internalType": "uint256",
|
|
123
|
+
"name": "lpInterface",
|
|
124
|
+
"type": "uint256"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"internalType": "address",
|
|
128
|
+
"name": "lpContract",
|
|
129
|
+
"type": "address"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"internalType": "uint256",
|
|
133
|
+
"name": "amountOutMin",
|
|
134
|
+
"type": "uint256"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"internalType": "uint256",
|
|
138
|
+
"name": "referralCode",
|
|
139
|
+
"type": "uint256"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"name": "openLP",
|
|
143
|
+
"outputs": [],
|
|
144
|
+
"stateMutability": "payable",
|
|
145
|
+
"type": "function"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"internalType": "uint256",
|
|
151
|
+
"name": "amountIn",
|
|
152
|
+
"type": "uint256"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"components": [
|
|
156
|
+
{
|
|
157
|
+
"internalType": "address",
|
|
158
|
+
"name": "creditManager",
|
|
159
|
+
"type": "address"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"internalType": "uint256",
|
|
163
|
+
"name": "leverageFactor",
|
|
164
|
+
"type": "uint256"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"internalType": "uint256",
|
|
168
|
+
"name": "swapInterface",
|
|
169
|
+
"type": "uint256"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"internalType": "address",
|
|
173
|
+
"name": "swapContract",
|
|
174
|
+
"type": "address"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"internalType": "bytes",
|
|
178
|
+
"name": "swapCalldata",
|
|
179
|
+
"type": "bytes"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"internalType": "uint256",
|
|
183
|
+
"name": "lpInterface",
|
|
184
|
+
"type": "uint256"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"internalType": "address",
|
|
188
|
+
"name": "lpContract",
|
|
189
|
+
"type": "address"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"internalType": "uint256",
|
|
193
|
+
"name": "amountOutMin",
|
|
194
|
+
"type": "uint256"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"internalType": "struct LeveragedActions.LongParameters",
|
|
198
|
+
"name": "longParams",
|
|
199
|
+
"type": "tuple"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"internalType": "uint256",
|
|
203
|
+
"name": "referralCode",
|
|
204
|
+
"type": "uint256"
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"name": "openLong",
|
|
208
|
+
"outputs": [],
|
|
209
|
+
"stateMutability": "payable",
|
|
210
|
+
"type": "function"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"inputs": [
|
|
214
|
+
{
|
|
215
|
+
"internalType": "address",
|
|
216
|
+
"name": "curvePool",
|
|
217
|
+
"type": "address"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"internalType": "int128",
|
|
221
|
+
"name": "i",
|
|
222
|
+
"type": "int128"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"internalType": "int128",
|
|
226
|
+
"name": "j",
|
|
227
|
+
"type": "int128"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"internalType": "uint256",
|
|
231
|
+
"name": "amountIn",
|
|
232
|
+
"type": "uint256"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"internalType": "uint256",
|
|
236
|
+
"name": "amountOutMin",
|
|
237
|
+
"type": "uint256"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"components": [
|
|
241
|
+
{
|
|
242
|
+
"internalType": "address",
|
|
243
|
+
"name": "creditManager",
|
|
244
|
+
"type": "address"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"internalType": "uint256",
|
|
248
|
+
"name": "leverageFactor",
|
|
249
|
+
"type": "uint256"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"internalType": "uint256",
|
|
253
|
+
"name": "swapInterface",
|
|
254
|
+
"type": "uint256"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"internalType": "address",
|
|
258
|
+
"name": "swapContract",
|
|
259
|
+
"type": "address"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"internalType": "bytes",
|
|
263
|
+
"name": "swapCalldata",
|
|
264
|
+
"type": "bytes"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"internalType": "uint256",
|
|
268
|
+
"name": "lpInterface",
|
|
269
|
+
"type": "uint256"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"internalType": "address",
|
|
273
|
+
"name": "lpContract",
|
|
274
|
+
"type": "address"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"internalType": "uint256",
|
|
278
|
+
"name": "amountOutMin",
|
|
279
|
+
"type": "uint256"
|
|
280
|
+
}
|
|
281
|
+
],
|
|
282
|
+
"internalType": "struct LeveragedActions.LongParameters",
|
|
283
|
+
"name": "longParams",
|
|
284
|
+
"type": "tuple"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"internalType": "uint256",
|
|
288
|
+
"name": "referralCode",
|
|
289
|
+
"type": "uint256"
|
|
290
|
+
}
|
|
291
|
+
],
|
|
292
|
+
"name": "openShortCurve",
|
|
293
|
+
"outputs": [],
|
|
294
|
+
"stateMutability": "payable",
|
|
295
|
+
"type": "function"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"inputs": [
|
|
299
|
+
{
|
|
300
|
+
"internalType": "address",
|
|
301
|
+
"name": "router",
|
|
302
|
+
"type": "address"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"internalType": "uint256",
|
|
306
|
+
"name": "amountIn",
|
|
307
|
+
"type": "uint256"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"internalType": "uint256",
|
|
311
|
+
"name": "amountOutMin",
|
|
312
|
+
"type": "uint256"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"internalType": "address[]",
|
|
316
|
+
"name": "path",
|
|
317
|
+
"type": "address[]"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"internalType": "uint256",
|
|
321
|
+
"name": "deadline",
|
|
322
|
+
"type": "uint256"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"components": [
|
|
326
|
+
{
|
|
327
|
+
"internalType": "address",
|
|
328
|
+
"name": "creditManager",
|
|
329
|
+
"type": "address"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"internalType": "uint256",
|
|
333
|
+
"name": "leverageFactor",
|
|
334
|
+
"type": "uint256"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"internalType": "uint256",
|
|
338
|
+
"name": "swapInterface",
|
|
339
|
+
"type": "uint256"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"internalType": "address",
|
|
343
|
+
"name": "swapContract",
|
|
344
|
+
"type": "address"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"internalType": "bytes",
|
|
348
|
+
"name": "swapCalldata",
|
|
349
|
+
"type": "bytes"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"internalType": "uint256",
|
|
353
|
+
"name": "lpInterface",
|
|
354
|
+
"type": "uint256"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"internalType": "address",
|
|
358
|
+
"name": "lpContract",
|
|
359
|
+
"type": "address"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"internalType": "uint256",
|
|
363
|
+
"name": "amountOutMin",
|
|
364
|
+
"type": "uint256"
|
|
365
|
+
}
|
|
366
|
+
],
|
|
367
|
+
"internalType": "struct LeveragedActions.LongParameters",
|
|
368
|
+
"name": "longParams",
|
|
369
|
+
"type": "tuple"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"internalType": "uint256",
|
|
373
|
+
"name": "referralCode",
|
|
374
|
+
"type": "uint256"
|
|
375
|
+
}
|
|
376
|
+
],
|
|
377
|
+
"name": "openShortUniV2",
|
|
378
|
+
"outputs": [],
|
|
379
|
+
"stateMutability": "payable",
|
|
380
|
+
"type": "function"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"inputs": [
|
|
384
|
+
{
|
|
385
|
+
"internalType": "address",
|
|
386
|
+
"name": "router",
|
|
387
|
+
"type": "address"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"components": [
|
|
391
|
+
{
|
|
392
|
+
"internalType": "bytes",
|
|
393
|
+
"name": "path",
|
|
394
|
+
"type": "bytes"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"internalType": "address",
|
|
398
|
+
"name": "recipient",
|
|
399
|
+
"type": "address"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"internalType": "uint256",
|
|
403
|
+
"name": "deadline",
|
|
404
|
+
"type": "uint256"
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"internalType": "uint256",
|
|
408
|
+
"name": "amountIn",
|
|
409
|
+
"type": "uint256"
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"internalType": "uint256",
|
|
413
|
+
"name": "amountOutMinimum",
|
|
414
|
+
"type": "uint256"
|
|
415
|
+
}
|
|
416
|
+
],
|
|
417
|
+
"internalType": "struct ISwapRouter.ExactInputParams",
|
|
418
|
+
"name": "paramsV3",
|
|
419
|
+
"type": "tuple"
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"components": [
|
|
423
|
+
{
|
|
424
|
+
"internalType": "address",
|
|
425
|
+
"name": "creditManager",
|
|
426
|
+
"type": "address"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"internalType": "uint256",
|
|
430
|
+
"name": "leverageFactor",
|
|
431
|
+
"type": "uint256"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"internalType": "uint256",
|
|
435
|
+
"name": "swapInterface",
|
|
436
|
+
"type": "uint256"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"internalType": "address",
|
|
440
|
+
"name": "swapContract",
|
|
441
|
+
"type": "address"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"internalType": "bytes",
|
|
445
|
+
"name": "swapCalldata",
|
|
446
|
+
"type": "bytes"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"internalType": "uint256",
|
|
450
|
+
"name": "lpInterface",
|
|
451
|
+
"type": "uint256"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"internalType": "address",
|
|
455
|
+
"name": "lpContract",
|
|
456
|
+
"type": "address"
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"internalType": "uint256",
|
|
460
|
+
"name": "amountOutMin",
|
|
461
|
+
"type": "uint256"
|
|
462
|
+
}
|
|
463
|
+
],
|
|
464
|
+
"internalType": "struct LeveragedActions.LongParameters",
|
|
465
|
+
"name": "longParams",
|
|
466
|
+
"type": "tuple"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"internalType": "uint256",
|
|
470
|
+
"name": "referralCode",
|
|
471
|
+
"type": "uint256"
|
|
472
|
+
}
|
|
473
|
+
],
|
|
474
|
+
"name": "openShortUniV3",
|
|
475
|
+
"outputs": [],
|
|
476
|
+
"stateMutability": "payable",
|
|
477
|
+
"type": "function"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"inputs": [],
|
|
481
|
+
"name": "wethGateway",
|
|
482
|
+
"outputs": [
|
|
483
|
+
{
|
|
484
|
+
"internalType": "contract IWETHGateway",
|
|
485
|
+
"name": "",
|
|
486
|
+
"type": "address"
|
|
487
|
+
}
|
|
488
|
+
],
|
|
489
|
+
"stateMutability": "view",
|
|
490
|
+
"type": "function"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"inputs": [],
|
|
494
|
+
"name": "wethToken",
|
|
495
|
+
"outputs": [
|
|
496
|
+
{
|
|
497
|
+
"internalType": "address",
|
|
498
|
+
"name": "",
|
|
499
|
+
"type": "address"
|
|
500
|
+
}
|
|
501
|
+
],
|
|
502
|
+
"stateMutability": "view",
|
|
503
|
+
"type": "function"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"stateMutability": "payable",
|
|
507
|
+
"type": "receive"
|
|
508
|
+
}
|
|
509
|
+
],
|
|
510
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162004d8338038062004d8383398181016040528101906200003791906200034b565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600281526020017f5a3000000000000000000000000000000000000000000000000000000000000081525090620000ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000e19190620003b8565b60405180910390fd5b5060008190508073ffffffffffffffffffffffffffffffffffffffff1663c513c9bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200013757600080fd5b505afa1580156200014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017291906200034b565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff166377532ed96040518163ffffffff1660e01b815260040160206040518083038186803b158015620001ef57600080fd5b505afa15801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a91906200034b565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16634c252f916040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b157600080fd5b505afa158015620002c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ec91906200034b565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506200048d565b600081519050620003458162000473565b92915050565b6000602082840312156200035e57600080fd5b60006200036e8482850162000334565b91505092915050565b60006200038482620003dc565b620003908185620003e7565b9350620003a28185602086016200042c565b620003ad8162000462565b840191505092915050565b60006020820190508181036000830152620003d4818462000377565b905092915050565b600081519050919050565b600082825260208201905092915050565b600062000405826200040c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b838110156200044c5780820151818401526020810190506200042f565b838111156200045c576000848401525b50505050565b6000601f19601f8301169050919050565b6200047e81620003f8565b81146200048a57600080fd5b50565b60805160601c6148ce620004b560003980610ac55280610c005280611bc952506148ce6000f3fe60806040526004361061008a5760003560e01c80637a0c7b21116100595780637a0c7b21146101155780638822048e14610140578063961126761461017d578063a9f59b7114610199578063c5e10eef146101b557610091565b80631505ddd3146100965780633e04dcb5146100b25780634b57b0be146100ce578063601ee770146100f957610091565b3661009157005b600080fd5b6100b060048036038101906100ab9190613aa8565b6101e0565b005b6100cc60048036038101906100c79190613e07565b610487565b005b3480156100da57600080fd5b506100e3610795565b6040516100f091906140f1565b60405180910390f35b610113600480360381019061010e9190613b3b565b6107bb565b005b34801561012157600080fd5b5061012a610ac3565b6040516101379190614194565b60405180910390f35b34801561014c57600080fd5b50610167600480360381019061016291906139a0565b610ae7565b6040516101749190614179565b60405180910390f35b61019760048036038101906101929190613c09565b610bfd565b005b6101b360048036038101906101ae91906139f2565b61126e565b005b3480156101c157600080fd5b506101ca6115ee565b6040516101d791906141af565b60405180910390f35b60026000541415610259576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061027691906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b1580156102bb57600080fd5b505afa1580156102cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f391906139c9565b90506000806103058660000151611614565b915091508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f4c41360000000000000000000000000000000000000000000000000000000000815250906103af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a6919061420f565b60405180910390fd5b5030866020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600063c04b8d5960e01b876040516024016104039190614231565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506104758884896060015187858b8b6116cf565b50505050600160008190555050505050565b60026000541415610500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061051d91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b15801561056257600080fd5b505afa158015610576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059a91906139c9565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105d7919061410c565b60206040518083038186803b1580156105ef57600080fd5b505afa158015610603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106279190613dde565b9050610633828661191c565b60006106da6106d3838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610675919061410c565b60206040518083038186803b15801561068d57600080fd5b505afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190613dde565b611b2f90919063ffffffff16565b8686611bb2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fb709cbfc91402c021e4a8c00ac331f0d9c3617c05eb744ec9ee15eb4f2e6c2d58960008a606001602081019061075891906139a0565b8b60c001602081019061076b91906139a0565b8b60405161077d9594939291906142c1565b60405180910390a45050506001600081905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026000541415610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061085191906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b15801561089657600080fd5b505afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce91906139c9565b905060018551116040518060400160405280600281526020017f504c0000000000000000000000000000000000000000000000000000000000008152509061094c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610943919061420f565b60405180910390fd5b508073ffffffffffffffffffffffffffffffffffffffff168560018751038151811061097457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f4c4136000000000000000000000000000000000000000000000000000000000081525090610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a01919061420f565b60405180910390fd5b5060006338ed173960e01b8888883089604051602401610a2e9594939291906143ac565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050610ab08987600081518110610a9e57fe5b60200260200101518a858589896116cf565b5050600160008190555050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000808273ffffffffffffffffffffffffffffffffffffffff1663f93f515b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3057600080fd5b505afa158015610b44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b689190613d11565b90508073ffffffffffffffffffffffffffffffffffffffff16635a29be4530336040518363ffffffff1660e01b8152600401610ba5929190614150565b60206040518083038186803b158015610bbd57600080fd5b505afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190613ce8565b915050919050565b867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636fbc6f6b826040518263ffffffff1660e01b8152600401610c5791906140f1565b60206040518083038186803b158015610c6f57600080fd5b505afa158015610c83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca79190613ce8565b6040518060400160405280600281526020017f435000000000000000000000000000000000000000000000000000000000000081525090610d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d15919061420f565b60405180910390fd5b5060026000541415610d98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260008190555060008873ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b158015610de857600080fd5b505afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2091906139c9565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e5d919061410c565b60206040518083038186803b158015610e7557600080fd5b505afa158015610e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ead9190613dde565b9050610eb9828961191c565b610ec38a83612661565b8973ffffffffffffffffffffffffffffffffffffffff16635288ba4b610f7a838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f1c919061410c565b60206040518083038186803b158015610f3457600080fd5b505afa158015610f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6c9190613dde565b611b2f90919063ffffffff16565b308c886040518563ffffffff1660e01b8152600401610f9c9493929190614314565b600060405180830381600087803b158015610fb657600080fd5b505af1158015610fca573d6000803e3d6000fd5b505050506000610fdb8b898961278f565b9050858173ffffffffffffffffffffffffffffffffffffffff166370a082318d73ffffffffffffffffffffffffffffffffffffffff1663e958b704306040518263ffffffff1660e01b8152600401611033919061410c565b60206040518083038186803b15801561104b57600080fd5b505afa15801561105f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108391906139c9565b6040518263ffffffff1660e01b815260040161109f91906140f1565b60206040518083038186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ef9190613dde565b10156040518060400160405280600381526020017f4c4135000000000000000000000000000000000000000000000000000000000081525090611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f919061420f565b60405180910390fd5b508a73ffffffffffffffffffffffffffffffffffffffff16635019e20a336040518263ffffffff1660e01b81526004016111a2919061410c565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fb709cbfc91402c021e4a8c00ac331f0d9c3617c05eb744ec9ee15eb4f2e6c2d58c6000808d8c60405161125195949392919061426e565b60405180910390a450505060016000819055505050505050505050565b600260005414156112e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061130491906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b15801561134957600080fd5b505afa15801561135d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138191906139c9565b905060008873ffffffffffffffffffffffffffffffffffffffff1663c661065789600f0b6040518263ffffffff1660e01b81526004016113c19190614253565b60206040518083038186803b1580156113d957600080fd5b505afa1580156113ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141191906139c9565b905060008973ffffffffffffffffffffffffffffffffffffffff1663c661065789600f0b6040518263ffffffff1660e01b81526004016114519190614253565b60206040518083038186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a191906139c9565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f4c4136000000000000000000000000000000000000000000000000000000000081525090611549576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611540919061420f565b60405180910390fd5b506000633df0212460e01b8a8a8a8a60405160240161156b94939291906141ca565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506115d98b848a87858b8b6116cf565b50505050600160008190555050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806003601460020201835110156040518060400160405280600281526020017f504c0000000000000000000000000000000000000000000000000000000000008152509061169a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611691919061420f565b60405180910390fd5b506116af6000846128aa90919063ffffffff16565b91506116c86014845103846128aa90919063ffffffff16565b9050915091565b6116eb8260000160208101906116e591906139a0565b886129c3565b506116f6868661191c565b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611731919061410c565b60206040518083038186803b15801561174957600080fd5b505afa15801561175d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117819190613dde565b905061178d8888612661565b6117b6848973ffffffffffffffffffffffffffffffffffffffff16612b8790919063ffffffff16565b50600061185e611857838873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117f9919061410c565b60206040518083038186803b15801561181157600080fd5b505afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118499190613dde565b611b2f90919063ffffffff16565b8585611bb2565b905061186988612bd1565b8073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fb709cbfc91402c021e4a8c00ac331f0d9c3617c05eb744ec9ee15eb4f2e6c2d58a8d8960600160208101906118e491906139a0565b8a60c00160208101906118f791906139a0565b8a604051611909959493929190614359565b60405180910390a4505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119795750600034115b15611a81578034146040518060400160405280600381526020017f4c41310000000000000000000000000000000000000000000000000000000000815250906119f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ef919061420f565b60405180910390fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a6357600080fd5b505af1158015611a77573d6000803e3d6000fd5b5050505050611b2b565b600034146040518060400160405280600381526020017f4c4132000000000000000000000000000000000000000000000000000000000081525090611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af3919061420f565b60405180910390fd5b50611b2a3330838573ffffffffffffffffffffffffffffffffffffffff16612da9909392919063ffffffff16565b5b5050565b600082821115611ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6000826000016020810190611bc791906139a0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636fbc6f6b826040518263ffffffff1660e01b8152600401611c2091906140f1565b60206040518083038186803b158015611c3857600080fd5b505afa158015611c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c709190613ce8565b6040518060400160405280600281526020017f435000000000000000000000000000000000000000000000000000000000000081525090611ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cde919061420f565b60405180910390fd5b506000846000016020810190611cfd91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b158015611d4257600080fd5b505afa158015611d56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7a91906139c9565b9050611d98856000016020810190611d9291906139a0565b82612661565b846000016020810190611dab91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16635288ba4b87308860200135886040518563ffffffff1660e01b8152600401611ded9493929190614314565b600060405180830381600087803b158015611e0757600080fd5b505af1158015611e1b573d6000803e3d6000fd5b505050506000856000016020810190611e3491906139a0565b73ffffffffffffffffffffffffffffffffffffffff1663e958b704306040518263ffffffff1660e01b8152600401611e6c919061410c565b60206040518083038186803b158015611e8457600080fd5b505afa158015611e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ebc91906139c9565b905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401611ef991906140f1565b60206040518083038186803b158015611f1157600080fd5b505afa158015611f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f499190613dde565b90506000611f7b886000016020810190611f6391906139a0565b896060016020810190611f7691906139a0565b6129c3565b9050600188604001351415612157576000806000808b8060800190611fa09190614460565b810190611fad9190613e6e565b9450509350935093506000611fdd85611fcf8987612e6a90919063ffffffff16565b612ef090919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff166338ed173988838630876040518663ffffffff1660e01b8152600401612020959493929190614406565b600060405180830381600087803b15801561203a57600080fd5b505af115801561204e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906120779190613ca7565b508873ffffffffffffffffffffffffffffffffffffffff168360008151811061209c57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600281526020017f495000000000000000000000000000000000000000000000000000000000000081525090612132576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612129919061420f565b60405180910390fd5b508260018451038151811061214357fe5b60200260200101519a505050505050612454565b60028860400135141561226a5760008880608001906121769190614460565b8101906121839190613d9d565b90506121b281606001516121a4858460800151612e6a90919063ffffffff16565b612ef090919063ffffffff16565b816080018181525050828160600181815250508173ffffffffffffffffffffffffffffffffffffffff1663c04b8d59826040518263ffffffff1660e01b81526004016121fe9190614231565b602060405180830381600087803b15801561221857600080fd5b505af115801561222c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122509190613dde565b5061225e8160000151611614565b90508097505050612453565b6003886040013514156123e0576000806000808b806080019061228d9190614460565b81019061229a9190613d3a565b93509350935093508473ffffffffffffffffffffffffffffffffffffffff16633df021248585896122e6876122d88d89612e6a90919063ffffffff16565b612ef090919063ffffffff16565b6040518563ffffffff1660e01b815260040161230594939291906141ca565b600060405180830381600087803b15801561231f57600080fd5b505af1158015612333573d6000803e3d6000fd5b505050508b606001602081019061234a91906139a0565b73ffffffffffffffffffffffffffffffffffffffff1663c661065784600f0b6040518263ffffffff1660e01b81526004016123859190614253565b60206040518083038186803b15801561239d57600080fd5b505afa1580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d591906139c9565b995050505050612452565b6040518060400160405280600381526020017f4c413300000000000000000000000000000000000000000000000000000000008152506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612449919061420f565b60405180910390fd5b5b5b600073ffffffffffffffffffffffffffffffffffffffff168860c001602081019061247f91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16146124d0576124cd8860000160208101906124b091906139a0565b8960a001358a60c00160208101906124c891906139a0565b61278f565b95505b8760e001358673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161250e91906140f1565b60206040518083038186803b15801561252657600080fd5b505afa15801561253a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255e9190613dde565b10156040518060400160405280600381526020017f4c41350000000000000000000000000000000000000000000000000000000000815250906125d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ce919061420f565b60405180910390fd5b508760000160208101906125eb91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16635019e20a336040518263ffffffff1660e01b8152600401612623919061410c565b600060405180830381600087803b15801561263d57600080fd5b505af1158015612651573d6000803e3d6000fd5b5050505050505050509392505050565b7f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016126bd929190614127565b60206040518083038186803b1580156126d557600080fd5b505afa1580156126e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270d9190613dde565b101561278b5761273f8260008373ffffffffffffffffffffffffffffffffffffffff16612f799092919063ffffffff16565b61278a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8373ffffffffffffffffffffffffffffffffffffffff16612f799092919063ffffffff16565b5b5050565b60008061279c85846129c3565b90506004841415612831578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db06040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156127ef57600080fd5b505af1158015612803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128279190613dde565b50829150506128a3565b6040518060400160405280600381526020017f4c413400000000000000000000000000000000000000000000000000000000008152506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289a919061420f565b60405180910390fd5b9392505050565b600081601483011015612925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f746f416464726573735f6f766572666c6f77000000000000000000000000000081525060200191505060405180910390fd5b601482018351101561299f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f746f416464726573735f6f75744f66426f756e6473000000000000000000000081525060200191505060405180910390fd5b60006c01000000000000000000000000836020860101510490508091505092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1663f93f515b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0c57600080fd5b505afa158015612a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a449190613d11565b905060008173ffffffffffffffffffffffffffffffffffffffff1663fdd57645856040518263ffffffff1660e01b8152600401612a8191906140f1565b60206040518083038186803b158015612a9957600080fd5b505afa158015612aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad191906139c9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600381526020017f434641000000000000000000000000000000000000000000000000000000000081525090612b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b72919061420f565b60405180910390fd5b50809250505092915050565b6060612bc983836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564000081525061313e565b905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612c0c919061410c565b60206040518083038186803b158015612c2457600080fd5b505afa158015612c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5c9190613dde565b90506000811115612da557600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d7857600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b8152600401612d189190614253565b600060405180830381600087803b158015612d3257600080fd5b505af1158015612d46573d6000803e3d6000fd5b50505050612d73813373ffffffffffffffffffffffffffffffffffffffff1661315690919063ffffffff16565b612da4565b612da333828473ffffffffffffffffffffffffffffffffffffffff166132909092919063ffffffff16565b5b5b5050565b612e64846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613332565b50505050565b600080831415612e7d5760009050612eea565b6000828402905082848281612e8e57fe5b0414612ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806148186021913960400191505060405180910390fd5b809150505b92915050565b6000808211612f67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b818381612f7057fe5b04905092915050565b6000811480613047575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561300a57600080fd5b505afa15801561301e573d6000803e3d6000fd5b505050506040513d602081101561303457600080fd5b8101908080519060200190929190505050145b61309c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806148636036913960400191505060405180910390fd5b6131398363095ea7b360e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613332565b505050565b606061314d8484600085613421565b90509392505050565b804710156131cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a20696e73756666696369656e742062616c616e636500000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d806000811461322c576040519150601f19603f3d011682016040523d82523d6000602084013e613231565b606091505b505090508061328b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806147b8603a913960400191505060405180910390fd5b505050565b61332d8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613332565b505050565b6000613394826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661313e9092919063ffffffff16565b905060008151111561341c578080602001905160208110156133b557600080fd5b810190808051906020019092919050505061341b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614839602a913960400191505060405180910390fd5b5b505050565b60608247101561347c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806147f26026913960400191505060405180910390fd5b613485856135c9565b6134f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106135465780518252602082019150602081019050602083039250613523565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146135a8576040519150601f19603f3d011682016040523d82523d6000602084013e6135ad565b606091505b50915091506135bd8282866135dc565b92505050949350505050565b600080823b905060008111915050919050565b606083156135ec578290506136a1565b6000835111156135ff5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561366657808201518184015260208101905061364b565b50505050905090810190601f1680156136935780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b60006136bb6136b6846144e8565b6144b7565b905080838252602082019050828560208602820111156136da57600080fd5b60005b8581101561370a57816136f088826137be565b8452602084019350602083019250506001810190506136dd565b5050509392505050565b600061372761372284614514565b6144b7565b9050808382526020820190508285602086028201111561374657600080fd5b60005b85811015613776578161375c888261398b565b845260208401935060208301925050600181019050613749565b5050509392505050565b600061379361378e84614540565b6144b7565b9050828152602081018484840111156137ab57600080fd5b6137b68482856146d8565b509392505050565b6000813590506137cd8161472d565b92915050565b6000815190506137e28161472d565b92915050565b6000813590506137f781614744565b92915050565b600082601f83011261380e57600080fd5b813561381e8482602086016136a8565b91505092915050565b600082601f83011261383857600080fd5b8151613848848260208601613714565b91505092915050565b6000815190506138608161475b565b92915050565b600082601f83011261387757600080fd5b8135613887848260208601613780565b91505092915050565b60008151905061389f81614772565b92915050565b6000813590506138b481614789565b92915050565b600060a082840312156138cc57600080fd5b6138d660a06144b7565b9050600082013567ffffffffffffffff8111156138f257600080fd5b6138fe84828501613866565b6000830152506020613912848285016137be565b602083015250604061392684828501613976565b604083015250606061393a84828501613976565b606083015250608061394e84828501613976565b60808301525092915050565b6000610100828403121561396d57600080fd5b81905092915050565b600081359050613985816147a0565b92915050565b60008151905061399a816147a0565b92915050565b6000602082840312156139b257600080fd5b60006139c0848285016137be565b91505092915050565b6000602082840312156139db57600080fd5b60006139e9848285016137d3565b91505092915050565b600080600080600080600060e0888a031215613a0d57600080fd5b6000613a1b8a828b016137be565b9750506020613a2c8a828b016138a5565b9650506040613a3d8a828b016138a5565b9550506060613a4e8a828b01613976565b9450506080613a5f8a828b01613976565b93505060a088013567ffffffffffffffff811115613a7c57600080fd5b613a888a828b0161395a565b92505060c0613a998a828b01613976565b91505092959891949750929550565b60008060008060808587031215613abe57600080fd5b6000613acc878288016137be565b945050602085013567ffffffffffffffff811115613ae957600080fd5b613af5878288016138ba565b935050604085013567ffffffffffffffff811115613b1257600080fd5b613b1e8782880161395a565b9250506060613b2f87828801613976565b91505092959194509250565b600080600080600080600060e0888a031215613b5657600080fd5b6000613b648a828b016137be565b9750506020613b758a828b01613976565b9650506040613b868a828b01613976565b955050606088013567ffffffffffffffff811115613ba357600080fd5b613baf8a828b016137fd565b9450506080613bc08a828b01613976565b93505060a088013567ffffffffffffffff811115613bdd57600080fd5b613be98a828b0161395a565b92505060c0613bfa8a828b01613976565b91505092959891949750929550565b600080600080600080600060e0888a031215613c2457600080fd5b6000613c328a828b016137be565b9750506020613c438a828b01613976565b9650506040613c548a828b01613976565b9550506060613c658a828b01613976565b9450506080613c768a828b016137be565b93505060a0613c878a828b01613976565b92505060c0613c988a828b01613976565b91505092959891949750929550565b600060208284031215613cb957600080fd5b600082015167ffffffffffffffff811115613cd357600080fd5b613cdf84828501613827565b91505092915050565b600060208284031215613cfa57600080fd5b6000613d0884828501613851565b91505092915050565b600060208284031215613d2357600080fd5b6000613d3184828501613890565b91505092915050565b60008060008060808587031215613d5057600080fd5b6000613d5e878288016138a5565b9450506020613d6f878288016138a5565b9350506040613d8087828801613976565b9250506060613d9187828801613976565b91505092959194509250565b600060208284031215613daf57600080fd5b600082013567ffffffffffffffff811115613dc957600080fd5b613dd5848285016138ba565b91505092915050565b600060208284031215613df057600080fd5b6000613dfe8482850161398b565b91505092915050565b600080600060608486031215613e1c57600080fd5b6000613e2a86828701613976565b935050602084013567ffffffffffffffff811115613e4757600080fd5b613e538682870161395a565b9250506040613e6486828701613976565b9150509250925092565b600080600080600060a08688031215613e8657600080fd5b6000613e9488828901613976565b9550506020613ea588828901613976565b945050604086013567ffffffffffffffff811115613ec257600080fd5b613ece888289016137fd565b9350506060613edf888289016137e8565b9250506080613ef088828901613976565b9150509295509295909350565b6000613f098383613f33565b60208301905092915050565b613f1e8161465a565b82525050565b613f2d816145f3565b82525050565b613f3c816145e1565b82525050565b613f4b816145e1565b82525050565b6000613f5c82614580565b613f6681856145ae565b9350613f7183614570565b8060005b83811015613fa2578151613f898882613efd565b9750613f94836145a1565b925050600181019050613f75565b5085935050505092915050565b613fb881614605565b82525050565b6000613fc98261458b565b613fd381856145bf565b9350613fe38185602086016146e7565b613fec8161471c565b840191505092915050565b6140008161466c565b82525050565b61400f81614690565b82525050565b61401e81614623565b82525050565b600061402f82614596565b61403981856145d0565b93506140498185602086016146e7565b6140528161471c565b840191505092915050565b600060a083016000830151848203600086015261407a8282613fbe565b915050602083015161408f6020860182613f33565b5060408301516140a260408601826140d3565b5060608301516140b560608601826140d3565b5060808301516140c860808601826140d3565b508091505092915050565b6140dc81614650565b82525050565b6140eb81614650565b82525050565b60006020820190506141066000830184613f42565b92915050565b60006020820190506141216000830184613f15565b92915050565b600060408201905061413c6000830185613f15565b6141496020830184613f42565b9392505050565b60006040820190506141656000830185613f15565b6141726020830184613f15565b9392505050565b600060208201905061418e6000830184613faf565b92915050565b60006020820190506141a96000830184613ff7565b92915050565b60006020820190506141c46000830184614006565b92915050565b60006080820190506141df6000830187614015565b6141ec6020830186614015565b6141f960408301856140e2565b61420660608301846140e2565b95945050505050565b600060208201905081810360008301526142298184614024565b905092915050565b6000602082019050818103600083015261424b818461405d565b905092915050565b600060208201905061426860008301846140e2565b92915050565b600060a08201905061428360008301886140e2565b6142906020830187613f15565b61429d6040830186613f15565b6142aa6060830185613f42565b6142b760808301846140e2565b9695505050505050565b600060a0820190506142d660008301886140e2565b6142e36020830187613f15565b6142f06040830186613f42565b6142fd6060830185613f42565b61430a60808301846140e2565b9695505050505050565b600060808201905061432960008301876140e2565b6143366020830186613f15565b61434360408301856140e2565b61435060608301846140e2565b95945050505050565b600060a08201905061436e60008301886140e2565b61437b6020830187613f42565b6143886040830186613f42565b6143956060830185613f42565b6143a260808301846140e2565b9695505050505050565b600060a0820190506143c160008301886140e2565b6143ce60208301876140e2565b81810360408301526143e08186613f51565b90506143ef6060830185613f24565b6143fc60808301846140e2565b9695505050505050565b600060a08201905061441b60008301886140e2565b61442860208301876140e2565b818103604083015261443a8186613f51565b90506144496060830185613f15565b61445660808301846140e2565b9695505050505050565b6000808335600160200384360303811261447957600080fd5b80840192508235915067ffffffffffffffff82111561449757600080fd5b6020830192506001820236038313156144af57600080fd5b509250929050565b6000604051905081810181811067ffffffffffffffff821117156144de576144dd61471a565b5b8060405250919050565b600067ffffffffffffffff8211156145035761450261471a565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561452f5761452e61471a565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561455b5761455a61471a565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006145ec82614630565b9050919050565b60006145fe82614630565b9050919050565b60008115159050919050565b600061461c826145e1565b9050919050565b600081600f0b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000614665826146b4565b9050919050565b60006146778261467e565b9050919050565b600061468982614630565b9050919050565b600061469b826146a2565b9050919050565b60006146ad82614630565b9050919050565b60006146bf826146c6565b9050919050565b60006146d182614630565b9050919050565b82818337600083830152505050565b60005b838110156147055780820151818401526020810190506146ea565b83811115614714576000848401525b50505050565bfe5b6000601f19601f8301169050919050565b614736816145e1565b811461474157600080fd5b50565b61474d816145f3565b811461475857600080fd5b50565b61476481614605565b811461476f57600080fd5b50565b61477b81614611565b811461478657600080fd5b50565b61479281614623565b811461479d57600080fd5b50565b6147a981614650565b81146147b457600080fd5b5056fe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220e22417dd1eaac410e2c37e80245849340da3290b2075389d1a1ba7325dc0b3a864736f6c63430007060033",
|
|
511
|
+
"deployedBytecode": "0x60806040526004361061008a5760003560e01c80637a0c7b21116100595780637a0c7b21146101155780638822048e14610140578063961126761461017d578063a9f59b7114610199578063c5e10eef146101b557610091565b80631505ddd3146100965780633e04dcb5146100b25780634b57b0be146100ce578063601ee770146100f957610091565b3661009157005b600080fd5b6100b060048036038101906100ab9190613aa8565b6101e0565b005b6100cc60048036038101906100c79190613e07565b610487565b005b3480156100da57600080fd5b506100e3610795565b6040516100f091906140f1565b60405180910390f35b610113600480360381019061010e9190613b3b565b6107bb565b005b34801561012157600080fd5b5061012a610ac3565b6040516101379190614194565b60405180910390f35b34801561014c57600080fd5b50610167600480360381019061016291906139a0565b610ae7565b6040516101749190614179565b60405180910390f35b61019760048036038101906101929190613c09565b610bfd565b005b6101b360048036038101906101ae91906139f2565b61126e565b005b3480156101c157600080fd5b506101ca6115ee565b6040516101d791906141af565b60405180910390f35b60026000541415610259576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061027691906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b1580156102bb57600080fd5b505afa1580156102cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f391906139c9565b90506000806103058660000151611614565b915091508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f4c41360000000000000000000000000000000000000000000000000000000000815250906103af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a6919061420f565b60405180910390fd5b5030866020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600063c04b8d5960e01b876040516024016104039190614231565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506104758884896060015187858b8b6116cf565b50505050600160008190555050505050565b60026000541415610500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061051d91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b15801561056257600080fd5b505afa158015610576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059a91906139c9565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105d7919061410c565b60206040518083038186803b1580156105ef57600080fd5b505afa158015610603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106279190613dde565b9050610633828661191c565b60006106da6106d3838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610675919061410c565b60206040518083038186803b15801561068d57600080fd5b505afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c59190613dde565b611b2f90919063ffffffff16565b8686611bb2565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fb709cbfc91402c021e4a8c00ac331f0d9c3617c05eb744ec9ee15eb4f2e6c2d58960008a606001602081019061075891906139a0565b8b60c001602081019061076b91906139a0565b8b60405161077d9594939291906142c1565b60405180910390a45050506001600081905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026000541415610834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061085191906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b15801561089657600080fd5b505afa1580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce91906139c9565b905060018551116040518060400160405280600281526020017f504c0000000000000000000000000000000000000000000000000000000000008152509061094c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610943919061420f565b60405180910390fd5b508073ffffffffffffffffffffffffffffffffffffffff168560018751038151811061097457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f4c4136000000000000000000000000000000000000000000000000000000000081525090610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a01919061420f565b60405180910390fd5b5060006338ed173960e01b8888883089604051602401610a2e9594939291906143ac565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050610ab08987600081518110610a9e57fe5b60200260200101518a858589896116cf565b5050600160008190555050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000808273ffffffffffffffffffffffffffffffffffffffff1663f93f515b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3057600080fd5b505afa158015610b44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b689190613d11565b90508073ffffffffffffffffffffffffffffffffffffffff16635a29be4530336040518363ffffffff1660e01b8152600401610ba5929190614150565b60206040518083038186803b158015610bbd57600080fd5b505afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190613ce8565b915050919050565b867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636fbc6f6b826040518263ffffffff1660e01b8152600401610c5791906140f1565b60206040518083038186803b158015610c6f57600080fd5b505afa158015610c83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca79190613ce8565b6040518060400160405280600281526020017f435000000000000000000000000000000000000000000000000000000000000081525090610d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d15919061420f565b60405180910390fd5b5060026000541415610d98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260008190555060008873ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b158015610de857600080fd5b505afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2091906139c9565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e5d919061410c565b60206040518083038186803b158015610e7557600080fd5b505afa158015610e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ead9190613dde565b9050610eb9828961191c565b610ec38a83612661565b8973ffffffffffffffffffffffffffffffffffffffff16635288ba4b610f7a838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f1c919061410c565b60206040518083038186803b158015610f3457600080fd5b505afa158015610f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6c9190613dde565b611b2f90919063ffffffff16565b308c886040518563ffffffff1660e01b8152600401610f9c9493929190614314565b600060405180830381600087803b158015610fb657600080fd5b505af1158015610fca573d6000803e3d6000fd5b505050506000610fdb8b898961278f565b9050858173ffffffffffffffffffffffffffffffffffffffff166370a082318d73ffffffffffffffffffffffffffffffffffffffff1663e958b704306040518263ffffffff1660e01b8152600401611033919061410c565b60206040518083038186803b15801561104b57600080fd5b505afa15801561105f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108391906139c9565b6040518263ffffffff1660e01b815260040161109f91906140f1565b60206040518083038186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ef9190613dde565b10156040518060400160405280600381526020017f4c4135000000000000000000000000000000000000000000000000000000000081525090611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f919061420f565b60405180910390fd5b508a73ffffffffffffffffffffffffffffffffffffffff16635019e20a336040518263ffffffff1660e01b81526004016111a2919061410c565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fb709cbfc91402c021e4a8c00ac331f0d9c3617c05eb744ec9ee15eb4f2e6c2d58c6000808d8c60405161125195949392919061426e565b60405180910390a450505060016000819055505050505050505050565b600260005414156112e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600082600001602081019061130491906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b15801561134957600080fd5b505afa15801561135d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138191906139c9565b905060008873ffffffffffffffffffffffffffffffffffffffff1663c661065789600f0b6040518263ffffffff1660e01b81526004016113c19190614253565b60206040518083038186803b1580156113d957600080fd5b505afa1580156113ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141191906139c9565b905060008973ffffffffffffffffffffffffffffffffffffffff1663c661065789600f0b6040518263ffffffff1660e01b81526004016114519190614253565b60206040518083038186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a191906139c9565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f4c4136000000000000000000000000000000000000000000000000000000000081525090611549576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611540919061420f565b60405180910390fd5b506000633df0212460e01b8a8a8a8a60405160240161156b94939291906141ca565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506115d98b848a87858b8b6116cf565b50505050600160008190555050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806003601460020201835110156040518060400160405280600281526020017f504c0000000000000000000000000000000000000000000000000000000000008152509061169a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611691919061420f565b60405180910390fd5b506116af6000846128aa90919063ffffffff16565b91506116c86014845103846128aa90919063ffffffff16565b9050915091565b6116eb8260000160208101906116e591906139a0565b886129c3565b506116f6868661191c565b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611731919061410c565b60206040518083038186803b15801561174957600080fd5b505afa15801561175d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117819190613dde565b905061178d8888612661565b6117b6848973ffffffffffffffffffffffffffffffffffffffff16612b8790919063ffffffff16565b50600061185e611857838873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016117f9919061410c565b60206040518083038186803b15801561181157600080fd5b505afa158015611825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118499190613dde565b611b2f90919063ffffffff16565b8585611bb2565b905061186988612bd1565b8073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fb709cbfc91402c021e4a8c00ac331f0d9c3617c05eb744ec9ee15eb4f2e6c2d58a8d8960600160208101906118e491906139a0565b8a60c00160208101906118f791906139a0565b8a604051611909959493929190614359565b60405180910390a4505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119795750600034115b15611a81578034146040518060400160405280600381526020017f4c41310000000000000000000000000000000000000000000000000000000000815250906119f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ef919061420f565b60405180910390fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a6357600080fd5b505af1158015611a77573d6000803e3d6000fd5b5050505050611b2b565b600034146040518060400160405280600381526020017f4c4132000000000000000000000000000000000000000000000000000000000081525090611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af3919061420f565b60405180910390fd5b50611b2a3330838573ffffffffffffffffffffffffffffffffffffffff16612da9909392919063ffffffff16565b5b5050565b600082821115611ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6000826000016020810190611bc791906139a0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636fbc6f6b826040518263ffffffff1660e01b8152600401611c2091906140f1565b60206040518083038186803b158015611c3857600080fd5b505afa158015611c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c709190613ce8565b6040518060400160405280600281526020017f435000000000000000000000000000000000000000000000000000000000000081525090611ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cde919061420f565b60405180910390fd5b506000846000016020810190611cfd91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16632495a5996040518163ffffffff1660e01b815260040160206040518083038186803b158015611d4257600080fd5b505afa158015611d56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7a91906139c9565b9050611d98856000016020810190611d9291906139a0565b82612661565b846000016020810190611dab91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16635288ba4b87308860200135886040518563ffffffff1660e01b8152600401611ded9493929190614314565b600060405180830381600087803b158015611e0757600080fd5b505af1158015611e1b573d6000803e3d6000fd5b505050506000856000016020810190611e3491906139a0565b73ffffffffffffffffffffffffffffffffffffffff1663e958b704306040518263ffffffff1660e01b8152600401611e6c919061410c565b60206040518083038186803b158015611e8457600080fd5b505afa158015611e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ebc91906139c9565b905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401611ef991906140f1565b60206040518083038186803b158015611f1157600080fd5b505afa158015611f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f499190613dde565b90506000611f7b886000016020810190611f6391906139a0565b896060016020810190611f7691906139a0565b6129c3565b9050600188604001351415612157576000806000808b8060800190611fa09190614460565b810190611fad9190613e6e565b9450509350935093506000611fdd85611fcf8987612e6a90919063ffffffff16565b612ef090919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff166338ed173988838630876040518663ffffffff1660e01b8152600401612020959493929190614406565b600060405180830381600087803b15801561203a57600080fd5b505af115801561204e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906120779190613ca7565b508873ffffffffffffffffffffffffffffffffffffffff168360008151811061209c57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600281526020017f495000000000000000000000000000000000000000000000000000000000000081525090612132576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612129919061420f565b60405180910390fd5b508260018451038151811061214357fe5b60200260200101519a505050505050612454565b60028860400135141561226a5760008880608001906121769190614460565b8101906121839190613d9d565b90506121b281606001516121a4858460800151612e6a90919063ffffffff16565b612ef090919063ffffffff16565b816080018181525050828160600181815250508173ffffffffffffffffffffffffffffffffffffffff1663c04b8d59826040518263ffffffff1660e01b81526004016121fe9190614231565b602060405180830381600087803b15801561221857600080fd5b505af115801561222c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122509190613dde565b5061225e8160000151611614565b90508097505050612453565b6003886040013514156123e0576000806000808b806080019061228d9190614460565b81019061229a9190613d3a565b93509350935093508473ffffffffffffffffffffffffffffffffffffffff16633df021248585896122e6876122d88d89612e6a90919063ffffffff16565b612ef090919063ffffffff16565b6040518563ffffffff1660e01b815260040161230594939291906141ca565b600060405180830381600087803b15801561231f57600080fd5b505af1158015612333573d6000803e3d6000fd5b505050508b606001602081019061234a91906139a0565b73ffffffffffffffffffffffffffffffffffffffff1663c661065784600f0b6040518263ffffffff1660e01b81526004016123859190614253565b60206040518083038186803b15801561239d57600080fd5b505afa1580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d591906139c9565b995050505050612452565b6040518060400160405280600381526020017f4c413300000000000000000000000000000000000000000000000000000000008152506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612449919061420f565b60405180910390fd5b5b5b600073ffffffffffffffffffffffffffffffffffffffff168860c001602081019061247f91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16146124d0576124cd8860000160208101906124b091906139a0565b8960a001358a60c00160208101906124c891906139a0565b61278f565b95505b8760e001358673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161250e91906140f1565b60206040518083038186803b15801561252657600080fd5b505afa15801561253a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255e9190613dde565b10156040518060400160405280600381526020017f4c41350000000000000000000000000000000000000000000000000000000000815250906125d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ce919061420f565b60405180910390fd5b508760000160208101906125eb91906139a0565b73ffffffffffffffffffffffffffffffffffffffff16635019e20a336040518263ffffffff1660e01b8152600401612623919061410c565b600060405180830381600087803b15801561263d57600080fd5b505af1158015612651573d6000803e3d6000fd5b5050505050505050509392505050565b7f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016126bd929190614127565b60206040518083038186803b1580156126d557600080fd5b505afa1580156126e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270d9190613dde565b101561278b5761273f8260008373ffffffffffffffffffffffffffffffffffffffff16612f799092919063ffffffff16565b61278a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8373ffffffffffffffffffffffffffffffffffffffff16612f799092919063ffffffff16565b5b5050565b60008061279c85846129c3565b90506004841415612831578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db06040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156127ef57600080fd5b505af1158015612803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128279190613dde565b50829150506128a3565b6040518060400160405280600381526020017f4c413400000000000000000000000000000000000000000000000000000000008152506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289a919061420f565b60405180910390fd5b9392505050565b600081601483011015612925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f746f416464726573735f6f766572666c6f77000000000000000000000000000081525060200191505060405180910390fd5b601482018351101561299f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f746f416464726573735f6f75744f66426f756e6473000000000000000000000081525060200191505060405180910390fd5b60006c01000000000000000000000000836020860101510490508091505092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1663f93f515b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a0c57600080fd5b505afa158015612a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a449190613d11565b905060008173ffffffffffffffffffffffffffffffffffffffff1663fdd57645856040518263ffffffff1660e01b8152600401612a8191906140f1565b60206040518083038186803b158015612a9957600080fd5b505afa158015612aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad191906139c9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600381526020017f434641000000000000000000000000000000000000000000000000000000000081525090612b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b72919061420f565b60405180910390fd5b50809250505092915050565b6060612bc983836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564000081525061313e565b905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612c0c919061410c565b60206040518083038186803b158015612c2457600080fd5b505afa158015612c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5c9190613dde565b90506000811115612da557600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d7857600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b8152600401612d189190614253565b600060405180830381600087803b158015612d3257600080fd5b505af1158015612d46573d6000803e3d6000fd5b50505050612d73813373ffffffffffffffffffffffffffffffffffffffff1661315690919063ffffffff16565b612da4565b612da333828473ffffffffffffffffffffffffffffffffffffffff166132909092919063ffffffff16565b5b5b5050565b612e64846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613332565b50505050565b600080831415612e7d5760009050612eea565b6000828402905082848281612e8e57fe5b0414612ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806148186021913960400191505060405180910390fd5b809150505b92915050565b6000808211612f67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b818381612f7057fe5b04905092915050565b6000811480613047575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561300a57600080fd5b505afa15801561301e573d6000803e3d6000fd5b505050506040513d602081101561303457600080fd5b8101908080519060200190929190505050145b61309c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806148636036913960400191505060405180910390fd5b6131398363095ea7b360e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613332565b505050565b606061314d8484600085613421565b90509392505050565b804710156131cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a20696e73756666696369656e742062616c616e636500000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d806000811461322c576040519150601f19603f3d011682016040523d82523d6000602084013e613231565b606091505b505090508061328b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806147b8603a913960400191505060405180910390fd5b505050565b61332d8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613332565b505050565b6000613394826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661313e9092919063ffffffff16565b905060008151111561341c578080602001905160208110156133b557600080fd5b810190808051906020019092919050505061341b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614839602a913960400191505060405180910390fd5b5b505050565b60608247101561347c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806147f26026913960400191505060405180910390fd5b613485856135c9565b6134f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106135465780518252602082019150602081019050602083039250613523565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146135a8576040519150601f19603f3d011682016040523d82523d6000602084013e6135ad565b606091505b50915091506135bd8282866135dc565b92505050949350505050565b600080823b905060008111915050919050565b606083156135ec578290506136a1565b6000835111156135ff5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561366657808201518184015260208101905061364b565b50505050905090810190601f1680156136935780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b60006136bb6136b6846144e8565b6144b7565b905080838252602082019050828560208602820111156136da57600080fd5b60005b8581101561370a57816136f088826137be565b8452602084019350602083019250506001810190506136dd565b5050509392505050565b600061372761372284614514565b6144b7565b9050808382526020820190508285602086028201111561374657600080fd5b60005b85811015613776578161375c888261398b565b845260208401935060208301925050600181019050613749565b5050509392505050565b600061379361378e84614540565b6144b7565b9050828152602081018484840111156137ab57600080fd5b6137b68482856146d8565b509392505050565b6000813590506137cd8161472d565b92915050565b6000815190506137e28161472d565b92915050565b6000813590506137f781614744565b92915050565b600082601f83011261380e57600080fd5b813561381e8482602086016136a8565b91505092915050565b600082601f83011261383857600080fd5b8151613848848260208601613714565b91505092915050565b6000815190506138608161475b565b92915050565b600082601f83011261387757600080fd5b8135613887848260208601613780565b91505092915050565b60008151905061389f81614772565b92915050565b6000813590506138b481614789565b92915050565b600060a082840312156138cc57600080fd5b6138d660a06144b7565b9050600082013567ffffffffffffffff8111156138f257600080fd5b6138fe84828501613866565b6000830152506020613912848285016137be565b602083015250604061392684828501613976565b604083015250606061393a84828501613976565b606083015250608061394e84828501613976565b60808301525092915050565b6000610100828403121561396d57600080fd5b81905092915050565b600081359050613985816147a0565b92915050565b60008151905061399a816147a0565b92915050565b6000602082840312156139b257600080fd5b60006139c0848285016137be565b91505092915050565b6000602082840312156139db57600080fd5b60006139e9848285016137d3565b91505092915050565b600080600080600080600060e0888a031215613a0d57600080fd5b6000613a1b8a828b016137be565b9750506020613a2c8a828b016138a5565b9650506040613a3d8a828b016138a5565b9550506060613a4e8a828b01613976565b9450506080613a5f8a828b01613976565b93505060a088013567ffffffffffffffff811115613a7c57600080fd5b613a888a828b0161395a565b92505060c0613a998a828b01613976565b91505092959891949750929550565b60008060008060808587031215613abe57600080fd5b6000613acc878288016137be565b945050602085013567ffffffffffffffff811115613ae957600080fd5b613af5878288016138ba565b935050604085013567ffffffffffffffff811115613b1257600080fd5b613b1e8782880161395a565b9250506060613b2f87828801613976565b91505092959194509250565b600080600080600080600060e0888a031215613b5657600080fd5b6000613b648a828b016137be565b9750506020613b758a828b01613976565b9650506040613b868a828b01613976565b955050606088013567ffffffffffffffff811115613ba357600080fd5b613baf8a828b016137fd565b9450506080613bc08a828b01613976565b93505060a088013567ffffffffffffffff811115613bdd57600080fd5b613be98a828b0161395a565b92505060c0613bfa8a828b01613976565b91505092959891949750929550565b600080600080600080600060e0888a031215613c2457600080fd5b6000613c328a828b016137be565b9750506020613c438a828b01613976565b9650506040613c548a828b01613976565b9550506060613c658a828b01613976565b9450506080613c768a828b016137be565b93505060a0613c878a828b01613976565b92505060c0613c988a828b01613976565b91505092959891949750929550565b600060208284031215613cb957600080fd5b600082015167ffffffffffffffff811115613cd357600080fd5b613cdf84828501613827565b91505092915050565b600060208284031215613cfa57600080fd5b6000613d0884828501613851565b91505092915050565b600060208284031215613d2357600080fd5b6000613d3184828501613890565b91505092915050565b60008060008060808587031215613d5057600080fd5b6000613d5e878288016138a5565b9450506020613d6f878288016138a5565b9350506040613d8087828801613976565b9250506060613d9187828801613976565b91505092959194509250565b600060208284031215613daf57600080fd5b600082013567ffffffffffffffff811115613dc957600080fd5b613dd5848285016138ba565b91505092915050565b600060208284031215613df057600080fd5b6000613dfe8482850161398b565b91505092915050565b600080600060608486031215613e1c57600080fd5b6000613e2a86828701613976565b935050602084013567ffffffffffffffff811115613e4757600080fd5b613e538682870161395a565b9250506040613e6486828701613976565b9150509250925092565b600080600080600060a08688031215613e8657600080fd5b6000613e9488828901613976565b9550506020613ea588828901613976565b945050604086013567ffffffffffffffff811115613ec257600080fd5b613ece888289016137fd565b9350506060613edf888289016137e8565b9250506080613ef088828901613976565b9150509295509295909350565b6000613f098383613f33565b60208301905092915050565b613f1e8161465a565b82525050565b613f2d816145f3565b82525050565b613f3c816145e1565b82525050565b613f4b816145e1565b82525050565b6000613f5c82614580565b613f6681856145ae565b9350613f7183614570565b8060005b83811015613fa2578151613f898882613efd565b9750613f94836145a1565b925050600181019050613f75565b5085935050505092915050565b613fb881614605565b82525050565b6000613fc98261458b565b613fd381856145bf565b9350613fe38185602086016146e7565b613fec8161471c565b840191505092915050565b6140008161466c565b82525050565b61400f81614690565b82525050565b61401e81614623565b82525050565b600061402f82614596565b61403981856145d0565b93506140498185602086016146e7565b6140528161471c565b840191505092915050565b600060a083016000830151848203600086015261407a8282613fbe565b915050602083015161408f6020860182613f33565b5060408301516140a260408601826140d3565b5060608301516140b560608601826140d3565b5060808301516140c860808601826140d3565b508091505092915050565b6140dc81614650565b82525050565b6140eb81614650565b82525050565b60006020820190506141066000830184613f42565b92915050565b60006020820190506141216000830184613f15565b92915050565b600060408201905061413c6000830185613f15565b6141496020830184613f42565b9392505050565b60006040820190506141656000830185613f15565b6141726020830184613f15565b9392505050565b600060208201905061418e6000830184613faf565b92915050565b60006020820190506141a96000830184613ff7565b92915050565b60006020820190506141c46000830184614006565b92915050565b60006080820190506141df6000830187614015565b6141ec6020830186614015565b6141f960408301856140e2565b61420660608301846140e2565b95945050505050565b600060208201905081810360008301526142298184614024565b905092915050565b6000602082019050818103600083015261424b818461405d565b905092915050565b600060208201905061426860008301846140e2565b92915050565b600060a08201905061428360008301886140e2565b6142906020830187613f15565b61429d6040830186613f15565b6142aa6060830185613f42565b6142b760808301846140e2565b9695505050505050565b600060a0820190506142d660008301886140e2565b6142e36020830187613f15565b6142f06040830186613f42565b6142fd6060830185613f42565b61430a60808301846140e2565b9695505050505050565b600060808201905061432960008301876140e2565b6143366020830186613f15565b61434360408301856140e2565b61435060608301846140e2565b95945050505050565b600060a08201905061436e60008301886140e2565b61437b6020830187613f42565b6143886040830186613f42565b6143956060830185613f42565b6143a260808301846140e2565b9695505050505050565b600060a0820190506143c160008301886140e2565b6143ce60208301876140e2565b81810360408301526143e08186613f51565b90506143ef6060830185613f24565b6143fc60808301846140e2565b9695505050505050565b600060a08201905061441b60008301886140e2565b61442860208301876140e2565b818103604083015261443a8186613f51565b90506144496060830185613f15565b61445660808301846140e2565b9695505050505050565b6000808335600160200384360303811261447957600080fd5b80840192508235915067ffffffffffffffff82111561449757600080fd5b6020830192506001820236038313156144af57600080fd5b509250929050565b6000604051905081810181811067ffffffffffffffff821117156144de576144dd61471a565b5b8060405250919050565b600067ffffffffffffffff8211156145035761450261471a565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561452f5761452e61471a565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561455b5761455a61471a565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006145ec82614630565b9050919050565b60006145fe82614630565b9050919050565b60008115159050919050565b600061461c826145e1565b9050919050565b600081600f0b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000614665826146b4565b9050919050565b60006146778261467e565b9050919050565b600061468982614630565b9050919050565b600061469b826146a2565b9050919050565b60006146ad82614630565b9050919050565b60006146bf826146c6565b9050919050565b60006146d182614630565b9050919050565b82818337600083830152505050565b60005b838110156147055780820151818401526020810190506146ea565b83811115614714576000848401525b50505050565bfe5b6000601f19601f8301169050919050565b614736816145e1565b811461474157600080fd5b50565b61474d816145f3565b811461475857600080fd5b50565b61476481614605565b811461476f57600080fd5b50565b61477b81614611565b811461478657600080fd5b50565b61479281614623565b811461479d57600080fd5b50565b6147a981614650565b81146147b457600080fd5b5056fe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220e22417dd1eaac410e2c37e80245849340da3290b2075389d1a1ba7325dc0b3a864736f6c63430007060033",
|
|
512
|
+
"linkReferences": {},
|
|
513
|
+
"deployedLinkReferences": {}
|
|
514
|
+
}
|