From 7b51fde8e7f43e9889a76a816e613f109c79f390 Mon Sep 17 00:00:00 2001 From: emilio Date: Tue, 18 Aug 2020 12:16:48 +0200 Subject: [PATCH] Added tests for debt tokens upgradeability --- deployed-contracts.json | 12 + helpers/contracts-helpers.ts | 4 +- helpers/types.ts | 2 + test/upgradeability.spec.ts | 73 ++- types/ATokenFactory.ts | 2 +- types/AaveProtocolTestHelpersFactory.ts | 2 +- types/DebtTokenBaseFactory.ts | 10 + types/GenericLogicFactory.ts | 2 +- types/LendingPoolConfigurator.d.ts | 84 +++ types/LendingPoolConfiguratorFactory.ts | 113 +++- types/LendingPoolFactory.ts | 2 +- types/LendingPoolLiquidationManagerFactory.ts | 2 +- types/MockATokenFactory.ts | 2 +- types/MockStableDebtToken.d.ts | 390 ++++++++++++ types/MockStableDebtTokenFactory.ts | 600 ++++++++++++++++++ types/MockVariableDebtToken.d.ts | 362 +++++++++++ types/MockVariableDebtTokenFactory.ts | 573 +++++++++++++++++ types/ReserveLogicFactory.ts | 2 +- types/StableDebtTokenFactory.ts | 34 +- types/VariableDebtTokenFactory.ts | 34 +- types/WalletBalanceProviderFactory.ts | 2 +- 21 files changed, 2285 insertions(+), 22 deletions(-) create mode 100644 types/MockStableDebtToken.d.ts create mode 100644 types/MockStableDebtTokenFactory.ts create mode 100644 types/MockVariableDebtToken.d.ts create mode 100644 types/MockVariableDebtTokenFactory.ts diff --git a/deployed-contracts.json b/deployed-contracts.json index e2ecd7dc..b0c89b14 100644 --- a/deployed-contracts.json +++ b/deployed-contracts.json @@ -467,5 +467,17 @@ "address": "0x501A498e8FDA589038d6526C2153a9fdc9d8eDD2", "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" } + }, + "MockStableDebtToken": { + "buidlerevm": { + "address": "0x6aaF7e94e099291a94ed8E245c90f4766CE9bB7C", + "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" + } + }, + "MockVariableDebtToken": { + "buidlerevm": { + "address": "0x40A939911b662656C0EE71c19B954DB1911Dc8e3", + "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" + } } } \ No newline at end of file diff --git a/helpers/contracts-helpers.ts b/helpers/contracts-helpers.ts index 788450d8..b90cbdef 100644 --- a/helpers/contracts-helpers.ts +++ b/helpers/contracts-helpers.ts @@ -258,7 +258,7 @@ export const deployStableDebtToken = async ([ symbol, underlyingAsset, poolAddress, -]: [string, string, string, tEthereumAddress, tEthereumAddress]) => { +]: [string, string, tEthereumAddress, tEthereumAddress]) => { const token = await deployContract(eContractid.StableDebtToken, [ poolAddress, underlyingAsset, @@ -274,7 +274,7 @@ export const deployVariableDebtToken = async ([ symbol, underlyingAsset, poolAddress, -]: [string, string, string, tEthereumAddress, tEthereumAddress]) => { +]: [string, string, tEthereumAddress, tEthereumAddress]) => { const token = await deployContract(eContractid.VariableDebtToken, [ poolAddress, underlyingAsset, diff --git a/helpers/types.ts b/helpers/types.ts index 873479ae..a2f8037d 100644 --- a/helpers/types.ts +++ b/helpers/types.ts @@ -38,6 +38,8 @@ export enum eContractid { WalletBalanceProvider = 'WalletBalanceProvider', AToken = 'AToken', MockAToken = 'MockAToken', + MockStableDebtToken = 'MockStableDebtToken', + MockVariableDebtToken = 'MockVariableDebtToken', AaveProtocolTestHelpers = 'AaveProtocolTestHelpers', IERC20Detailed = 'IERC20Detailed', StableDebtToken = 'StableDebtToken', diff --git a/test/upgradeability.spec.ts b/test/upgradeability.spec.ts index 9a22c833..41fc60ea 100644 --- a/test/upgradeability.spec.ts +++ b/test/upgradeability.spec.ts @@ -1,12 +1,17 @@ import {expect} from 'chai'; import {makeSuite, TestEnv} from './helpers/make-suite'; import {ProtocolErrors, eContractid} from '../helpers/types'; -import {deployGenericAToken, getAToken, deployContract} from '../helpers/contracts-helpers'; +import {deployGenericAToken, getAToken, deployContract, getContract} from '../helpers/contracts-helpers'; import {MockAToken} from '../types/MockAToken'; +import { MockStableDebtToken } from '../types/MockStableDebtToken'; +import { MockVariableDebtToken } from '../types/MockVariableDebtToken'; makeSuite('Upgradeability', (testEnv: TestEnv) => { const {INVALID_POOL_MANAGER_CALLER_MSG} = ProtocolErrors; let newATokenAddress: string; + let newStableTokenAddress: string; + let newVariableTokenAddress: string; + before('deploying instances', async () => { const {dai, pool} = testEnv; @@ -17,7 +22,24 @@ makeSuite('Upgradeability', (testEnv: TestEnv) => { 'aDAI', ]); + const stableDebtTokenInstance = await deployContract(eContractid.MockStableDebtToken, [ + pool.address, + dai.address, + 'Aave stable debt bearing DAI updated', + 'stableDebtDAI', + ]); + + const variableDebtTokenInstance = await deployContract(eContractid.MockVariableDebtToken, [ + pool.address, + dai.address, + 'Aave variable debt bearing DAI updated', + 'variableDebtDAI', + ]); + newATokenAddress = aTokenInstance.address; + newVariableTokenAddress = variableDebtTokenInstance.address; + newStableTokenAddress = stableDebtTokenInstance.address; + }); it('Tries to update the DAI Atoken implementation with a different address than the lendingPoolManager', async () => { @@ -39,4 +61,53 @@ makeSuite('Upgradeability', (testEnv: TestEnv) => { expect(tokenName).to.be.eq('Aave Interest bearing DAI updated', 'Invalid token name'); }); + + it('Tries to update the DAI Stable debt token implementation with a different address than the lendingPoolManager', async () => { + const {dai, configurator, users} = testEnv; + + await expect( + configurator.connect(users[1].signer).updateStableDebtToken(dai.address, newStableTokenAddress) + ).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG); + }); + + it('Upgrades the DAI stable debt token implementation ', async () => { + const {dai, configurator, pool} = testEnv; + + const name = await (await getAToken(newATokenAddress)).name(); + + await configurator.updateStableDebtToken(dai.address, newStableTokenAddress); + + const {stableDebtTokenAddress} = await pool.getReserveTokensAddresses(dai.address); + + const debtToken = await getContract(eContractid.MockStableDebtToken, stableDebtTokenAddress); + + const tokenName = await debtToken.name(); + + expect(tokenName).to.be.eq('Aave stable debt bearing DAI updated', 'Invalid token name'); + }); + + it('Tries to update the DAI variable debt token implementation with a different address than the lendingPoolManager', async () => { + const {dai, configurator, users} = testEnv; + + await expect( + configurator.connect(users[1].signer).updateVariableDebtToken(dai.address, newVariableTokenAddress) + ).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG); + }); + + it('Upgrades the DAI variable debt token implementation ', async () => { + const {dai, configurator, pool} = testEnv; + + const name = await (await getAToken(newATokenAddress)).name(); + + await configurator.updateVariableDebtToken(dai.address, newVariableTokenAddress); + + const {variableDebtTokenAddress} = await pool.getReserveTokensAddresses(dai.address); + + const debtToken = await getContract(eContractid.MockStableDebtToken, variableDebtTokenAddress); + + const tokenName = await debtToken.name(); + + expect(tokenName).to.be.eq('Aave variable debt bearing DAI updated', 'Invalid token name'); + }); + }); diff --git a/types/ATokenFactory.ts b/types/ATokenFactory.ts index 733bc9a3..4cb268dd 100644 --- a/types/ATokenFactory.ts +++ b/types/ATokenFactory.ts @@ -895,4 +895,4 @@ const _abi = [ ]; const _bytecode = - "0x60c0604052600080553480156200001557600080fd5b506040516200309e3803806200309e833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b50604052505082518391508290620001c79060379060208501906200020e565b508051620001dd9060389060208401906200020e565b50506039805460ff191660121790555050506001600160601b0319606092831b811660a052911b16608052620002b3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025157805160ff191683800117855562000281565b8280016001018555821562000281579182015b828111156200028157825182559160200191906001019062000264565b506200028f92915062000293565b5090565b620002b091905b808211156200028f57600081556001016200029a565b90565b60805160601c60a05160601c612d6762000337600039806109e25280610d005280610e335280610f23528061107e52806110ed52806114c0528061159f52806117195280611c8d5280612116525080610a115280610e9c5280610ee75280611051528061111c52806114ef52806115c65280611cbc52806121455250612d676000f3fe6080604052600436106101bb5760003560e01c80634efecaa5116100ec578063a9059cbb1161008a578063db006a7511610064578063db006a751461077d578063dd62ed3e146107a7578063ee9907a4146107e2578063f866c31914610815576101c5565b8063a9059cbb146106fc578063c634dfaa14610735578063d0fc81d214610768576101c5565b806389d1a0fc116100c657806389d1a0fc1461066057806394362e8b1461067557806395d89b41146106ae578063a457c2d7146106c3576101c5565b80634efecaa5146105bb5780635eae177c146105f457806370a082311461062d576101c5565b806323b872dd11610159578063325a9b1311610133578063325a9b13146104bf57806339509351146104fa5780633edb7cb814610533578063445e80101461056c576101c5565b806323b872dd146103785780633118724e146103bb578063313ce56714610494576101c5565b80630e49072d116101955780630e49072d146102c857806312c87c2d146102fd57806318160ddd146103305780631d51e7cf14610345576101c5565b806306fdde03146101ca578063095ea7b3146102545780630bd7ad3b146102a1576101c5565b366101c557600080fd5b600080fd5b3480156101d657600080fd5b506101df610858565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610219578181015183820152602001610201565b50505050905090810190601f1680156102465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026057600080fd5b5061028d6004803603604081101561027757600080fd5b506001600160a01b0381351690602001356108ef565b604080519115158252519081900360200190f35b3480156102ad57600080fd5b506102b661090d565b60408051918252519081900360200190f35b3480156102d457600080fd5b506102fb600480360360208110156102eb57600080fd5b50356001600160a01b0316610912565b005b34801561030957600080fd5b506102fb6004803603602081101561032057600080fd5b50356001600160a01b031661091f565b34801561033c57600080fd5b506102b66109be565b34801561035157600080fd5b506102b66004803603602081101561036857600080fd5b50356001600160a01b0316610ac2565b34801561038457600080fd5b5061028d6004803603606081101561039b57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae1565b3480156103c757600080fd5b506102fb600480360360608110156103de57600080fd5b60ff823516919081019060408101602082013564010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b91939092909160208101903564010000000081111561045557600080fd5b82018360208201111561046757600080fd5b8035906020019184600183028401116401000000008311171561048957600080fd5b509092509050610b6e565b3480156104a057600080fd5b506104a9610c32565b6040805160ff9092168252519081900360200190f35b3480156104cb57600080fd5b506102fb600480360360408110156104e257600080fd5b506001600160a01b0381358116916020013516610c3b565b34801561050657600080fd5b5061028d6004803603604081101561051d57600080fd5b506001600160a01b038135169060200135610ca1565b34801561053f57600080fd5b506102fb6004803603604081101561055657600080fd5b506001600160a01b038135169060200135610cf5565b34801561057857600080fd5b5061059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610e08565b604080516001600160a01b039092168252519081900360200190f35b3480156105c757600080fd5b506102b6600480360360408110156105de57600080fd5b506001600160a01b038135169060200135610e26565b34801561060057600080fd5b5061028d6004803603604081101561061757600080fd5b506001600160a01b038135169060200135610ecf565b34801561063957600080fd5b506102b66004803603602081101561065057600080fd5b50356001600160a01b0316610f9c565b34801561066c57600080fd5b5061059f61104f565b34801561068157600080fd5b506102fb6004803603604081101561069857600080fd5b506001600160a01b038135169060200135611073565b3480156106ba57600080fd5b506101df611250565b3480156106cf57600080fd5b5061028d600480360360408110156106e657600080fd5b506001600160a01b0381351690602001356112b1565b34801561070857600080fd5b5061028d6004803603604081101561071f57600080fd5b506001600160a01b03813516906020013561131f565b34801561074157600080fd5b506102b66004803603602081101561075857600080fd5b50356001600160a01b0316611333565b34801561077457600080fd5b506102b661133e565b34801561078957600080fd5b506102fb600480360360208110156107a057600080fd5b5035611344565b3480156107b357600080fd5b506102b6600480360360408110156107ca57600080fd5b506001600160a01b03813581169160200135166116c8565b3480156107ee57600080fd5b506102b66004803603602081101561080557600080fd5b50356001600160a01b03166116f3565b34801561082157600080fd5b506102fb6004803603606081101561083857600080fd5b506001600160a01b0381358116916020810135909116906040013561170e565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b820191906000526020600020905b8154815290600101906020018083116108c757829003601f168201915b505050505090505b90565b60006109036108fc611785565b8484611789565b5060015b92915050565b600181565b61091c3382611875565b50565b6001600160a01b0381163314156109675760405162461bcd60e51b8152600401808060200182810382526025815260200180612ad56025913960400191505060405180910390fd5b336000818152603d602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b6000806109c9611a64565b9050806109da5760009150506108ec565b610abc610ab77f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d6020811015610aa057600080fd5b5051610aab84611a6a565b9063ffffffff611a8016565b611acb565b91505090565b6001600160a01b0381166000908152603c60205260409020545b919050565b6000610aee848484611ae4565b610b6484610afa611785565b610b5f85604051806060016040528060288152602001612b1b602891396001600160a01b038a16600090815260356020526040812090610b38611785565b6001600160a01b03168152602081019190915260400160002054919063ffffffff611b5316565b611789565b5060019392505050565b6000610b78611bea565b60015490915060ff1680610b8f5750610b8f611bef565b80610b9b575060005481115b610bd65760405162461bcd60e51b815260040180806020018281038252602e815260200180612b6d602e913960400191505060405180910390fd5b60015460ff16158015610bf5576001805460ff19168117905560008290555b610c016037878761297d565b50610c0e6038858561297d565b50610c1887611bf5565b8015610c29576001805460ff191690555b50505050505050565b60395460ff1690565b6001600160a01b038281166000908152603d6020526040902054163314610c935760405162461bcd60e51b815260040180806020018281038252603a815260200180612cf8603a913960400191505060405180910390fd5b610c9d8282611875565b5050565b6000610903610cae611785565b84610b5f8560356000610cbf611785565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff611c0b16565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d5c5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b6000806000610d6a85611c65565b93509350935050610d7c858386611d7a565b610d868585611e7a565b6000610d98848663ffffffff611f8216565b610da857610da586611fc4565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db868584610de05785610de3565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152603b60205260409020541690565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b610ec96001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848463ffffffff61207616565b50919050565b604080516376e9d61560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916376e9d615916064808301926020929190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b50519392505050565b600080610fa8836120c8565b6001600160a01b0384166000908152603c602052604090205490915081158015610fd0575080155b15610fe057600092505050610adc565b6001600160a01b038481166000908152603b602052604090205416611031576110288161101c86611017868463ffffffff611c0b16565b6120e3565b9063ffffffff611f8216565b92505050610adc565b6110286110428261101c87856120e3565b839063ffffffff611c0b16565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b60006110e5836121eb565b9250505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d60208110156111ab57600080fd5b50516001600160a01b0385166000908152603a6020526040902081905590506111e5846111de848663ffffffff611c0b16565b6000611d7a565b6111fe846111f9858563ffffffff611c0b16565b61222e565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60388054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b60006109036112be611785565b84610b5f85604051806060016040528060258152602001612cd360259139603560006112e8611785565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611b5316565b600061090361132c611785565b8484611ae4565b6000610907826120c8565b60001981565b60008111611399576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b6000806113a5336121eb565b90935091508390506000198114156113ba5750815b828111156113f95760405162461bcd60e51b8152600401808060200182810382526032815260200180612a5b6032913960400191505060405180910390fd5b6114033382610ecf565b611454576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61145f338383611d7a565b808211156114805761147b336111f9848463ffffffff611f8216565b611499565b61149933611494838563ffffffff611f8216565b611e7a565b60006114ab848363ffffffff611f8216565b6114be576114b833611fc4565b50611595565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561155457600080fd5b505afa158015611568573d6000803e3d6000fd5b505050506040513d602081101561157e57600080fd5b5051336000908152603a6020526040902081905590505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639895e3d87f000000000000000000000000000000000000000000000000000000000000000033856115f7898263ffffffff611f8216565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561166657600080fd5b505af115801561167a573d6000803e3d6000fd5b5050604080518581526020810187905280820185905290513393507fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a764692509081900360600190a25050505050565b6001600160a01b03918216600090815260356020908152604080832093909416825291909152205490565b6001600160a01b03166000908152603a602052604090205490565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117755760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b61178083838361232c565b505050565b3390565b6001600160a01b0383166117ce5760405162461bcd60e51b8152600401808060200182810382526024815260200180612c536024913960400191505060405180910390fd5b6001600160a01b0382166118135760405162461bcd60e51b8152600401808060200182810382526022815260200180612a8d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260356020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038083166000908152603b602052604090205481169082168114156118d25760405162461bcd60e51b815260040180806020018281038252602a815260200180612b43602a913960400191505060405180910390fd5b6000806000806118e187611c65565b9350935093509350600083116119285760405162461bcd60e51b8152600401808060200182810382526042815260200180612b9b6042913960600191505060405180910390fd5b6001600160a01b038516156119435761194387600086611d7a565b866001600160a01b0316866001600160a01b031614156119cf576001600160a01b0387166000818152603b6020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a35050505050610c9d565b6001600160a01b038781166000908152603b6020526040812080546001600160a01b03191692891692909217909155611a0b9088908590611d7a565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60365490565b600061090782633b9aca0063ffffffff61247b16565b6000611ac46b033b2e3c9fd0803ce8000000611ab8611aa5868663ffffffff61247b16565b6b019d971e4fe8401e7400000090611c0b565b9063ffffffff6124d416565b9392505050565b6000631dcd6500611ac4633b9aca00611ab88386611c0b565b8281611af08282610ecf565b611b41576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b611b4c85858561232c565b5050505050565b60008184841115611be25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba7578181015183820152602001611b8f565b50505050905090810190601f168015611bd45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600190565b303b1590565b6039805460ff191660ff92909216919091179055565b600082820183811015611ac4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806000806000806000611c79886121eb565b925092509250611c89888261222e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d2157600080fd5b505afa158015611d35573d6000803e3d6000fd5b505050506040513d6020811015611d4b57600080fd5b50516001600160a01b03999099166000908152603a602052604090208990555091979096919550909350915050565b6001600160a01b038084166000908152603b60205260409020541680611da05750611780565b600080611dac83611c65565b6001600160a01b0387166000908152603c60205260409020549195509350611de2925086915061101c908863ffffffff611c0b16565b6001600160a01b038085166000908152603c6020908152604080832094909455603b90529190912054168015611e1e57611e1e84846000611d7a565b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b038216611ebf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612c0d6021913960400191505060405180910390fd5b611ecb82600083611780565b611f0e81604051806060016040528060228152602001612a39602291396001600160a01b038516600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b038316600090815260346020526040902055603654611f3a908263ffffffff611f8216565b6036556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000611ac483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b53565b6001600160a01b0381166000818152603b6020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b0382166000908152603c602052604090205461206e57506001600160a01b0381166000908152603a60205260408120556001610adc565b506000610adc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611780908490612516565b6001600160a01b031660009081526034602052604090205490565b6000611ac4610ab7603a6000866001600160a01b03166001600160a01b03168152602001908152602001600020546121df7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156121aa57600080fd5b505afa1580156121be573d6000803e3d6000fd5b505050506040513d60208110156121d457600080fd5b5051610aab87611a6a565b9063ffffffff6125c716565b6000806000806121fa85610f9c565b905060008082156122235761220e876120c8565b9050612220838263ffffffff611f8216565b91505b969195509350915050565b6001600160a01b038216612289576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61229560008383611780565b6036546122a8908263ffffffff611c0b16565b6036556001600160a01b0382166000908152603460205260409020546122d4908263ffffffff611c0b16565b6001600160a01b03831660008181526034602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000811161236b5760405162461bcd60e51b8152600401808060200182810382526030815260200180612bdd6030913960400191505060405180910390fd5b600080600061237986611c65565b9350935093505060008061238c87611c65565b93509350505061239d888588611d7a565b6123b1876111de848963ffffffff611c0b16565b6123bc8888886125ff565b60006123ce868863ffffffff611f8216565b1580156123ed5750876001600160a01b0316896001600160a01b031614155b156123fe576123fb89611fc4565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde8898887866124415789612444565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b60008261248a57506000610907565b8282028284828161249757fe5b0414611ac45760405162461bcd60e51b8152600401808060200182810382526021815260200180612afa6021913960400191505060405180910390fd5b6000611ac483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612768565b606061256b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127cd9092919063ffffffff16565b8051909150156117805780806020019051602081101561258a57600080fd5b50516117805760405162461bcd60e51b815260040180806020018281038252602a815260200180612c77602a913960400191505060405180910390fd5b6000600282046125f783611ab86125ea876b033b2e3c9fd0803ce800000061247b565b849063ffffffff611c0b16565b949350505050565b6001600160a01b0383166126445760405162461bcd60e51b8152600401808060200182810382526025815260200180612c2e6025913960400191505060405180910390fd5b6001600160a01b0382166126895760405162461bcd60e51b8152600401808060200182810382526023815260200180612a166023913960400191505060405180910390fd5b612694838383611780565b6126d781604051806060016040528060268152602001612aaf602691396001600160a01b038616600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b03808516600090815260346020526040808220939093559084168152205461270c908263ffffffff611c0b16565b6001600160a01b0380841660008181526034602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081836127b75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611ba7578181015183820152602001611b8f565b5060008385816127c357fe5b0495945050505050565b60606125f7848460008560606127e285612944565b612833576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106128725780518252601f199092019160209182019101612853565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146128d4576040519150601f19603f3d011682016040523d82523d6000602084013e6128d9565b606091505b509150915081156128ed5791506125f79050565b8051156128fd5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315611ba7578181015183820152602001611b8f565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906125f7575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129be5782800160ff198235161785556129eb565b828001600101855582156129eb579182015b828111156129eb5782358255916020019190600101906129d0565b506129f79291506129fb565b5090565b6108ec91905b808211156129f75760008155600101612a0156fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a264697066735822122042a69b5a61683ff1cf4ccf9cf601a324a3604b16c0e8ccb3fe9abf7b7f0507a964736f6c63430006080033"; + "0x60c0604052600080553480156200001557600080fd5b506040516200309e3803806200309e833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b50604052505082518391508290620001c79060379060208501906200020e565b508051620001dd9060389060208401906200020e565b50506039805460ff191660121790555050506001600160601b0319606092831b811660a052911b16608052620002b3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025157805160ff191683800117855562000281565b8280016001018555821562000281579182015b828111156200028157825182559160200191906001019062000264565b506200028f92915062000293565b5090565b620002b091905b808211156200028f57600081556001016200029a565b90565b60805160601c60a05160601c612d6762000337600039806109e25280610d005280610e335280610f23528061107e52806110ed52806114c0528061159f52806117195280611c8d5280612116525080610a115280610e9c5280610ee75280611051528061111c52806114ef52806115c65280611cbc52806121455250612d676000f3fe6080604052600436106101bb5760003560e01c80634efecaa5116100ec578063a9059cbb1161008a578063db006a7511610064578063db006a751461077d578063dd62ed3e146107a7578063ee9907a4146107e2578063f866c31914610815576101c5565b8063a9059cbb146106fc578063c634dfaa14610735578063d0fc81d214610768576101c5565b806389d1a0fc116100c657806389d1a0fc1461066057806394362e8b1461067557806395d89b41146106ae578063a457c2d7146106c3576101c5565b80634efecaa5146105bb5780635eae177c146105f457806370a082311461062d576101c5565b806323b872dd11610159578063325a9b1311610133578063325a9b13146104bf57806339509351146104fa5780633edb7cb814610533578063445e80101461056c576101c5565b806323b872dd146103785780633118724e146103bb578063313ce56714610494576101c5565b80630e49072d116101955780630e49072d146102c857806312c87c2d146102fd57806318160ddd146103305780631d51e7cf14610345576101c5565b806306fdde03146101ca578063095ea7b3146102545780630bd7ad3b146102a1576101c5565b366101c557600080fd5b600080fd5b3480156101d657600080fd5b506101df610858565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610219578181015183820152602001610201565b50505050905090810190601f1680156102465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026057600080fd5b5061028d6004803603604081101561027757600080fd5b506001600160a01b0381351690602001356108ef565b604080519115158252519081900360200190f35b3480156102ad57600080fd5b506102b661090d565b60408051918252519081900360200190f35b3480156102d457600080fd5b506102fb600480360360208110156102eb57600080fd5b50356001600160a01b0316610912565b005b34801561030957600080fd5b506102fb6004803603602081101561032057600080fd5b50356001600160a01b031661091f565b34801561033c57600080fd5b506102b66109be565b34801561035157600080fd5b506102b66004803603602081101561036857600080fd5b50356001600160a01b0316610ac2565b34801561038457600080fd5b5061028d6004803603606081101561039b57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae1565b3480156103c757600080fd5b506102fb600480360360608110156103de57600080fd5b60ff823516919081019060408101602082013564010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b91939092909160208101903564010000000081111561045557600080fd5b82018360208201111561046757600080fd5b8035906020019184600183028401116401000000008311171561048957600080fd5b509092509050610b6e565b3480156104a057600080fd5b506104a9610c32565b6040805160ff9092168252519081900360200190f35b3480156104cb57600080fd5b506102fb600480360360408110156104e257600080fd5b506001600160a01b0381358116916020013516610c3b565b34801561050657600080fd5b5061028d6004803603604081101561051d57600080fd5b506001600160a01b038135169060200135610ca1565b34801561053f57600080fd5b506102fb6004803603604081101561055657600080fd5b506001600160a01b038135169060200135610cf5565b34801561057857600080fd5b5061059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610e08565b604080516001600160a01b039092168252519081900360200190f35b3480156105c757600080fd5b506102b6600480360360408110156105de57600080fd5b506001600160a01b038135169060200135610e26565b34801561060057600080fd5b5061028d6004803603604081101561061757600080fd5b506001600160a01b038135169060200135610ecf565b34801561063957600080fd5b506102b66004803603602081101561065057600080fd5b50356001600160a01b0316610f9c565b34801561066c57600080fd5b5061059f61104f565b34801561068157600080fd5b506102fb6004803603604081101561069857600080fd5b506001600160a01b038135169060200135611073565b3480156106ba57600080fd5b506101df611250565b3480156106cf57600080fd5b5061028d600480360360408110156106e657600080fd5b506001600160a01b0381351690602001356112b1565b34801561070857600080fd5b5061028d6004803603604081101561071f57600080fd5b506001600160a01b03813516906020013561131f565b34801561074157600080fd5b506102b66004803603602081101561075857600080fd5b50356001600160a01b0316611333565b34801561077457600080fd5b506102b661133e565b34801561078957600080fd5b506102fb600480360360208110156107a057600080fd5b5035611344565b3480156107b357600080fd5b506102b6600480360360408110156107ca57600080fd5b506001600160a01b03813581169160200135166116c8565b3480156107ee57600080fd5b506102b66004803603602081101561080557600080fd5b50356001600160a01b03166116f3565b34801561082157600080fd5b506102fb6004803603606081101561083857600080fd5b506001600160a01b0381358116916020810135909116906040013561170e565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b820191906000526020600020905b8154815290600101906020018083116108c757829003601f168201915b505050505090505b90565b60006109036108fc611785565b8484611789565b5060015b92915050565b600181565b61091c3382611875565b50565b6001600160a01b0381163314156109675760405162461bcd60e51b8152600401808060200182810382526025815260200180612ad56025913960400191505060405180910390fd5b336000818152603d602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b6000806109c9611a64565b9050806109da5760009150506108ec565b610abc610ab77f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d6020811015610aa057600080fd5b5051610aab84611a6a565b9063ffffffff611a8016565b611acb565b91505090565b6001600160a01b0381166000908152603c60205260409020545b919050565b6000610aee848484611ae4565b610b6484610afa611785565b610b5f85604051806060016040528060288152602001612b1b602891396001600160a01b038a16600090815260356020526040812090610b38611785565b6001600160a01b03168152602081019190915260400160002054919063ffffffff611b5316565b611789565b5060019392505050565b6000610b78611bea565b60015490915060ff1680610b8f5750610b8f611bef565b80610b9b575060005481115b610bd65760405162461bcd60e51b815260040180806020018281038252602e815260200180612b6d602e913960400191505060405180910390fd5b60015460ff16158015610bf5576001805460ff19168117905560008290555b610c016037878761297d565b50610c0e6038858561297d565b50610c1887611bf5565b8015610c29576001805460ff191690555b50505050505050565b60395460ff1690565b6001600160a01b038281166000908152603d6020526040902054163314610c935760405162461bcd60e51b815260040180806020018281038252603a815260200180612cf8603a913960400191505060405180910390fd5b610c9d8282611875565b5050565b6000610903610cae611785565b84610b5f8560356000610cbf611785565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff611c0b16565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d5c5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b6000806000610d6a85611c65565b93509350935050610d7c858386611d7a565b610d868585611e7a565b6000610d98848663ffffffff611f8216565b610da857610da586611fc4565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db868584610de05785610de3565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152603b60205260409020541690565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b610ec96001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848463ffffffff61207616565b50919050565b604080516376e9d61560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916376e9d615916064808301926020929190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b50519392505050565b600080610fa8836120c8565b6001600160a01b0384166000908152603c602052604090205490915081158015610fd0575080155b15610fe057600092505050610adc565b6001600160a01b038481166000908152603b602052604090205416611031576110288161101c86611017868463ffffffff611c0b16565b6120e3565b9063ffffffff611f8216565b92505050610adc565b6110286110428261101c87856120e3565b839063ffffffff611c0b16565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b60006110e5836121eb565b9250505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d60208110156111ab57600080fd5b50516001600160a01b0385166000908152603a6020526040902081905590506111e5846111de848663ffffffff611c0b16565b6000611d7a565b6111fe846111f9858563ffffffff611c0b16565b61222e565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60388054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b60006109036112be611785565b84610b5f85604051806060016040528060258152602001612cd360259139603560006112e8611785565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611b5316565b600061090361132c611785565b8484611ae4565b6000610907826120c8565b60001981565b60008111611399576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b6000806113a5336121eb565b90935091508390506000198114156113ba5750815b828111156113f95760405162461bcd60e51b8152600401808060200182810382526032815260200180612a5b6032913960400191505060405180910390fd5b6114033382610ecf565b611454576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61145f338383611d7a565b808211156114805761147b336111f9848463ffffffff611f8216565b611499565b61149933611494838563ffffffff611f8216565b611e7a565b60006114ab848363ffffffff611f8216565b6114be576114b833611fc4565b50611595565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561155457600080fd5b505afa158015611568573d6000803e3d6000fd5b505050506040513d602081101561157e57600080fd5b5051336000908152603a6020526040902081905590505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639895e3d87f000000000000000000000000000000000000000000000000000000000000000033856115f7898263ffffffff611f8216565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561166657600080fd5b505af115801561167a573d6000803e3d6000fd5b5050604080518581526020810187905280820185905290513393507fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a764692509081900360600190a25050505050565b6001600160a01b03918216600090815260356020908152604080832093909416825291909152205490565b6001600160a01b03166000908152603a602052604090205490565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117755760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b61178083838361232c565b505050565b3390565b6001600160a01b0383166117ce5760405162461bcd60e51b8152600401808060200182810382526024815260200180612c536024913960400191505060405180910390fd5b6001600160a01b0382166118135760405162461bcd60e51b8152600401808060200182810382526022815260200180612a8d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260356020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038083166000908152603b602052604090205481169082168114156118d25760405162461bcd60e51b815260040180806020018281038252602a815260200180612b43602a913960400191505060405180910390fd5b6000806000806118e187611c65565b9350935093509350600083116119285760405162461bcd60e51b8152600401808060200182810382526042815260200180612b9b6042913960600191505060405180910390fd5b6001600160a01b038516156119435761194387600086611d7a565b866001600160a01b0316866001600160a01b031614156119cf576001600160a01b0387166000818152603b6020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a35050505050610c9d565b6001600160a01b038781166000908152603b6020526040812080546001600160a01b03191692891692909217909155611a0b9088908590611d7a565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60365490565b600061090782633b9aca0063ffffffff61247b16565b6000611ac46b033b2e3c9fd0803ce8000000611ab8611aa5868663ffffffff61247b16565b6b019d971e4fe8401e7400000090611c0b565b9063ffffffff6124d416565b9392505050565b6000631dcd6500611ac4633b9aca00611ab88386611c0b565b8281611af08282610ecf565b611b41576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b611b4c85858561232c565b5050505050565b60008184841115611be25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba7578181015183820152602001611b8f565b50505050905090810190601f168015611bd45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600190565b303b1590565b6039805460ff191660ff92909216919091179055565b600082820183811015611ac4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806000806000806000611c79886121eb565b925092509250611c89888261222e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d2157600080fd5b505afa158015611d35573d6000803e3d6000fd5b505050506040513d6020811015611d4b57600080fd5b50516001600160a01b03999099166000908152603a602052604090208990555091979096919550909350915050565b6001600160a01b038084166000908152603b60205260409020541680611da05750611780565b600080611dac83611c65565b6001600160a01b0387166000908152603c60205260409020549195509350611de2925086915061101c908863ffffffff611c0b16565b6001600160a01b038085166000908152603c6020908152604080832094909455603b90529190912054168015611e1e57611e1e84846000611d7a565b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b038216611ebf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612c0d6021913960400191505060405180910390fd5b611ecb82600083611780565b611f0e81604051806060016040528060228152602001612a39602291396001600160a01b038516600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b038316600090815260346020526040902055603654611f3a908263ffffffff611f8216565b6036556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000611ac483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b53565b6001600160a01b0381166000818152603b6020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b0382166000908152603c602052604090205461206e57506001600160a01b0381166000908152603a60205260408120556001610adc565b506000610adc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611780908490612516565b6001600160a01b031660009081526034602052604090205490565b6000611ac4610ab7603a6000866001600160a01b03166001600160a01b03168152602001908152602001600020546121df7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156121aa57600080fd5b505afa1580156121be573d6000803e3d6000fd5b505050506040513d60208110156121d457600080fd5b5051610aab87611a6a565b9063ffffffff6125c716565b6000806000806121fa85610f9c565b905060008082156122235761220e876120c8565b9050612220838263ffffffff611f8216565b91505b969195509350915050565b6001600160a01b038216612289576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61229560008383611780565b6036546122a8908263ffffffff611c0b16565b6036556001600160a01b0382166000908152603460205260409020546122d4908263ffffffff611c0b16565b6001600160a01b03831660008181526034602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000811161236b5760405162461bcd60e51b8152600401808060200182810382526030815260200180612bdd6030913960400191505060405180910390fd5b600080600061237986611c65565b9350935093505060008061238c87611c65565b93509350505061239d888588611d7a565b6123b1876111de848963ffffffff611c0b16565b6123bc8888886125ff565b60006123ce868863ffffffff611f8216565b1580156123ed5750876001600160a01b0316896001600160a01b031614155b156123fe576123fb89611fc4565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde8898887866124415789612444565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b60008261248a57506000610907565b8282028284828161249757fe5b0414611ac45760405162461bcd60e51b8152600401808060200182810382526021815260200180612afa6021913960400191505060405180910390fd5b6000611ac483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612768565b606061256b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127cd9092919063ffffffff16565b8051909150156117805780806020019051602081101561258a57600080fd5b50516117805760405162461bcd60e51b815260040180806020018281038252602a815260200180612c77602a913960400191505060405180910390fd5b6000600282046125f783611ab86125ea876b033b2e3c9fd0803ce800000061247b565b849063ffffffff611c0b16565b949350505050565b6001600160a01b0383166126445760405162461bcd60e51b8152600401808060200182810382526025815260200180612c2e6025913960400191505060405180910390fd5b6001600160a01b0382166126895760405162461bcd60e51b8152600401808060200182810382526023815260200180612a166023913960400191505060405180910390fd5b612694838383611780565b6126d781604051806060016040528060268152602001612aaf602691396001600160a01b038616600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b03808516600090815260346020526040808220939093559084168152205461270c908263ffffffff611c0b16565b6001600160a01b0380841660008181526034602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081836127b75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611ba7578181015183820152602001611b8f565b5060008385816127c357fe5b0495945050505050565b60606125f7848460008560606127e285612944565b612833576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106128725780518252601f199092019160209182019101612853565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146128d4576040519150601f19603f3d011682016040523d82523d6000602084013e6128d9565b606091505b509150915081156128ed5791506125f79050565b8051156128fd5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315611ba7578181015183820152602001611b8f565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906125f7575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129be5782800160ff198235161785556129eb565b828001600101855582156129eb579182015b828111156129eb5782358255916020019190600101906129d0565b506129f79291506129fb565b5090565b6108ec91905b808211156129f75760008155600101612a0156fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a2646970667358221220258e8c9ec7d12c303bbae0e567d6f58b851271b041b595753e427ecd117c6ce464736f6c63430006080033"; diff --git a/types/AaveProtocolTestHelpersFactory.ts b/types/AaveProtocolTestHelpersFactory.ts index 79557719..b3abebb2 100644 --- a/types/AaveProtocolTestHelpersFactory.ts +++ b/types/AaveProtocolTestHelpersFactory.ts @@ -123,4 +123,4 @@ const _abi = [ ]; const _bytecode = - "0x60a060405234801561001057600080fd5b506040516109cd3803806109cd83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610936610097600039806083528060ab528061035f52506109366000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630542975c14610046578063b316ff8914610064578063f561ae4114610079575b600080fd5b61004e610081565b60405161005b91906107ed565b60405180910390f35b61006c6100a5565b60405161005b9190610801565b61006c610359565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561010257600080fd5b505afa158015610116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013a9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561017757600080fd5b505afa15801561018b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b391908101906106b6565b90506060815167ffffffffffffffff811180156101cf57600080fd5b5060405190808252806020026020018201604052801561020957816020015b6101f6610613565b8152602001906001900390816101ee5790505b50905060005b825181101561035157604051806040016040528084838151811061022f57fe5b60200260200101516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316146102f05784838151811061026f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102af57600080fd5b505afa1580156102c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102eb9190810190610761565b61030d565b6040518060400160405280600381526020016208aa8960eb1b8152505b815260200184838151811061031e57fe5b60200260200101516001600160a01b031681525082828151811061033e57fe5b602090810291909101015260010161020f565b509250505090565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103b657600080fd5b505afa1580156103ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ee9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561042b57600080fd5b505afa15801561043f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261046791908101906106b6565b90506060815167ffffffffffffffff8111801561048357600080fd5b506040519080825280602002602001820160405280156104bd57816020015b6104aa610613565b8152602001906001900390816104a25790505b50905060005b8251811015610351576000846001600160a01b031663d2493b6c8584815181106104e957fe5b60200260200101516040518263ffffffff1660e01b815260040161050d91906107ed565b60606040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055d919061066a565b505090506040518060400160405280826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e19190810190610761565b8152602001826001600160a01b03168152508383815181106105ff57fe5b6020908102919091010152506001016104c3565b60408051808201909152606081526000602082015290565b80516001600160a01b038116811461064257600080fd5b92915050565b600060208284031215610659578081fd5b610663838361062b565b9392505050565b60008060006060848603121561067e578182fd5b8351610689816108e8565b602085015190935061069a816108e8565b60408501519092506106ab816108e8565b809150509250925092565b600060208083850312156106c8578182fd5b825167ffffffffffffffff808211156106df578384fd5b81850186601f8201126106f0578485fd5b8051925081831115610700578485fd5b8383029150610710848301610891565b8381528481019082860184840187018a101561072a578788fd5b8794505b85851015610754576107408a8261062b565b83526001949094019391860191860161072e565b5098975050505050505050565b600060208284031215610772578081fd5b815167ffffffffffffffff80821115610789578283fd5b81840185601f82011261079a578384fd5b80519250818311156107aa578384fd5b6107bd601f8401601f1916602001610891565b91508282528560208483010111156107d3578384fd5b6107e48360208401602084016108b8565b50949350505050565b6001600160a01b0391909116815260200190565b60208082528251828201819052600091906040908185019080840286018301878501865b8381101561088357603f1989840301855281518051878552805180898701526060610855828289018d86016108b8565b928a01516001600160a01b0316868b015296890196601f01601f191690940101925090860190600101610825565b509098975050505050505050565b60405181810167ffffffffffffffff811182821017156108b057600080fd5b604052919050565b60005b838110156108d35781810151838201526020016108bb565b838111156108e2576000848401525b50505050565b6001600160a01b03811681146108fd57600080fd5b5056fea2646970667358221220ebdb25e0e3af8d6b4ce9d2cf507f8e93949a048ef6af4e27f72aa22aa56157d964736f6c63430006080033"; + "0x60a060405234801561001057600080fd5b506040516109df3803806109df83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610948610097600039806083528060ab528061035f52506109486000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630542975c14610046578063b316ff8914610064578063f561ae4114610079575b600080fd5b61004e610081565b60405161005b91906107ed565b60405180910390f35b61006c6100a5565b60405161005b9190610801565b61006c610359565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561010257600080fd5b505afa158015610116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013a9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561017757600080fd5b505afa15801561018b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b391908101906106b6565b90506060815167ffffffffffffffff811180156101cf57600080fd5b5060405190808252806020026020018201604052801561020957816020015b6101f6610613565b8152602001906001900390816101ee5790505b50905060005b825181101561035157604051806040016040528084838151811061022f57fe5b60200260200101516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316146102f05784838151811061026f57fe5b60200260200101516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102af57600080fd5b505afa1580156102c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102eb9190810190610761565b61030d565b6040518060400160405280600381526020016208aa8960eb1b8152505b815260200184838151811061031e57fe5b60200260200101516001600160a01b031681525082828151811061033e57fe5b602090810291909101015260010161020f565b509250505090565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103b657600080fd5b505afa1580156103ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ee9190610648565b90506060816001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b15801561042b57600080fd5b505afa15801561043f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261046791908101906106b6565b90506060815167ffffffffffffffff8111801561048357600080fd5b506040519080825280602002602001820160405280156104bd57816020015b6104aa610613565b8152602001906001900390816104a25790505b50905060005b8251811015610351576000846001600160a01b031663d2493b6c8584815181106104e957fe5b60200260200101516040518263ffffffff1660e01b815260040161050d91906107ed565b60606040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055d919061066a565b505090506040518060400160405280826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e19190810190610761565b8152602001826001600160a01b03168152508383815181106105ff57fe5b6020908102919091010152506001016104c3565b60408051808201909152606081526000602082015290565b80516001600160a01b038116811461064257600080fd5b92915050565b600060208284031215610659578081fd5b610663838361062b565b9392505050565b60008060006060848603121561067e578182fd5b8351610689816108fa565b602085015190935061069a816108fa565b60408501519092506106ab816108fa565b809150509250925092565b600060208083850312156106c8578182fd5b825167ffffffffffffffff808211156106df578384fd5b81850186601f8201126106f0578485fd5b8051925081831115610700578485fd5b838302915061071084830161089a565b8381528481019082860184840187018a101561072a578788fd5b8794505b85851015610754576107408a8261062b565b83526001949094019391860191860161072e565b5098975050505050505050565b600060208284031215610772578081fd5b815167ffffffffffffffff80821115610789578283fd5b81840185601f82011261079a578384fd5b80519250818311156107aa578384fd5b6107bd601f8401601f191660200161089a565b91508282528560208483010111156107d3578384fd5b6107e48360208401602084016108ca565b50949350505050565b6001600160a01b0391909116815260200190565b60208082528251828201819052600091906040908185019080840286018301878501865b8381101561088c57888303603f1901855281518051878552805161084b818a88016108c1565b61085882828d86016108ca565b928a01516001600160a01b0316958a01959095525094870194601f93909301601f1916929092019190860190600101610825565b509098975050505050505050565b60405181810167ffffffffffffffff811182821017156108b957600080fd5b604052919050565b90815260200190565b60005b838110156108e55781810151838201526020016108cd565b838111156108f4576000848401525b50505050565b6001600160a01b038116811461090f57600080fd5b5056fea26469706673582212204882c43ff36f44dd061d94d4edb41f8db47ade6e4862ffb0445bd1ae59410c2364736f6c63430006080033"; diff --git a/types/DebtTokenBaseFactory.ts b/types/DebtTokenBaseFactory.ts index a6a89f8a..9a0e1c1c 100644 --- a/types/DebtTokenBaseFactory.ts +++ b/types/DebtTokenBaseFactory.ts @@ -27,6 +27,16 @@ const _abi = [ internalType: "address", name: "_underlyingAssetAddress", type: "address" + }, + { + internalType: "string", + name: "_name", + type: "string" + }, + { + internalType: "string", + name: "_symbol", + type: "string" } ], stateMutability: "nonpayable", diff --git a/types/GenericLogicFactory.ts b/types/GenericLogicFactory.ts index 57500d9e..9bff2d7d 100644 --- a/types/GenericLogicFactory.ts +++ b/types/GenericLogicFactory.ts @@ -79,4 +79,4 @@ const _abi = [ ]; const _bytecode = - "0x610e85610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063865cb0ce14610050578063c3525c2814610079578063d609bd1b1461008e575b600080fd5b61006361005e366004610c0b565b6100a1565b6040516100709190610d70565b60405180910390f35b610081610326565b6040516100709190610e46565b61008161009c366004610d31565b610332565b60006100ba6100b536879003870187610cdc565b610374565b158061010857506001600160a01b03891660009081526020879052604090206009015461010690600160d01b900460ff166100fa36889003880188610cdc565b9063ffffffff61039c16565b155b156101155750600161031a565b61011d610af7565b6001600160a01b038a166000908152602088905260409020610141906005016103b4565b845250506020820181905261015a57600191505061031a565b6101a9898861016e368a90038a018a610cdc565b8888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a92506103fb915050565b506080850152506060830181905260408301919091526101cd57600191505061031a565b6102708160000151600a0a6102648a866001600160a01b031663b3596f078f6040518263ffffffff1660e01b81526004016102089190610d5c565b60206040518083038186803b15801561022057600080fd5b505afa158015610234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102589190610d19565b9063ffffffff6108fb16565b9063ffffffff61093e16565b60c08201819052604082015161028b9163ffffffff61098016565b60e082018190526102a057600091505061031a565b6102eb8160e001516102646102c68460a001518560c001516108fb90919063ffffffff16565b608085015160408601516102df9163ffffffff6108fb16565b9063ffffffff61098016565b610100820181905260e0820151606083015160009261030b9291906109c2565b670de0b6b3a764000010925050505b98975050505050505050565b670de0b6b3a764000081565b600080610345858463ffffffff6109fa16565b90508381101561035957600091505061036d565b610369818563ffffffff61098016565b9150505b9392505050565b517f555555555555555555555555555555555555555555555555555555555555555516151590565b815160016002830281019190911c1615155b92915050565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610f01600160d01b031690565b600080600080600061040b610b53565b61041489610a1e565b1561043157506000945084935083925082915060001990506108ee565b600060e08201525b87518160e0015110156108415760e081015161045c908a9063ffffffff610a2316565b61046557610831565b878160e001518151811061047557fe5b6020908102919091018101516001600160a01b031661020083018190526000908152908b9052604090206104ab600582016103b4565b6080860181905260c08601929092525060a0840191909152600a0a602083015261020082015160405163b3596f0760e01b81526001600160a01b038a169163b3596f07916104fc9190600401610d5c565b60206040518083038186803b15801561051457600080fd5b505afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610d19565b825260a082015115801590610572575060e0820151610572908b9063ffffffff61039c16565b156106a35760068101546040516370a0823160e01b81526001600160a01b03909116906370a08231906105a9908f90600401610d5c565b60206040518083038186803b1580156105c157600080fd5b505afa1580156105d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f99190610d19565b604083018190526020830151835160009261061e92916102649163ffffffff6108fb16565b610120840151909150610637908263ffffffff610a3316565b61012084015260a08301516106699061065790839063ffffffff6108fb16565b6101808501519063ffffffff610a3316565b61018084015260c083015161069b9061068990839063ffffffff6108fb16565b6101a08501519063ffffffff610a3316565b6101a0840152505b60e08201516106b9908b9063ffffffff610a5816565b1561082f5760078101546040516370a0823160e01b81526001600160a01b03909116906370a08231906106f0908f90600401610d5c565b60206040518083038186803b15801561070857600080fd5b505afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107409190610d19565b8260600181815250506107f08160080160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040161078f9190610d5c565b60206040518083038186803b1580156107a757600080fd5b505afa1580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df9190610d19565b60608401519063ffffffff610a3316565b60608301819052602083015183516108289261081692916102649163ffffffff6108fb16565b6101408401519063ffffffff610a3316565b6101408301525b505b60e0810180516001019052610439565b600081610120015111610855576000610870565b6101208101516101808201516108709163ffffffff61093e16565b6101808201526101208101516108875760006108a2565b6101208101516101a08201516108a29163ffffffff61093e16565b6101a082018190526101208201516101408301516108bf926109c2565b61010082018190526101208201516101408301516101808401516101a090940151919850965091945090925090505b9550955095509550959050565b60008261090a575060006103ae565b8282028284828161091757fe5b041461036d5760405162461bcd60e51b815260040161093590610e05565b60405180910390fd5b600061036d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a68565b600061036d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a9f565b6000826109d2575060001961036d565b6109f2836109e6868563ffffffff6109fa16565b9063ffffffff610acb16565b949350505050565b600061036d612710610264610a15868663ffffffff6108fb16565b61138890610a33565b511590565b9051600360029092021c16151590565b60008282018381101561036d5760405162461bcd60e51b815260040161093590610dce565b9051600160029092021c16151590565b60008183610a895760405162461bcd60e51b81526004016109359190610d7b565b506000838581610a9557fe5b0495945050505050565b60008184841115610ac35760405162461bcd60e51b81526004016109359190610d7b565b505050900390565b6000600282046109f283610264610aea87670de0b6b3a76400006108fb565b849063ffffffff610a3316565b604051806101600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b80356001600160a01b03811681146103ae57600080fd5b600080600080600080600080888a0360e0811215610c27578485fd5b610c318b8b610bf4565b9850610c408b60208c01610bf4565b975060408a0135965060608a013595506020607f1982011215610c61578485fd5b5060808901935060a089013567ffffffffffffffff80821115610c82578485fd5b818b018c601f820112610c93578586fd5b8035925081831115610ca3578586fd5b8c60208085028301011115610cb6578586fd5b6020019450909250610ccd90508a60c08b01610bf4565b90509295985092959890939650565b600060208284031215610ced578081fd5b6040516020810181811067ffffffffffffffff82111715610d0c578283fd5b6040529135825250919050565b600060208284031215610d2a578081fd5b5051919050565b600080600060608486031215610d45578283fd5b505081359360208301359350604090920135919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015610da757858101830151858201604001528201610d8b565b81811115610db85783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b9081526020019056fea26469706673582212202d62133800a63a567a49bef18d5bd1a61108768932aee14bc224e5635445e4f564736f6c63430006080033"; + "0x610e9f610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063865cb0ce14610050578063c3525c2814610079578063d609bd1b1461008e575b600080fd5b61006361005e366004610c0b565b6100a1565b6040516100709190610d72565b60405180910390f35b610081610326565b6040516100709190610e48565b61008161009c366004610d33565b610332565b60006100ba6100b536879003870187610cde565b610374565b158061010857506001600160a01b03891660009081526020879052604090206009015461010690600160d01b900460ff166100fa36889003880188610cde565b9063ffffffff61039c16565b155b156101155750600161031a565b61011d610af7565b6001600160a01b038a166000908152602088905260409020610141906005016103b4565b845250506020820181905261015a57600191505061031a565b6101a9898861016e368a90038a018a610cde565b8888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a92506103fb915050565b506080850152506060830181905260408301919091526101cd57600191505061031a565b6102708160000151600a0a6102648a866001600160a01b031663b3596f078f6040518263ffffffff1660e01b81526004016102089190610d5e565b60206040518083038186803b15801561022057600080fd5b505afa158015610234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102589190610d1b565b9063ffffffff6108fb16565b9063ffffffff61093e16565b60c08201819052604082015161028b9163ffffffff61098016565b60e082018190526102a057600091505061031a565b6102eb8160e001516102646102c68460a001518560c001516108fb90919063ffffffff16565b608085015160408601516102df9163ffffffff6108fb16565b9063ffffffff61098016565b610100820181905260e0820151606083015160009261030b9291906109c2565b670de0b6b3a764000010925050505b98975050505050505050565b670de0b6b3a764000081565b600080610345858463ffffffff6109fa16565b90508381101561035957600091505061036d565b610369818563ffffffff61098016565b9150505b9392505050565b517f555555555555555555555555555555555555555555555555555555555555555516151590565b815160016002830281019190911c1615155b92915050565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610f01600160d01b031690565b600080600080600061040b610b53565b61041489610a1e565b1561043157506000945084935083925082915060001990506108ee565b600060e08201525b87518160e0015110156108415760e081015161045c908a9063ffffffff610a2316565b61046557610831565b878160e001518151811061047557fe5b6020908102919091018101516001600160a01b031661020083018190526000908152908b9052604090206104ab600582016103b4565b6080860181905260c08601929092525060a0840191909152600a0a602083015261020082015160405163b3596f0760e01b81526001600160a01b038a169163b3596f07916104fc9190600401610d5e565b60206040518083038186803b15801561051457600080fd5b505afa158015610528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054c9190610d1b565b825260a082015115801590610572575060e0820151610572908b9063ffffffff61039c16565b156106a35760068101546040516370a0823160e01b81526001600160a01b03909116906370a08231906105a9908f90600401610d5e565b60206040518083038186803b1580156105c157600080fd5b505afa1580156105d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f99190610d1b565b604083018190526020830151835160009261061e92916102649163ffffffff6108fb16565b610120840151909150610637908263ffffffff610a3316565b61012084015260a08301516106699061065790839063ffffffff6108fb16565b6101808501519063ffffffff610a3316565b61018084015260c083015161069b9061068990839063ffffffff6108fb16565b6101a08501519063ffffffff610a3316565b6101a0840152505b60e08201516106b9908b9063ffffffff610a5816565b1561082f5760078101546040516370a0823160e01b81526001600160a01b03909116906370a08231906106f0908f90600401610d5e565b60206040518083038186803b15801561070857600080fd5b505afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107409190610d1b565b8260600181815250506107f08160080160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040161078f9190610d5e565b60206040518083038186803b1580156107a757600080fd5b505afa1580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df9190610d1b565b60608401519063ffffffff610a3316565b60608301819052602083015183516108289261081692916102649163ffffffff6108fb16565b6101408401519063ffffffff610a3316565b6101408301525b505b60e0810180516001019052610439565b600081610120015111610855576000610870565b6101208101516101808201516108709163ffffffff61093e16565b6101808201526101208101516108875760006108a2565b6101208101516101a08201516108a29163ffffffff61093e16565b6101a082018190526101208201516101408301516108bf926109c2565b61010082018190526101208201516101408301516101808401516101a090940151919850965091945090925090505b9550955095509550959050565b60008261090a575060006103ae565b8282028284828161091757fe5b041461036d5760405162461bcd60e51b815260040161093590610e07565b60405180910390fd5b600061036d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a68565b600061036d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a9f565b6000826109d2575060001961036d565b6109f2836109e6868563ffffffff6109fa16565b9063ffffffff610acb16565b949350505050565b600061036d612710610264610a15868663ffffffff6108fb16565b61138890610a33565b511590565b9051600360029092021c16151590565b60008282018381101561036d5760405162461bcd60e51b815260040161093590610dd0565b9051600160029092021c16151590565b60008183610a895760405162461bcd60e51b81526004016109359190610d7d565b506000838581610a9557fe5b0495945050505050565b60008184841115610ac35760405162461bcd60e51b81526004016109359190610d7d565b505050900390565b6000600282046109f283610264610aea87670de0b6b3a76400006108fb565b849063ffffffff610a3316565b604051806101600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b80356001600160a01b03811681146103ae57600080fd5b600080600080600080600080888a0360e0811215610c27578485fd5b8935610c3281610e51565b985060208a0135610c4281610e51565b975060408a0135965060608a013595506020607f1982011215610c63578485fd5b5060808901935060a089013567ffffffffffffffff80821115610c84578485fd5b818b018c601f820112610c95578586fd5b8035925081831115610ca5578586fd5b8c60208085028301011115610cb8578586fd5b6020019450909250610ccf90508a60c08b01610bf4565b90509295985092959890939650565b600060208284031215610cef578081fd5b6040516020810181811067ffffffffffffffff82111715610d0e578283fd5b6040529135825250919050565b600060208284031215610d2c578081fd5b5051919050565b600080600060608486031215610d47578283fd5b505081359360208301359350604090920135919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015610da957858101830151858201604001528201610d8d565b81811115610dba5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b6001600160a01b0381168114610e6657600080fd5b5056fea264697066735822122009015608c3565ded56e95d2ab918e32bdc984d1bcb12594bd99e167dd271df5e64736f6c63430006080033"; diff --git a/types/LendingPoolConfigurator.d.ts b/types/LendingPoolConfigurator.d.ts index b9aa67a6..78847364 100644 --- a/types/LendingPoolConfigurator.d.ts +++ b/types/LendingPoolConfigurator.d.ts @@ -101,9 +101,25 @@ interface LendingPoolConfiguratorInterface extends Interface { updateAToken: TypedFunctionDescription<{ encode([_reserve, _implementation]: [string, string]): string; }>; + + updateStableDebtToken: TypedFunctionDescription<{ + encode([_reserve, _implementation]: [string, string]): string; + }>; + + updateVariableDebtToken: TypedFunctionDescription<{ + encode([_reserve, _implementation]: [string, string]): string; + }>; }; events: { + ATokenUpgraded: TypedEventDescription<{ + encodeTopics([_reserve, _proxy, _implementation]: [ + null, + null, + null + ]): string[]; + }>; + BorrowingDisabledOnReserve: TypedEventDescription<{ encodeTopics([_reserve]: [string | null]): string[]; }>; @@ -171,6 +187,14 @@ interface LendingPoolConfiguratorInterface extends Interface { encodeTopics([_reserve]: [string | null]): string[]; }>; + StableDebtTokenUpgraded: TypedEventDescription<{ + encodeTopics([_reserve, _proxy, _implementation]: [ + null, + null, + null + ]): string[]; + }>; + StableRateDisabledOnReserve: TypedEventDescription<{ encodeTopics([_reserve]: [string | null]): string[]; }>; @@ -178,6 +202,14 @@ interface LendingPoolConfiguratorInterface extends Interface { StableRateEnabledOnReserve: TypedEventDescription<{ encodeTopics([_reserve]: [string | null]): string[]; }>; + + VariableDebtTokenUpgraded: TypedEventDescription<{ + encodeTopics([_reserve, _proxy, _implementation]: [ + null, + null, + null + ]): string[]; + }>; }; } @@ -313,6 +345,18 @@ export class LendingPoolConfigurator extends Contract { _implementation: string, overrides?: TransactionOverrides ): Promise; + + updateStableDebtToken( + _reserve: string, + _implementation: string, + overrides?: TransactionOverrides + ): Promise; + + updateVariableDebtToken( + _reserve: string, + _implementation: string, + overrides?: TransactionOverrides + ): Promise; }; CONFIGURATOR_REVISION(): Promise; @@ -426,7 +470,25 @@ export class LendingPoolConfigurator extends Contract { overrides?: TransactionOverrides ): Promise; + updateStableDebtToken( + _reserve: string, + _implementation: string, + overrides?: TransactionOverrides + ): Promise; + + updateVariableDebtToken( + _reserve: string, + _implementation: string, + overrides?: TransactionOverrides + ): Promise; + filters: { + ATokenUpgraded( + _reserve: null, + _proxy: null, + _implementation: null + ): EventFilter; + BorrowingDisabledOnReserve(_reserve: string | null): EventFilter; BorrowingEnabledOnReserve( @@ -475,9 +537,21 @@ export class LendingPoolConfigurator extends Contract { ReserveUnfreezed(_reserve: string | null): EventFilter; + StableDebtTokenUpgraded( + _reserve: null, + _proxy: null, + _implementation: null + ): EventFilter; + StableRateDisabledOnReserve(_reserve: string | null): EventFilter; StableRateEnabledOnReserve(_reserve: string | null): EventFilter; + + VariableDebtTokenUpgraded( + _reserve: null, + _proxy: null, + _implementation: null + ): EventFilter; }; estimate: { @@ -549,5 +623,15 @@ export class LendingPoolConfigurator extends Contract { unfreezeReserve(_reserve: string): Promise; updateAToken(_reserve: string, _implementation: string): Promise; + + updateStableDebtToken( + _reserve: string, + _implementation: string + ): Promise; + + updateVariableDebtToken( + _reserve: string, + _implementation: string + ): Promise; }; } diff --git a/types/LendingPoolConfiguratorFactory.ts b/types/LendingPoolConfiguratorFactory.ts index 45d50deb..0dd16d42 100644 --- a/types/LendingPoolConfiguratorFactory.ts +++ b/types/LendingPoolConfiguratorFactory.ts @@ -38,6 +38,31 @@ export class LendingPoolConfiguratorFactory extends ContractFactory { } const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_proxy", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_implementation", + type: "address" + } + ], + name: "ATokenUpgraded", + type: "event" + }, { anonymous: false, inputs: [ @@ -298,6 +323,31 @@ const _abi = [ name: "ReserveUnfreezed", type: "event" }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_proxy", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_implementation", + type: "address" + } + ], + name: "StableDebtTokenUpgraded", + type: "event" + }, { anonymous: false, inputs: [ @@ -324,6 +374,31 @@ const _abi = [ name: "StableRateEnabledOnReserve", type: "event" }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_reserve", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_proxy", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "_implementation", + type: "address" + } + ], + name: "VariableDebtTokenUpgraded", + type: "event" + }, { inputs: [], name: "CONFIGURATOR_REVISION", @@ -671,8 +746,44 @@ const _abi = [ outputs: [], stateMutability: "nonpayable", type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_implementation", + type: "address" + } + ], + name: "updateStableDebtToken", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_reserve", + type: "address" + }, + { + internalType: "address", + name: "_implementation", + type: "address" + } + ], + name: "updateVariableDebtToken", + outputs: [], + stateMutability: "nonpayable", + type: "function" } ]; const _bytecode = - "0x60806040526000805534801561001457600080fd5b50613a6f806100246000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637cadffd9116100b8578063bf3441831161007c578063bf3441831461025d578063c4d66de814610270578063e8ae2f5b14610283578063eede87c114610296578063ef1f9373146102a9578063f53a2515146102bc57610137565b80637cadffd91461020957806380e17d871461021c578063a5bc826c14610224578063a8dc0f4514610237578063b75d6f341461024a57610137565b806366bbd928116100ff57806366bbd928146101a85780636fd435ac146101bb57806372f46aaa146101ce5780637aca76eb146101e15780637af635a6146101f457610137565b80630e30428d1461013c57806316f0115b146101515780631d2118f91461016f5780633e72a4541461018257806345fe794614610195575b600080fd5b61014f61014a366004612b2b565b6102cf565b005b6101596104b7565b6040516101669190612d91565b60405180910390f35b61014f61017d3660046129f4565b6104c6565b61014f6101903660046129b5565b610609565b61014f6101a33660046129f4565b6108ad565b61014f6101b6366004612b2b565b610bfb565b61014f6101c9366004612a78565b610dcd565b61014f6101dc366004612b2b565b6111d3565b61014f6101ef3660046129b5565b6113a5565b6101fc61157f565b6040516101669190612f8a565b61014f610217366004612b2b565b611584565b610159611756565b61014f610232366004612b56565b611765565b61014f6102453660046129b5565b611972565b61014f6102583660046129b5565b611b4c565b61014f61026b3660046129b5565b611d26565b61014f61027e3660046129b5565b611f00565b61014f6102913660046129b5565b612032565b61014f6102a4366004612afe565b61220c565b61014f6102b73660046129b5565b6123ef565b61014f6102ca3660046129b5565b6125c9565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561031357600080fd5b505afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034b91906129d8565b6001600160a01b03161461037a5760405162461bcd60e51b815260040161037190612ea9565b60405180910390fd5b610382612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906103b2908690600401612d91565b60206040518083038186803b1580156103ca57600080fd5b505afa1580156103de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104029190612c1c565b9050610414818363ffffffff6127a316565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161044791879190600401612e90565b600060405180830381600087803b15801561046157600080fd5b505af1158015610475573d6000803e3d6000fd5b505050507f437dd3b61b7c7eee7fc70515c8846482dfca92e2e1e02af5d638c5d4878d671483836040516104aa929190612e90565b60405180910390a1505050565b6035546001600160a01b031681565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561050a57600080fd5b505afa15801561051e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054291906129d8565b6001600160a01b0316146105685760405162461bcd60e51b815260040161037190612ea9565b603554604051631d2118f960e01b81526001600160a01b0390911690631d2118f99061059a9085908590600401612da5565b600060405180830381600087803b1580156105b457600080fd5b505af11580156105c8573d6000803e3d6000fd5b505050507f5644b64ebb0ce18c4032248ca52f58355469092ff072866c3dcd8640e817d6a582826040516105fd929190612da5565b60405180910390a15050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561064d57600080fd5b505afa158015610661573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068591906129d8565b6001600160a01b0316146106ab5760405162461bcd60e51b815260040161037190612ea9565b6035546040516335ea6a7560e01b8152600091829182916001600160a01b0316906335ea6a75906106e0908790600401612d91565b6101406040518083038186803b1580156106f957600080fd5b505afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107319190612cf1565b5050505050505092509250925082600014801561074c575081155b8015610756575080155b6107725760405162461bcd60e51b815260040161037190612f40565b61077a612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906107aa908890600401612d91565b60206040518083038186803b1580156107c257600080fd5b505afa1580156107d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fa9190612c1c565b905061080d81600063ffffffff6127ba16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161084091899190600401612e90565b600060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b50506040516001600160a01b03881692507f6f60cf8bd0f218cabe1ea3150bd07b0b758c35c4cfdf7138017a283e65564d5e9150600090a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156108f157600080fd5b505afa158015610905573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092991906129d8565b6001600160a01b03161461094f5760405162461bcd60e51b815260040161037190612ea9565b6035546040516334924edb60e21b81526000916001600160a01b03169063d2493b6c90610980908690600401612d91565b60606040518083038186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d09190612a2c565b5050603554604051633e15014160e01b81529192506000916001600160a01b0390911690633e15014190610a08908790600401612d91565b6101406040518083038186803b158015610a2157600080fd5b505afa158015610a35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a599190612c41565b50505050505050505090506000829050606082856001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae19190810190612b90565b866001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610b1a57600080fd5b505afa158015610b2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b569190810190612b90565b604051602401610b6893929190612fa9565b60408051601f198184030181529181526020820180516001600160e01b031663188c392760e11b1790525163278f794360e11b81529091506001600160a01b03831690634f1ef28690610bc19088908590600401612e64565b600060405180830381600087803b158015610bdb57600080fd5b505af1158015610bef573d6000803e3d6000fd5b50505050505050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015610c3f57600080fd5b505afa158015610c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7791906129d8565b6001600160a01b031614610c9d5760405162461bcd60e51b815260040161037190612ea9565b610ca5612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790610cd5908690600401612d91565b60206040518083038186803b158015610ced57600080fd5b505afa158015610d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d259190612c1c565b9050610d37818363ffffffff6127e716565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691610d6a91879190600401612e90565b600060405180830381600087803b158015610d8457600080fd5b505af1158015610d98573d6000803e3d6000fd5b505050507f2e73b7f1df792712003e6859f940c1e8711c3f1329474771fee71d2ec116312983836040516104aa929190612e90565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015610e1157600080fd5b505afa158015610e25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4991906129d8565b6001600160a01b031614610e6f5760405162461bcd60e51b815260040161037190612ea9565b6000610f658684886001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610eaf57600080fd5b505afa158015610ec3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eeb9190810190612b90565b896001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610f2457600080fd5b505afa158015610f38573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f609190810190612b90565b6127fe565b90506000610fa78685886001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610eaf57600080fd5b90506000610fe98686886001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610eaf57600080fd5b603554604051633d38474960e11b81529192506001600160a01b031690637a708e9290611022908c908790879087908b90600401612de2565b600060405180830381600087803b15801561103c57600080fd5b505af1158015611050573d6000803e3d6000fd5b5050505061105c612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79061108c908d90600401612d91565b60206040518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dc9190612c1c565b90506110f18160ff881663ffffffff6127e716565b61110281600163ffffffff6127ba16565b61111381600063ffffffff6128db16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691611146918e9190600401612e90565b600060405180830381600087803b15801561116057600080fd5b505af1158015611174573d6000803e3d6000fd5b50505050836001600160a01b03168a6001600160a01b03167f3a0ca721fc364424566385a1aa271ed508cc2c0949c2272575fb3013a163a45f8585896040516111bf93929190612dbf565b60405180910390a350505050505050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561121757600080fd5b505afa15801561122b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124f91906129d8565b6001600160a01b0316146112755760405162461bcd60e51b815260040161037190612ea9565b61127d612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906112ad908690600401612d91565b60206040518083038186803b1580156112c557600080fd5b505afa1580156112d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fd9190612c1c565b905061130f818363ffffffff61290816565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161134291879190600401612e90565b600060405180830381600087803b15801561135c57600080fd5b505af1158015611370573d6000803e3d6000fd5b505050507fda47540c7f7fd5a68c3285f3bb708f322424f948f41df6f51622fa24b396866483836040516104aa929190612e90565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156113e957600080fd5b505afa1580156113fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142191906129d8565b6001600160a01b0316146114475760405162461bcd60e51b815260040161037190612ea9565b61144f612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79061147f908590600401612d91565b60206040518083038186803b15801561149757600080fd5b505afa1580156114ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cf9190612c1c565b90506114e281600163ffffffff6128db16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161151591869190600401612e90565b600060405180830381600087803b15801561152f57600080fd5b505af1158015611543573d6000803e3d6000fd5b50506040516001600160a01b03851692507fda5cdb66c77023db6abe5226a4d4a40c3b8e768012f4ff4e446f62f60127fc569150600090a25050565b600381565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156115c857600080fd5b505afa1580156115dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160091906129d8565b6001600160a01b0316146116265760405162461bcd60e51b815260040161037190612ea9565b61162e612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79061165e908690600401612d91565b60206040518083038186803b15801561167657600080fd5b505afa15801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae9190612c1c565b90506116c0818363ffffffff61291916565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916116f391879190600401612e90565b600060405180830381600087803b15801561170d57600080fd5b505af1158015611721573d6000803e3d6000fd5b505050507fe3ba662f7011e701056a43e8cf832242322eeff01453e7a72d01ec2af36d9aec83836040516104aa929190612e90565b6034546001600160a01b031681565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156117a957600080fd5b505afa1580156117bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e191906129d8565b6001600160a01b0316146118075760405162461bcd60e51b815260040161037190612ea9565b61180f612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79061183f908890600401612d91565b60206040518083038186803b15801561185757600080fd5b505afa15801561186b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188f9190612c1c565b90506118a1818563ffffffff61290816565b6118b1818463ffffffff6127a316565b6118c1818363ffffffff61291916565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916118f491899190600401612e90565b600060405180830381600087803b15801561190e57600080fd5b505af1158015611922573d6000803e3d6000fd5b50505050846001600160a01b03167fdfe62f53e7707d64f99bca15d2bdf3facc4074bc047e7dec2ea130300e99274485858560405161196393929190612f93565b60405180910390a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156119b657600080fd5b505afa1580156119ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ee91906129d8565b6001600160a01b031614611a145760405162461bcd60e51b815260040161037190612ea9565b611a1c612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611a4c908590600401612d91565b60206040518083038186803b158015611a6457600080fd5b505afa158015611a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9c9190612c1c565b9050611aaf81600063ffffffff61293016565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691611ae291869190600401612e90565b600060405180830381600087803b158015611afc57600080fd5b505af1158015611b10573d6000803e3d6000fd5b50506040516001600160a01b03851692507fe9a7e5fd4fc8ea18e602350324bf48e8f05d12434af0ce0be05743e6a5fdcb9e9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015611b9057600080fd5b505afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906129d8565b6001600160a01b031614611bee5760405162461bcd60e51b815260040161037190612ea9565b611bf6612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611c26908590600401612d91565b60206040518083038186803b158015611c3e57600080fd5b505afa158015611c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c769190612c1c565b9050611c8981600163ffffffff6127ba16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691611cbc91869190600401612e90565b600060405180830381600087803b158015611cd657600080fd5b505af1158015611cea573d6000803e3d6000fd5b50506040516001600160a01b03851692507f35b80cd8ea3440e9a8454f116fa658b858da1b64c86c48451f4559cefcdfb56c9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015611d6a57600080fd5b505afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da291906129d8565b6001600160a01b031614611dc85760405162461bcd60e51b815260040161037190612ea9565b611dd0612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611e00908590600401612d91565b60206040518083038186803b158015611e1857600080fd5b505afa158015611e2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e509190612c1c565b9050611e6381600163ffffffff61295d16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691611e9691869190600401612e90565b600060405180830381600087803b158015611eb057600080fd5b505af1158015611ec4573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8dee2b2f3e98319ae6347eda521788f73f4086c9be9a594942b370b137fb8cb19150600090a25050565b6000611f0a61298a565b60015490915060ff1680611f215750611f2161298f565b80611f2d575060005481115b611f495760405162461bcd60e51b815260040161037190612ef2565b60015460ff16158015611f68576001805460ff19168117905560008290555b603480546001600160a01b0319166001600160a01b03858116919091179182905560408051630261bf8b60e01b815290519290911691630261bf8b91600480820192602092909190829003018186803b158015611fc457600080fd5b505afa158015611fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffc91906129d8565b603580546001600160a01b0319166001600160a01b0392909216919091179055801561202d576001805460ff191690555b505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561207657600080fd5b505afa15801561208a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ae91906129d8565b6001600160a01b0316146120d45760405162461bcd60e51b815260040161037190612ea9565b6120dc612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79061210c908590600401612d91565b60206040518083038186803b15801561212457600080fd5b505afa158015612138573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215c9190612c1c565b905061216f81600063ffffffff61290816565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916121a291869190600401612e90565b600060405180830381600087803b1580156121bc57600080fd5b505af11580156121d0573d6000803e3d6000fd5b50506040516001600160a01b03851692507f9cc75e4cafc9a556a369bc53468649075680eb554d225d5918f199453824796d9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561225057600080fd5b505afa158015612264573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228891906129d8565b6001600160a01b0316146122ae5760405162461bcd60e51b815260040161037190612ea9565b6122b6612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906122e6908690600401612d91565b60206040518083038186803b1580156122fe57600080fd5b505afa158015612312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123369190612c1c565b905061234981600163ffffffff61293016565b612359818363ffffffff61295d16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161238c91879190600401612e90565b600060405180830381600087803b1580156123a657600080fd5b505af11580156123ba573d6000803e3d6000fd5b505050507fab2f7f9e5ca2772fafa94f355c1842a80ae6b9e41f83083098d81f67d7a0b50883836040516104aa929190612e49565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561243357600080fd5b505afa158015612447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246b91906129d8565b6001600160a01b0316146124915760405162461bcd60e51b815260040161037190612ea9565b612499612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906124c9908590600401612d91565b60206040518083038186803b1580156124e157600080fd5b505afa1580156124f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125199190612c1c565b905061252c81600063ffffffff6128db16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161255f91869190600401612e90565b600060405180830381600087803b15801561257957600080fd5b505af115801561258d573d6000803e3d6000fd5b50506040516001600160a01b03851692507f995959c2ceab6ce20e8cd89c904e449fd3e21918a0f420c9ec9340595585526b9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561260d57600080fd5b505afa158015612621573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264591906129d8565b6001600160a01b03161461266b5760405162461bcd60e51b815260040161037190612ea9565b612673612995565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906126a3908590600401612d91565b60206040518083038186803b1580156126bb57600080fd5b505afa1580156126cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f39190612c1c565b905061270681600063ffffffff61295d16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161273991869190600401612e90565b600060405180830381600087803b15801561275357600080fd5b505af1158015612767573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8bbf35441ac2c607ddecadd3d8ee58636d32f217fad201fb2655581502dd84e39150600090a25050565b8151670fffffff0000ffff1660109190911b179052565b6038816127c85760006127cb565b60015b8351670effffffffffffff1660ff9190911690911b1790915250565b8151670f00ffffffffffff1660309190911b179052565b60008060405161280d906129a8565b604051809103906000f080158015612829573d6000803e3d6000fd5b509050606085858560405160240161284393929190612fa9565b60408051601f198184030181529181526020820180516001600160e01b031663188c392760e11b1790525163cf7a1d7760e01b81529091506001600160a01b0383169063cf7a1d779061289e908a9030908690600401612e14565b600060405180830381600087803b1580156128b857600080fd5b505af11580156128cc573d6000803e3d6000fd5b50939998505050505050505050565b6039816128e95760006128ec565b60015b8351670dffffffffffffff1660ff9190911690911b1790915250565b8151670fffffffffff000016179052565b8151670fff0000ffffffff1660209190911b179052565b603a8161293e576000612941565b60015b8351670bffffffffffffff1660ff9190911690911b1790915250565b603b8161296b57600061296e565b60015b83516707ffffffffffffff1660ff9190911690911b1790915250565b600390565b303b1590565b6040518060200160405280600081525090565b6109db8061305f83390190565b6000602082840312156129c6578081fd5b81356129d181613038565b9392505050565b6000602082840312156129e9578081fd5b81516129d181613038565b60008060408385031215612a06578081fd5b8235612a1181613038565b91506020830135612a2181613038565b809150509250929050565b600080600060608486031215612a40578081fd5b8351612a4b81613038565b6020850151909350612a5c81613038565b6040850151909250612a6d81613038565b809150509250925092565b60008060008060008060c08789031215612a90578182fd5b8635612a9b81613038565b95506020870135612aab81613038565b94506040870135612abb81613038565b93506060870135612acb81613038565b9250608087013560ff81168114612ae0578283fd5b915060a0870135612af081613038565b809150509295509295509295565b60008060408385031215612b10578182fd5b8235612b1b81613038565b91506020830135612a2181613050565b60008060408385031215612b3d578182fd5b8235612b4881613038565b946020939093013593505050565b60008060008060808587031215612b6b578384fd5b8435612b7681613038565b966020860135965060408601359560600135945092505050565b600060208284031215612ba1578081fd5b815167ffffffffffffffff80821115612bb8578283fd5b81840185601f820112612bc9578384fd5b8051925081831115612bd9578384fd5b612bec601f8401601f1916602001612fe1565b9150828252856020848301011115612c02578384fd5b612c13836020840160208401613008565b50949350505050565b600060208284031215612c2d578081fd5b612c376020612fe1565b9151825250919050565b6000806000806000806000806000806101408b8d031215612c60578384fd5b8a51995060208b0151985060408b0151975060608b0151965060808b0151612c8781613038565b60a08c0151909650612c9881613050565b60c08c0151909550612ca981613050565b60e08c0151909450612cba81613050565b6101008c0151909350612ccc81613050565b6101208c0151909250612cde81613050565b809150509295989b9194979a5092959850565b6000806000806000806000806000806101408b8d031215612d10578384fd5b8a51995060208b0151985060408b0151975060608b0151965060808b0151955060a08b0151945060c08b0151935060e08b015192506101008b015191506101208b015164ffffffffff81168114612cde578182fd5b60008151808452612d7d816020860160208601613008565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0395861681529385166020850152918416604084015283166060830152909116608082015260a00190565b6001600160a01b03848116825283166020820152606060408201819052600090612e4090830184612d65565b95945050505050565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b0383168152604060208201819052600090612e8890830184612d65565b949350505050565b6001600160a01b03929092168252602082015260400190565b60208082526029908201527f5468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f604082015268361036b0b730b3b2b960b91b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f546865206c6971756964697479206f66207468652072657365727665206e65656040820152690647320746f20626520360b41b606082015260800190565b90815260200190565b9283526020830191909152604082015260600190565b600060ff8516825260606020830152612fc56060830185612d65565b8281036040840152612fd78185612d65565b9695505050505050565b60405181810167ffffffffffffffff8111828210171561300057600080fd5b604052919050565b60005b8381101561302357818101518382015260200161300b565b83811115613032576000848401525b50505050565b6001600160a01b038116811461304d57600080fd5b50565b801515811461304d57600080fdfe608060405234801561001057600080fd5b506109bb806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212205332daad1efa09e03cc1b95b9d51cadb3cf32e2d57907a628c0b4a5a20d8051f64736f6c63430006080033a2646970667358221220d7eb975d8536a842b5a4bc6b739f94c2fae0be7d98952e23ec88b24c24fd38b764736f6c63430006080033"; + "0x60806040526000805534801561001457600080fd5b50613f4e806100246000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637cadffd9116100c3578063bf3441831161007c578063bf34418314610299578063c4d66de8146102ac578063e8ae2f5b146102bf578063eede87c1146102d2578063ef1f9373146102e5578063f53a2515146102f85761014d565b80637cadffd91461023257806380e17d8714610245578063a5bc826c1461024d578063a8dc0f4514610260578063aa65b66e14610273578063b75d6f34146102865761014d565b80634d978258116101155780634d978258146101be57806366bbd928146101d15780636fd435ac146101e457806372f46aaa146101f75780637aca76eb1461020a5780637af635a61461021d5761014d565b80630e30428d1461015257806316f0115b146101675780631d2118f9146101855780633e72a4541461019857806345fe7946146101ab575b600080fd5b61016561016036600461300a565b61030b565b005b61016f6104f3565b60405161017c9190613270565b60405180910390f35b610165610193366004612ed3565b610502565b6101656101a6366004612e94565b610645565b6101656101b9366004612ed3565b6108e9565b6101656101cc366004612ed3565b610bd7565b6101656101df36600461300a565b610dff565b6101656101f2366004612f57565b610fd1565b61016561020536600461300a565b6113d7565b610165610218366004612e94565b6115a9565b610225611783565b60405161017c9190613469565b61016561024036600461300a565b611788565b61016f61195a565b61016561025b366004613035565b611969565b61016561026e366004612e94565b611b76565b610165610281366004612ed3565b611d50565b610165610294366004612e94565b611f78565b6101656102a7366004612e94565b612152565b6101656102ba366004612e94565b61232c565b6101656102cd366004612e94565b61245e565b6101656102e0366004612fdd565b612638565b6101656102f3366004612e94565b61281b565b610165610306366004612e94565b6129f5565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561034f57600080fd5b505afa158015610363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103879190612eb7565b6001600160a01b0316146103b65760405162461bcd60e51b81526004016103ad90613388565b60405180910390fd5b6103be612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906103ee908690600401613270565b60206040518083038186803b15801561040657600080fd5b505afa15801561041a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043e91906130fb565b9050610450818363ffffffff612bcf16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916104839187919060040161336f565b600060405180830381600087803b15801561049d57600080fd5b505af11580156104b1573d6000803e3d6000fd5b505050507f437dd3b61b7c7eee7fc70515c8846482dfca92e2e1e02af5d638c5d4878d671483836040516104e692919061336f565b60405180910390a1505050565b6035546001600160a01b031681565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561054657600080fd5b505afa15801561055a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057e9190612eb7565b6001600160a01b0316146105a45760405162461bcd60e51b81526004016103ad90613388565b603554604051631d2118f960e01b81526001600160a01b0390911690631d2118f9906105d69085908590600401613284565b600060405180830381600087803b1580156105f057600080fd5b505af1158015610604573d6000803e3d6000fd5b505050507f5644b64ebb0ce18c4032248ca52f58355469092ff072866c3dcd8640e817d6a58282604051610639929190613284565b60405180910390a15050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561068957600080fd5b505afa15801561069d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c19190612eb7565b6001600160a01b0316146106e75760405162461bcd60e51b81526004016103ad90613388565b6035546040516335ea6a7560e01b8152600091829182916001600160a01b0316906335ea6a759061071c908790600401613270565b6101406040518083038186803b15801561073557600080fd5b505afa158015610749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076d91906131d0565b50505050505050925092509250826000148015610788575081155b8015610792575080155b6107ae5760405162461bcd60e51b81526004016103ad9061341f565b6107b6612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906107e6908890600401613270565b60206040518083038186803b1580156107fe57600080fd5b505afa158015610812573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083691906130fb565b905061084981600063ffffffff612be616565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161087c9189919060040161336f565b600060405180830381600087803b15801561089657600080fd5b505af11580156108aa573d6000803e3d6000fd5b50506040516001600160a01b03881692507f6f60cf8bd0f218cabe1ea3150bd07b0b758c35c4cfdf7138017a283e65564d5e9150600090a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561092d57600080fd5b505afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109659190612eb7565b6001600160a01b03161461098b5760405162461bcd60e51b81526004016103ad90613388565b6035546040516334924edb60e21b81526000916001600160a01b03169063d2493b6c906109bc908690600401613270565b60606040518083038186803b1580156109d457600080fd5b505afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0c9190612f0b565b5050603554604051633e15014160e01b81529192506000916001600160a01b0390911690633e15014190610a44908790600401613270565b6101406040518083038186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a959190613120565b5050505050505050509050610b95828483866001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610adf57600080fd5b505afa158015610af3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b1b919081019061306f565b876001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b90919081019061306f565b612c13565b507fa76f65411ec66a7fb6bc467432eb14767900449ae4469fa295e4441fe5e1cb73848385604051610bc99392919061329e565b60405180910390a150505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015610c1b57600080fd5b505afa158015610c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c539190612eb7565b6001600160a01b031614610c795760405162461bcd60e51b81526004016103ad90613388565b6035546040516334924edb60e21b81526000916001600160a01b03169063d2493b6c90610caa908690600401613270565b60606040518083038186803b158015610cc257600080fd5b505afa158015610cd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfa9190612f0b565b603554604051633e15014160e01b8152919450600093506001600160a01b03169150633e15014190610d30908790600401613270565b6101406040518083038186803b158015610d4957600080fd5b505afa158015610d5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d819190613120565b5050505050505050509050610dcb828483866001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610adf57600080fd5b507f9439658a562a5c46b1173589df89cf001483d685bad28aedaff4a88656292d81848385604051610bc99392919061329e565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015610e4357600080fd5b505afa158015610e57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7b9190612eb7565b6001600160a01b031614610ea15760405162461bcd60e51b81526004016103ad90613388565b610ea9612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790610ed9908690600401613270565b60206040518083038186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2991906130fb565b9050610f3b818363ffffffff612cc616565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691610f6e9187919060040161336f565b600060405180830381600087803b158015610f8857600080fd5b505af1158015610f9c573d6000803e3d6000fd5b505050507f2e73b7f1df792712003e6859f940c1e8711c3f1329474771fee71d2ec116312983836040516104e692919061336f565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561101557600080fd5b505afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d9190612eb7565b6001600160a01b0316146110735760405162461bcd60e51b81526004016103ad90613388565b60006111698684886001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156110b357600080fd5b505afa1580156110c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ef919081019061306f565b896001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561112857600080fd5b505afa15801561113c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611164919081019061306f565b612cdd565b905060006111ab8685886001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156110b357600080fd5b905060006111ed8686886001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156110b357600080fd5b603554604051633d38474960e11b81529192506001600160a01b031690637a708e9290611226908c908790879087908b906004016132c1565b600060405180830381600087803b15801561124057600080fd5b505af1158015611254573d6000803e3d6000fd5b50505050611260612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611290908d90600401613270565b60206040518083038186803b1580156112a857600080fd5b505afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e091906130fb565b90506112f58160ff881663ffffffff612cc616565b61130681600163ffffffff612be616565b61131781600063ffffffff612dba16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161134a918e919060040161336f565b600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50505050836001600160a01b03168a6001600160a01b03167f3a0ca721fc364424566385a1aa271ed508cc2c0949c2272575fb3013a163a45f8585896040516113c39392919061329e565b60405180910390a350505050505050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561141b57600080fd5b505afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114539190612eb7565b6001600160a01b0316146114795760405162461bcd60e51b81526004016103ad90613388565b611481612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906114b1908690600401613270565b60206040518083038186803b1580156114c957600080fd5b505afa1580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150191906130fb565b9050611513818363ffffffff612de716565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916115469187919060040161336f565b600060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050507fda47540c7f7fd5a68c3285f3bb708f322424f948f41df6f51622fa24b396866483836040516104e692919061336f565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156115ed57600080fd5b505afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116259190612eb7565b6001600160a01b03161461164b5760405162461bcd60e51b81526004016103ad90613388565b611653612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611683908590600401613270565b60206040518083038186803b15801561169b57600080fd5b505afa1580156116af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d391906130fb565b90506116e681600163ffffffff612dba16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916117199186919060040161336f565b600060405180830381600087803b15801561173357600080fd5b505af1158015611747573d6000803e3d6000fd5b50506040516001600160a01b03851692507fda5cdb66c77023db6abe5226a4d4a40c3b8e768012f4ff4e446f62f60127fc569150600090a25050565b600381565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156117cc57600080fd5b505afa1580156117e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118049190612eb7565b6001600160a01b03161461182a5760405162461bcd60e51b81526004016103ad90613388565b611832612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611862908690600401613270565b60206040518083038186803b15801561187a57600080fd5b505afa15801561188e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b291906130fb565b90506118c4818363ffffffff612df816565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916118f79187919060040161336f565b600060405180830381600087803b15801561191157600080fd5b505af1158015611925573d6000803e3d6000fd5b505050507fe3ba662f7011e701056a43e8cf832242322eeff01453e7a72d01ec2af36d9aec83836040516104e692919061336f565b6034546001600160a01b031681565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156119ad57600080fd5b505afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190612eb7565b6001600160a01b031614611a0b5760405162461bcd60e51b81526004016103ad90613388565b611a13612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611a43908890600401613270565b60206040518083038186803b158015611a5b57600080fd5b505afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9391906130fb565b9050611aa5818563ffffffff612de716565b611ab5818463ffffffff612bcf16565b611ac5818363ffffffff612df816565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691611af89189919060040161336f565b600060405180830381600087803b158015611b1257600080fd5b505af1158015611b26573d6000803e3d6000fd5b50505050846001600160a01b03167fdfe62f53e7707d64f99bca15d2bdf3facc4074bc047e7dec2ea130300e992744858585604051611b6793929190613472565b60405180910390a25050505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015611bba57600080fd5b505afa158015611bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf29190612eb7565b6001600160a01b031614611c185760405162461bcd60e51b81526004016103ad90613388565b611c20612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790611c50908590600401613270565b60206040518083038186803b158015611c6857600080fd5b505afa158015611c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca091906130fb565b9050611cb381600063ffffffff612e0f16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691611ce69186919060040161336f565b600060405180830381600087803b158015611d0057600080fd5b505af1158015611d14573d6000803e3d6000fd5b50506040516001600160a01b03851692507fe9a7e5fd4fc8ea18e602350324bf48e8f05d12434af0ce0be05743e6a5fdcb9e9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015611d9457600080fd5b505afa158015611da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcc9190612eb7565b6001600160a01b031614611df25760405162461bcd60e51b81526004016103ad90613388565b6035546040516334924edb60e21b81526000916001600160a01b03169063d2493b6c90611e23908690600401613270565b60606040518083038186803b158015611e3b57600080fd5b505afa158015611e4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e739190612f0b565b50603554604051633e15014160e01b8152919350600092506001600160a01b031690633e15014190611ea9908790600401613270565b6101406040518083038186803b158015611ec257600080fd5b505afa158015611ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efa9190613120565b5050505050505050509050611f44828483866001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610adf57600080fd5b507f7a943a5b6c214bf7726c069a878b1e2a8e7371981d516048b84e03743e67bc28848385604051610bc99392919061329e565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015611fbc57600080fd5b505afa158015611fd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff49190612eb7565b6001600160a01b03161461201a5760405162461bcd60e51b81526004016103ad90613388565b612022612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790612052908590600401613270565b60206040518083038186803b15801561206a57600080fd5b505afa15801561207e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a291906130fb565b90506120b581600163ffffffff612be616565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916120e89186919060040161336f565b600060405180830381600087803b15801561210257600080fd5b505af1158015612116573d6000803e3d6000fd5b50506040516001600160a01b03851692507f35b80cd8ea3440e9a8454f116fa658b858da1b64c86c48451f4559cefcdfb56c9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561219657600080fd5b505afa1580156121aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ce9190612eb7565b6001600160a01b0316146121f45760405162461bcd60e51b81526004016103ad90613388565b6121fc612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f79061222c908590600401613270565b60206040518083038186803b15801561224457600080fd5b505afa158015612258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227c91906130fb565b905061228f81600163ffffffff612e3c16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916122c29186919060040161336f565b600060405180830381600087803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8dee2b2f3e98319ae6347eda521788f73f4086c9be9a594942b370b137fb8cb19150600090a25050565b6000612336612e69565b60015490915060ff168061234d575061234d612e6e565b80612359575060005481115b6123755760405162461bcd60e51b81526004016103ad906133d1565b60015460ff16158015612394576001805460ff19168117905560008290555b603480546001600160a01b0319166001600160a01b03858116919091179182905560408051630261bf8b60e01b815290519290911691630261bf8b91600480820192602092909190829003018186803b1580156123f057600080fd5b505afa158015612404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124289190612eb7565b603580546001600160a01b0319166001600160a01b03929092169190911790558015612459576001805460ff191690555b505050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b1580156124a257600080fd5b505afa1580156124b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124da9190612eb7565b6001600160a01b0316146125005760405162461bcd60e51b81526004016103ad90613388565b612508612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790612538908590600401613270565b60206040518083038186803b15801561255057600080fd5b505afa158015612564573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061258891906130fb565b905061259b81600063ffffffff612de716565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916125ce9186919060040161336f565b600060405180830381600087803b1580156125e857600080fd5b505af11580156125fc573d6000803e3d6000fd5b50506040516001600160a01b03851692507f9cc75e4cafc9a556a369bc53468649075680eb554d225d5918f199453824796d9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561267c57600080fd5b505afa158015612690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b49190612eb7565b6001600160a01b0316146126da5760405162461bcd60e51b81526004016103ad90613388565b6126e2612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790612712908690600401613270565b60206040518083038186803b15801561272a57600080fd5b505afa15801561273e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276291906130fb565b905061277581600163ffffffff612e0f16565b612785818363ffffffff612e3c16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d29276916127b89187919060040161336f565b600060405180830381600087803b1580156127d257600080fd5b505af11580156127e6573d6000803e3d6000fd5b505050507fab2f7f9e5ca2772fafa94f355c1842a80ae6b9e41f83083098d81f67d7a0b50883836040516104e6929190613328565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b15801561285f57600080fd5b505afa158015612873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128979190612eb7565b6001600160a01b0316146128bd5760405162461bcd60e51b81526004016103ad90613388565b6128c5612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f7906128f5908590600401613270565b60206040518083038186803b15801561290d57600080fd5b505afa158015612921573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061294591906130fb565b905061295881600063ffffffff612dba16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d292769161298b9186919060040161336f565b600060405180830381600087803b1580156129a557600080fd5b505af11580156129b9573d6000803e3d6000fd5b50506040516001600160a01b03851692507f995959c2ceab6ce20e8cd89c904e449fd3e21918a0f420c9ec9340595585526b9150600090a25050565b603454604080516333128d5960e01b8152905133926001600160a01b0316916333128d59916004808301926020929190829003018186803b158015612a3957600080fd5b505afa158015612a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a719190612eb7565b6001600160a01b031614612a975760405162461bcd60e51b81526004016103ad90613388565b612a9f612e74565b60355460405163c44b11f760e01b81526001600160a01b039091169063c44b11f790612acf908590600401613270565b60206040518083038186803b158015612ae757600080fd5b505afa158015612afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1f91906130fb565b9050612b3281600063ffffffff612e3c16565b6035548151604051635c69493b60e11b81526001600160a01b039092169163b8d2927691612b659186919060040161336f565b600060405180830381600087803b158015612b7f57600080fd5b505af1158015612b93573d6000803e3d6000fd5b50506040516001600160a01b03851692507f8bbf35441ac2c607ddecadd3d8ee58636d32f217fad201fb2655581502dd84e39150600090a25050565b8151670fffffff0000ffff1660109190911b179052565b603881612bf4576000612bf7565b60015b8351670effffffffffffff1660ff9190911690911b1790915250565b6000808690506060858585604051602401612c3093929190613488565b60408051601f198184030181529181526020820180516001600160e01b031663188c392760e11b1790525163278f794360e11b81529091506001600160a01b03831690634f1ef28690612c89908a908590600401613343565b600060405180830381600087803b158015612ca357600080fd5b505af1158015612cb7573d6000803e3d6000fd5b50505050505095945050505050565b8151670f00ffffffffffff1660309190911b179052565b600080604051612cec90612e87565b604051809103906000f080158015612d08573d6000803e3d6000fd5b5090506060858585604051602401612d2293929190613488565b60408051601f198184030181529181526020820180516001600160e01b031663188c392760e11b1790525163cf7a1d7760e01b81529091506001600160a01b0383169063cf7a1d7790612d7d908a90309086906004016132f3565b600060405180830381600087803b158015612d9757600080fd5b505af1158015612dab573d6000803e3d6000fd5b50939998505050505050505050565b603981612dc8576000612dcb565b60015b8351670dffffffffffffff1660ff9190911690911b1790915250565b8151670fffffffffff000016179052565b8151670fff0000ffffffff1660209190911b179052565b603a81612e1d576000612e20565b60015b8351670bffffffffffffff1660ff9190911690911b1790915250565b603b81612e4a576000612e4d565b60015b83516707ffffffffffffff1660ff9190911690911b1790915250565b600390565b303b1590565b6040518060200160405280600081525090565b6109db8061353e83390190565b600060208284031215612ea5578081fd5b8135612eb081613517565b9392505050565b600060208284031215612ec8578081fd5b8151612eb081613517565b60008060408385031215612ee5578081fd5b8235612ef081613517565b91506020830135612f0081613517565b809150509250929050565b600080600060608486031215612f1f578081fd5b8351612f2a81613517565b6020850151909350612f3b81613517565b6040850151909250612f4c81613517565b809150509250925092565b60008060008060008060c08789031215612f6f578182fd5b8635612f7a81613517565b95506020870135612f8a81613517565b94506040870135612f9a81613517565b93506060870135612faa81613517565b9250608087013560ff81168114612fbf578283fd5b915060a0870135612fcf81613517565b809150509295509295509295565b60008060408385031215612fef578182fd5b8235612ffa81613517565b91506020830135612f008161352f565b6000806040838503121561301c578182fd5b823561302781613517565b946020939093013593505050565b6000806000806080858703121561304a578384fd5b843561305581613517565b966020860135965060408601359560600135945092505050565b600060208284031215613080578081fd5b815167ffffffffffffffff80821115613097578283fd5b81840185601f8201126130a8578384fd5b80519250818311156130b8578384fd5b6130cb601f8401601f19166020016134c0565b91508282528560208483010111156130e1578384fd5b6130f28360208401602084016134e7565b50949350505050565b60006020828403121561310c578081fd5b61311660206134c0565b9151825250919050565b6000806000806000806000806000806101408b8d03121561313f578384fd5b8a51995060208b0151985060408b0151975060608b0151965060808b015161316681613517565b60a08c01519096506131778161352f565b60c08c01519095506131888161352f565b60e08c01519094506131998161352f565b6101008c01519093506131ab8161352f565b6101208c01519092506131bd8161352f565b809150509295989b9194979a5092959850565b6000806000806000806000806000806101408b8d0312156131ef578384fd5b8a51995060208b0151985060408b0151975060608b0151965060808b0151955060a08b0151945060c08b0151935060e08b015192506101008b015191506101208b015164ffffffffff811681146131bd578182fd5b6000815180845261325c8160208601602086016134e7565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0395861681529385166020850152918416604084015283166060830152909116608082015260a00190565b6001600160a01b0384811682528316602082015260606040820181905260009061331f90830184613244565b95945050505050565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b038316815260406020820181905260009061336790830184613244565b949350505050565b6001600160a01b03929092168252602082015260400190565b60208082526029908201527f5468652063616c6c6572206d7573742062652061206c656e64696e6720706f6f604082015268361036b0b730b3b2b960b91b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f546865206c6971756964697479206f66207468652072657365727665206e65656040820152690647320746f20626520360b41b606082015260800190565b90815260200190565b9283526020830191909152604082015260600190565b600060ff85168252606060208301526134a46060830185613244565b82810360408401526134b68185613244565b9695505050505050565b60405181810167ffffffffffffffff811182821017156134df57600080fd5b604052919050565b60005b838110156135025781810151838201526020016134ea565b83811115613511576000848401525b50505050565b6001600160a01b038116811461352c57600080fd5b50565b801515811461352c57600080fdfe608060405234801561001057600080fd5b506109bb806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212205332daad1efa09e03cc1b95b9d51cadb3cf32e2d57907a628c0b4a5a20d8051f64736f6c63430006080033a264697066735822122073ec5706ac0bf0b170dbd8446a14daa49be1f3cec5287db139dba2c75e62b61d64736f6c63430006080033"; diff --git a/types/LendingPoolFactory.ts b/types/LendingPoolFactory.ts index 0c18c62a..c5bcf679 100644 --- a/types/LendingPoolFactory.ts +++ b/types/LendingPoolFactory.ts @@ -1200,7 +1200,7 @@ const _abi = [ ]; const _bytecode = - "0x6080604052600060015534801561001557600080fd5b50600160005561553b8061002a6000396000f3fe60806040526004361061019f5760003560e01c80638afaff02116100ec578063c72c4d101161008a578063d0fc81d211610064578063d0fc81d21461051c578063d15e005314610531578063d2493b6c14610551578063d2d0e06614610580576101d4565b8063c72c4d10146104c7578063c858f5f9146104dc578063cd112382146104fc576101d4565b8063b8d29276116100c6578063b8d2927614610428578063bf92857c14610448578063c44b11f71461047a578063c4d66de8146104a7576101d4565b80638afaff02146103d357806394ba89a2146103e85780639895e3d814610408576101d4565b80633e150141116101595780635a3b74b9116101335780635a3b74b9146103465780635cffe9de1461036657806376e9d615146103865780637a708e92146103b3576101d4565b80633e150141146102d05780634fe7a6e514610306578063573ade8114610333576101d4565b8062a718a9146101d95780630902f1ac146101ec5780631d2118f91461021757806328dd2d011461023757806335ea6a751461026d578063386497fd146102a3576101d4565b366101d4576101ad33610593565b6101d25760405162461bcd60e51b81526004016101c990615041565b60405180910390fd5b005b600080fd5b6101d26101e7366004614789565b6105d1565b3480156101f857600080fd5b506102016107a3565b60405161020e9190614d37565b60405180910390f35b34801561022357600080fd5b506101d261023236600461469c565b610805565b34801561024357600080fd5b5061025761025236600461469c565b6108d8565b60405161020e9a99989796959493929190615410565b34801561027957600080fd5b5061028d610288366004614664565b610b83565b60405161020e9a999897969594939291906153c4565b3480156102af57600080fd5b506102c36102be366004614664565b610e7f565b60405161020e919061530a565b3480156102dc57600080fd5b506102f06102eb366004614664565b610ea6565b60405161020e9a99989796959493929190615344565b34801561031257600080fd5b50610326610321366004614a15565b610f7c565b60405161020e9190614ba7565b6101d261034136600461496c565b610fa3565b34801561035257600080fd5b506101d26103613660046148cd565b6112df565b34801561037257600080fd5b506101d2610381366004614822565b6114bb565b34801561039257600080fd5b506103a66103a13660046147e2565b6119df565b60405161020e9190614d84565b3480156103bf57600080fd5b506101d26103ce366004614719565b611b29565b3480156103df57600080fd5b506102c3611c62565b3480156103f457600080fd5b506101d26104033660046148fa565b611c67565b34801561041457600080fd5b506101d26104233660046146d4565b611f70565b34801561043457600080fd5b506101d26104433660046148fa565b612148565b34801561045457600080fd5b50610468610463366004614664565b612209565b60405161020e9695949392919061539c565b34801561048657600080fd5b5061049a610495366004614664565b6123ba565b60405161020e9190615130565b3480156104b357600080fd5b506101d26104c2366004614664565b6123f1565b3480156104d357600080fd5b50610326612525565b3480156104e857600080fd5b506101d26104f73660046149b5565b612534565b34801561050857600080fd5b506101d261051736600461469c565b612ab9565b34801561052857600080fd5b506102c3612dbf565b34801561053d57600080fd5b506102c361054c366004614664565b612dc5565b34801561055d57600080fd5b5061057161056c366004614664565b612de6565b60405161020e93929190614c3a565b6101d261058e366004614925565b612e1b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906105c757508115155b925050505b919050565b600260005414156105f45760405162461bcd60e51b81526004016101c9906150f9565b6002600090815560355460408051632c1a75cd60e11b815290516001600160a01b0390921691635834eb9a91600480820192602092909190829003018186803b15801561064057600080fd5b505afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190614680565b905060006060826001600160a01b031688888888886040516024016106a1959493929190614c5d565b60408051601f198184030181529181526020820180516001600160e01b031662a718a960e01b179052516106d59190614b8b565b600060405180830381855af49150503d8060008114610710576040519150601f19603f3d011682016040523d82523d6000602084013e610715565b606091505b5091509150816107375760405162461bcd60e51b81526004016101c990614fb7565b600060608280602001905181019061074f9190614a45565b9150915081600014610792578060405160200161076c9190614b8b565b60408051601f198184030181529082905262461bcd60e51b82526101c991600401614d8f565b505060016000555050505050505050565b606060398054806020026020016040519081016040528092919081815260200182805480156107fb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107dd575b5050505050905090565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561084957600080fd5b505afa15801561085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108819190614680565b6001600160a01b0316146108a75760405162461bcd60e51b81526004016101c990614fee565b6001600160a01b03918216600090815260376020526040902060090180546001600160a01b03191691909216179055565b6001600160a01b03808316600090815260376020526040808220600681015491516370a0823160e01b81529293849384938493849384938493849384938493919216906370a082319061092f908f90600401614ba7565b60206040518083038186803b15801561094757600080fd5b505afa15801561095b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097f9190614a2d565b9a5061098b8c8261306e565b909a50985061099a8c82613182565b6001830154600784015460405163e78c9b3b60e01b8152939b5091995096506001600160a01b03169063e78c9b3b906109d7908f90600401614ba7565b60206040518083038186803b1580156109ef57600080fd5b505afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190614a2d565b6007820154604051631e739ae360e21b81529197506001600160a01b0316906379ce6b8c90610a5a908f90600401614ba7565b60206040518083038186803b158015610a7257600080fd5b505afa158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa9190614af4565b60098201546001600160a01b038e16600090815260386020908152604091829020825191820190925290548152919450610aee9190600160d01b900460ff1661323b565b6008820154604051633ba641e960e21b81529193506001600160a01b03169063ee9907a490610b21908f90600401614ba7565b60206040518083038186803b158015610b3957600080fd5b505afa158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b719190614a2d565b9350509295989b9194979a5092959850565b600080600080600080600080600080610b9a6144d4565b506001600160a01b03808c1660008181526037602090815260409182902082516101a08101845281548152600182015481840152600282015481850152600382015460608201526004808301546080830152845193840185526005830154845260a08201939093526006820154861660c082018190526007830154871660e08301526008830154871661010083015260099092015495861661012082015264ffffffffff600160a01b87041661014082015260ff600160c81b870481161515610160830152600160d01b90960490951661018086015291516370a0823160e01b81526370a0823192610c8e92909101614ba7565b60206040518083038186803b158015610ca657600080fd5b505afa158015610cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cde9190614a2d565b8160e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1b57600080fd5b505afa158015610d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d539190614a2d565b8261010001516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9157600080fd5b505afa158015610da5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc99190614a2d565b8360200151846040015185606001518660e001516001600160a01b03166390f6fcf26040518163ffffffff1660e01b815260040160206040518083038186803b158015610e1557600080fd5b505afa158015610e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4d9190614a2d565b876000015188608001518961014001519a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6001600160a01b0381166000908152603760205260408120610ea090613252565b92915050565b6000806000806000806000806000806000603760008d6001600160a01b03166001600160a01b031681526020019081526020016000209050610eea816005016132a4565b610ef6826005016132b5565b610f02836005016132c4565b610f0e846005016132d9565b60098501546001600160a01b0316610f28600587016132b5565b1515610f36600588016132ec565b610f42886005016132fe565b610f4e89600501613307565b610f5a8a600501613319565b9a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b60398181548110610f8957fe5b6000918252602090912001546001600160a01b0316905081565b60026000541415610fc65760405162461bcd60e51b81526004016101c9906150f9565b6002600055610fd3614542565b6001600160a01b0385166000908152603760205260409020610ff5838261306e565b6020840181905281845261100f919063ffffffff61332b16565b6080830152600084600281111561102257fe5b9050600181600281111561103257fe5b14611041578260200151611044565b82515b6040840152600019861480159061105e5750826040015186105b1561106b57604083018690525b82516020840151604080860151905163152be4bd60e31b815273__$69254465eb8f179ea24caa73cf68b23524$__9363a95f25e8936110b89388938e938e938a938e9334906004016151d1565b60006040518083038186803b1580156110d057600080fd5b505af41580156110e4573d6000803e3d6000fd5b505050506110f182613350565b60018160028111156110ff57fe5b14156111745760078201546040808501519051632770a7eb60e21b81526001600160a01b0390921691639dc29fac9161113d91889190600401614bbb565b600060405180830381600087803b15801561115757600080fd5b505af115801561116b573d6000803e3d6000fd5b505050506111df565b60088201546040808501519051632770a7eb60e21b81526001600160a01b0390921691639dc29fac916111ac91889190600401614bbb565b600060405180830381600087803b1580156111c657600080fd5b505af11580156111da573d6000803e3d6000fd5b505050505b60408301516111f99083908990600063ffffffff61340816565b604083015160808401516112129163ffffffff61374c16565b61124a5760098201546001600160a01b038516600090815260386020526040812061124a929091600160d01b90910460ff169061378e565b60068201546040840151611276916001600160a01b038a8116923392919091169063ffffffff6137c316565b336001600160a01b0316846001600160a01b0316886001600160a01b03167f81cfb79463601de705d4cf6b8d69112983d76a685120e5e4d3581f30871b87fc8660400151426040516112c99291906152fc565b60405180910390a4505060016000555050505050565b600260005414156113025760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03808416825260376020818152604080852033865260388352948190206035548251631f94a27560e31b8152925173__$69254465eb8f179ea24caa73cf68b23524$__9663a6b84c0b9689968c9691959460399493169263fca513a8926004808201939291829003018186803b15801561138957600080fd5b505afa15801561139d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c19190614680565b6040518763ffffffff1660e01b81526004016113e296959493929190615168565b60006040518083038186803b1580156113fa57600080fd5b505af415801561140e573d6000803e3d6000fd5b50505050600981015433600090815260386020526040902061143a91600160d01b900460ff1684613821565b811561147a5760405133906001600160a01b038516907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f290600090a36114b1565b60405133906001600160a01b038516907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd90600090a35b5050600160005550565b600260005414156114de5760405162461bcd60e51b81526004016101c9906150f9565b60026000556114eb614571565b6001600160a01b0380851660008181526037602052604090819020600681015490931660a0850181905290516370a0823160e01b81526370a082319161153391600401614ba7565b60206040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115839190614a2d565b82526115a861271061159c86600963ffffffff61385c16565b9063ffffffff61389616565b606083018190526115c9906127109061159c90610bb863ffffffff61385c16565b608083015281518411156115ef5760405162461bcd60e51b81526004016101c990614da2565b60008260600151118015611607575060008260800151115b6116235760405162461bcd60e51b81526004016101c99061505d565b60a0820151604051634efecaa560e01b8152879182916001600160a01b0390911690634efecaa59061165b9084908a90600401614bbb565b602060405180830381600087803b15801561167557600080fd5b505af1158015611689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ad9190614a2d565b5060a0840151606085015160405163405b019d60e01b81526001600160a01b0385169263405b019d926116e9928c92918c918c90600401614bf5565b600060405180830381600087803b15801561170357600080fd5b505af1158015611717573d6000803e3d6000fd5b5050505060a08401516040516370a0823160e01b81526000916001600160a01b038a16916370a082319161174d91600401614ba7565b60206040518083038186803b15801561176557600080fd5b505afa158015611779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179d9190614a2d565b606086015186519192506117b7919063ffffffff61332b16565b81146117d55760405162461bcd60e51b81526004016101c990614e79565b8373__$5e6137a1b5a0a366e2874209b5abf71c10$__638acb830b90918a88600001516118138a608001518b6060015161374c90919063ffffffff16565b8a608001516040518663ffffffff1660e01b8152600401611838959493929190615230565b60006040518083038186803b15801561185057600080fd5b505af4158015611864573d6000803e3d6000fd5b505050508460a001516001600160a01b0316634efecaa5603560009054906101000a90046001600160a01b03166001600160a01b031663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b1580156118c957600080fd5b505afa1580156118dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119019190614680565b87608001516040518363ffffffff1660e01b8152600401611923929190614bbb565b602060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119759190614a2d565b50876001600160a01b0316896001600160a01b03167f5b8f46461c1dd69fb968f1a003acee221ea3e19540e350233b612ddb43433b558988606001518960800151426040516119c79493929190615329565b60405180910390a35050600160005550505050505050565b600073__$7347ff53b2b46c21e26a37164ae7f6739f$__63865cb0ce8585856037603860008a6001600160a01b03166001600160a01b031681526020019081526020016000206039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7557600080fd5b505afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad9190614680565b6040518863ffffffff1660e01b8152600401611acf9796959493929190614cb5565b60206040518083038186803b158015611ae757600080fd5b505af4158015611afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1f91906149f9565b90505b9392505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611b6d57600080fd5b505afa158015611b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba59190614680565b6001600160a01b031614611bcb5760405162461bcd60e51b81526004016101c990614fee565b6001600160a01b038516600090815260376020526040908190209051632d621e9960e21b815273__$5e6137a1b5a0a366e2874209b5abf71c10$__9163b5887a6491611c229190889088908890889060040161513a565b60006040518083038186803b158015611c3a57600080fd5b505af4158015611c4e573d6000803e3d6000fd5b50505050611c5b856138d8565b5050505050565b600281565b60026000541415611c8a5760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03831681526037602052604081209080611cb2338461306e565b915091506000846002811115611cc457fe5b336000908152603860205260409081902090516306c4439560e31b815291925073__$69254465eb8f179ea24caa73cf68b23524$__916336221ca891611d15918891908890889088906004016152c6565b60006040518083038186803b158015611d2d57600080fd5b505af4158015611d41573d6000803e3d6000fd5b50505050611d4e84613350565b6001816002811115611d5c57fe5b1415611e33576007840154604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611d969033908790600401614bbb565b600060405180830381600087803b158015611db057600080fd5b505af1158015611dc4573d6000803e3d6000fd5b50505060088501546040516340c10f1960e01b81526001600160a01b0390911691506340c10f1990611dfc9033908790600401614bbb565b600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b50505050611f05565b6008840154604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611e679033908690600401614bbb565b600060405180830381600087803b158015611e8157600080fd5b505af1158015611e95573d6000803e3d6000fd5b5050505060078401546003850154604051630ab714fb60e11b81526001600160a01b039092169163156e29f691611ed29133918791600401614bd4565b600060405180830381600087803b158015611eec57600080fd5b505af1158015611f00573d6000803e3d6000fd5b505050505b611f18848760008063ffffffff61340816565b336001600160a01b0316866001600160a01b03167fea368a40e9570069bb8e6511d668293ad2e1f03b0d982431fd223de9f3b70ca642604051611f5b919061530a565b60405180910390a35050600160005550505050565b60026000541415611f935760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03808616825260376020526040918290206006810154925163cf478a7960e01b815290929091169073__$69254465eb8f179ea24caa73cf68b23524$__9063cf478a7990611ff79085908a9089906004016151b2565b60006040518083038186803b15801561200f57600080fd5b505af4158015612023573d6000803e3d6000fd5b5050505061203082613350565b612043828760008763ffffffff61340816565b8261207c5760098201546001600160a01b038616600090815260386020526040812061207c929091600160d01b90910460ff1690613821565b6006820154604051634efecaa560e01b81526001600160a01b0390911690634efecaa5906120b09088908890600401614bbb565b602060405180830381600087803b1580156120ca57600080fd5b505af11580156120de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121029190614a2d565b50846001600160a01b0316866001600160a01b03167f9c4ed599cd8555b9c1e8cd7643240d7d71eb76b792948c49fcb4d411f7b6b3c68642604051611f5b9291906152fc565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561218c57600080fd5b505afa1580156121a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c49190614680565b6001600160a01b0316146121ea5760405162461bcd60e51b81526004016101c990614fee565b6001600160a01b03909116600090815260376020526040902060050155565b6001600160a01b038116600090815260386020908152604080832081518084018352905481526039805483518186028101860190945280845285948594859485948594612318948c94603794939092909183018282801561229357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612275575b505060355460408051631f94a27560e31b815290516001600160a01b03909216945063fca513a893506004808201935060209291829003018186803b1580156122db57600080fd5b505afa1580156122ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123139190614680565b6139ad565b60405163d609bd1b60e01b8152949a5092985095509350915073__$7347ff53b2b46c21e26a37164ae7f6739f$__9063d609bd1b9061235f90899089908790600401615313565b60206040518083038186803b15801561237757600080fd5b505af415801561238b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123af9190614a2d565b935091939550919395565b6123c26145b0565b506001600160a01b03166000908152603760209081526040918290208251918201909252600590910154815290565b60006123fb613ead565b60025490915060ff16806124125750612412613eb2565b8061241e575060015481115b61243a5760405162461bcd60e51b81526004016101c990614f69565b60025460ff1615801561245b576002805460ff191660019081179091558290555b603580546001600160a01b0319166001600160a01b03858116919091179182905560408051633efbbf0f60e21b81529051929091169163fbeefc3c91600480820192602092909190829003018186803b1580156124b757600080fd5b505afa1580156124cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ef9190614680565b603680546001600160a01b0319166001600160a01b03929092169190911790558015612520576002805460ff191690555b505050565b6035546001600160a01b031681565b600260005414156125575760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03851681526037602090815260408083203384526038909252822090916126a5612591600585016132a4565b600a0a61159c88603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156125e657600080fd5b505afa1580156125fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261e9190614680565b6001600160a01b031663b3596f078c6040518263ffffffff1660e01b81526004016126499190614ba7565b60206040518083038186803b15801561266157600080fd5b505afa158015612675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126999190614a2d565b9063ffffffff61385c16565b905073__$69254465eb8f179ea24caa73cf68b23524$__63dfb6b2d7848989858a6019603760386000336001600160a01b03166001600160a01b031681526020019081526020016000206039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561273f57600080fd5b505afa158015612753573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127779190614680565b6040518b63ffffffff1660e01b815260040161279c9a9998979695949392919061525c565b60006040518083038186803b1580156127b457600080fd5b505af41580156127c8573d6000803e3d6000fd5b5050505060038301546127da84613350565b60018660028111156127e857fe5b60028111156127f357fe5b14156128ec576007840154604051630ab714fb60e11b81526001600160a01b039091169063156e29f69061282f9033908b908690600401614bd4565b600060405180830381600087803b15801561284957600080fd5b505af115801561285d573d6000803e3d6000fd5b505050506007840154604051631e739ae360e21b81526000916001600160a01b0316906379ce6b8c90612894903390600401614ba7565b60206040518083038186803b1580156128ac57600080fd5b505afa1580156128c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e49190614af4565b905050612953565b60088401546040516340c10f1960e01b81526001600160a01b03909116906340c10f19906129209033908b90600401614bbb565b600060405180830381600087803b15801561293a57600080fd5b505af115801561294e573d6000803e3d6000fd5b505050505b612966848960008a63ffffffff61340816565b600984015460408051602081019091528454815261298d91600160d01b900460ff16613eb8565b6129ad5760098401546129ad908490600160d01b900460ff16600161378e565b6006840154604051634efecaa560e01b81526001600160a01b0390911690634efecaa5906129e19033908b90600401614bbb565b602060405180830381600087803b1580156129fb57600080fd5b505af1158015612a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a339190614a2d565b5061ffff8516336001600160a01b038a167fe002884724be85e729c98360169e709585b299ace6fbe12aa791d2fee6f652808a8a60018c6002811115612a7557fe5b6002811115612a8057fe5b14612a8f578960020154612a91565b865b42604051612aa29493929190615329565b60405180910390a450506001600055505050505050565b60026000541415612adc5760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03808416825260376020526040808320600781015491516370a0823160e01b81529093919092169182906370a0823190612b28908790600401614ba7565b60206040518083038186803b158015612b4057600080fd5b505afa158015612b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b789190614a2d565b905060008111612b9a5760405162461bcd60e51b81526004016101c990614f0c565b6000612bd3612bc26aa56fa5b99019a5c8000000612bb6613ec8565b9063ffffffff61332b16565b60038601549063ffffffff613ed816565b90506000836001600160a01b031663e78c9b3b876040518263ffffffff1660e01b8152600401612c039190614ba7565b60206040518083038186803b158015612c1b57600080fd5b505afa158015612c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c539190614a2d565b90508460010154811080612c6657508181115b612c825760405162461bcd60e51b81526004016101c990614e2a565b612c8b85613350565b604051632770a7eb60e21b81526001600160a01b03851690639dc29fac90612cb99089908790600401614bbb565b600060405180830381600087803b158015612cd357600080fd5b505af1158015612ce7573d6000803e3d6000fd5b5050506003860154604051630ab714fb60e11b81526001600160a01b038716925063156e29f691612d1e918a918891600401614bd4565b600060405180830381600087803b158015612d3857600080fd5b505af1158015612d4c573d6000803e3d6000fd5b50612d66925087915089905060008063ffffffff61340816565b856001600160a01b0316876001600160a01b03167f443060d15ff6dac05881a7c07a46ef8085d8af4399e436be6c25250df40c5f1842604051612da9919061530a565b60405180910390a3505050505050506001600055565b60001981565b6001600160a01b0381166000908152603760205260408120610ea090613f1a565b6001600160a01b0390811660009081526037602052604090206006810154600782015460089092015490831693918316921690565b60026000541415612e3e5760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03841681526037602052604090819020905163b25dc48d60e01b815273__$69254465eb8f179ea24caa73cf68b23524$__9063b25dc48d90612e9490849087906004016152fc565b60006040518083038186803b158015612eac57600080fd5b505af4158015612ec0573d6000803e3d6000fd5b50505060068201546040516370a0823160e01b81526001600160a01b03909116915060009082906370a0823190612efb903390600401614ba7565b60206040518083038186803b158015612f1357600080fd5b505afa158015612f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4b9190614a2d565b159050612f5783613350565b612f6a838787600063ffffffff61340816565b8015612f99576009830154336000908152603860205260409020612f9991600160d01b900460ff166001613821565b6040516394362e8b60e01b81526001600160a01b038316906394362e8b90612fc79033908990600401614bbb565b600060405180830381600087803b158015612fe157600080fd5b505af1158015612ff5573d6000803e3d6000fd5b5061300f925050506001600160a01b0387163384886137c3565b8361ffff16336001600160a01b0316876001600160a01b03167fc12c57b1c73a2c3a2ea4613e9476abb3d8d146857aab7329e24243fb59710c8288426040516130599291906152fc565b60405180910390a45050600160005550505050565b60078101546040516370a0823160e01b815260009182916001600160a01b03909116906370a08231906130a5908790600401614ba7565b60206040518083038186803b1580156130bd57600080fd5b505afa1580156130d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f59190614a2d565b60088401546040516370a0823160e01b81526001600160a01b03909116906370a0823190613127908890600401614ba7565b60206040518083038186803b15801561313f57600080fd5b505afa158015613153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131779190614a2d565b915091509250929050565b600781015460405163631a6fd560e11b815260009182916001600160a01b039091169063c634dfaa906131b9908790600401614ba7565b60206040518083038186803b1580156131d157600080fd5b505afa1580156131e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132099190614a2d565b600884015460405163631a6fd560e11b81526001600160a01b039091169063c634dfaa90613127908890600401614ba7565b815160016002830281019190911c16151592915050565b600981015460009064ffffffffff600160a01b909104811690421681141561328057505060048101546105cc565b60006105c78460040154613298866002015485613f5d565b9063ffffffff613ed816565b5460301c610f01600160d01b031690565b54670fffffffffff0000191690565b5460101c650fffffff0001600160f01b031690565b5460201c630fff0001600160e01b031690565b54603a1c6003600160c61b0316151590565b54603b1c151590565b5460381c600f600160c81b0316151590565b5460391c6007600160c71b0316151590565b600082820183811015611b225760405162461bcd60e51b81526004016101c990614df3565b600061335b82614073565b905080156133e4576001820154600983015460009161338791600160a01b900464ffffffffff16614188565b835490915061339d90829063ffffffff613ed816565b8355600283015460098401546000916133c391600160a01b900464ffffffffff16613f5d565b90506133dc846004015482613ed890919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b15801561344f57600080fd5b505afa158015613463573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134879190614a2d565b60068601546040516370a0823160e01b81529192506000916001600160a01b03878116926370a08231926134c19290911690600401614ba7565b60206040518083038186803b1580156134d957600080fd5b505afa1580156134ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135119190614a2d565b6009870154909150600090819081906001600160a01b03166357e37af08961354f89613543898d63ffffffff61332b16565b9063ffffffff61374c16565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561359f57600080fd5b505afa1580156135b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d79190614a2d565b8d60080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561362757600080fd5b505afa15801561363b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061365f9190614a2d565b8a6040518663ffffffff1660e01b8152600401613680959493929190614d09565b60606040518083038186803b15801561369857600080fd5b505afa1580156136ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136d09190614ac7565b60018c0183905560038c0182905560028c018190558b5460048d01546040519497509295509093506001600160a01b038b16927f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a49261373992889288928c92899290919061539c565b60405180910390a2505050505050505050565b6000611b2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506141f1565b816002028161379e5760006137a1565b60015b60ff16901b826002026001901b19846000015416178360000181905550505050565b61381b846323b872dd60e01b8585856040516024016137e493929190614c91565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261421d565b50505050565b8160020260010181613834576000613837565b60015b60ff16901b826002026001016001901b19846000015416178360000181905550505050565b60008261386b57506000610ea0565b8282028284828161387857fe5b0414611b225760405162461bcd60e51b81526004016101c990614ecb565b6000611b2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506142ac565b6000805b60395481101561392557826001600160a01b0316603982815481106138fd57fe5b6000918252602090912001546001600160a01b0316141561391d57600191505b6001016138dc565b50806139a957603980546001600160a01b0384166000818152603760205260408120600901805460ff909416600160d01b0260ff60d01b19909416939093179092558254600181018455929091527fdc16fef70f8d5ddbc01ee3d903d1e69c18a3c7be080eb86a81e0578814ee58d390910180546001600160a01b03191690911790555b5050565b60008060008060006139bd6145c3565b6139c6896142e3565b156139e35750600094508493508392508291506000199050613ea0565b600060e08201525b87518160e001511015613df35760e0810151613a0e908a9063ffffffff6142e816565b613a1757613de3565b878160e0015181518110613a2757fe5b6020908102919091018101516001600160a01b031661020083018190526000908152908b905260409020613a5d600582016142f8565b6080860181905260c08601929092525060a0840191909152600a0a602083015261020082015160405163b3596f0760e01b81526001600160a01b038a169163b3596f0791613aae9190600401614ba7565b60206040518083038186803b158015613ac657600080fd5b505afa158015613ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613afe9190614a2d565b825260a082015115801590613b24575060e0820151613b24908b9063ffffffff61323b16565b15613c555760068101546040516370a0823160e01b81526001600160a01b03909116906370a0823190613b5b908f90600401614ba7565b60206040518083038186803b158015613b7357600080fd5b505afa158015613b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bab9190614a2d565b6040830181905260208301518351600092613bd0929161159c9163ffffffff61385c16565b610120840151909150613be9908263ffffffff61332b16565b61012084015260a0830151613c1b90613c0990839063ffffffff61385c16565b6101808501519063ffffffff61332b16565b61018084015260c0830151613c4d90613c3b90839063ffffffff61385c16565b6101a08501519063ffffffff61332b16565b6101a0840152505b60e0820151613c6b908b9063ffffffff613eb816565b15613de15760078101546040516370a0823160e01b81526001600160a01b03909116906370a0823190613ca2908f90600401614ba7565b60206040518083038186803b158015613cba57600080fd5b505afa158015613cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf29190614a2d565b826060018181525050613da28160080160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b8152600401613d419190614ba7565b60206040518083038186803b158015613d5957600080fd5b505afa158015613d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d919190614a2d565b60608401519063ffffffff61332b16565b6060830181905260208301518351613dda92613dc8929161159c9163ffffffff61385c16565b6101408401519063ffffffff61332b16565b6101408301525b505b60e08101805160010190526139eb565b600081610120015111613e07576000613e22565b610120810151610180820151613e229163ffffffff61389616565b610180820152610120810151613e39576000613e54565b6101208101516101a0820151613e549163ffffffff61389616565b6101a08201819052610120820151610140830151613e719261433f565b61010082018190526101208201516101408301516101808401516101a090940151919850965091945090925090505b9550955095509550959050565b600290565b303b1590565b9051600160029092021c16151590565b6b033b2e3c9fd0803ce800000090565b6000611b226b033b2e3c9fd0803ce800000061159c613efd868663ffffffff61385c16565b60026b033b2e3c9fd0803ce80000005b049063ffffffff61332b16565b600981015460009064ffffffffff600160a01b9091048116904216811415613f4557505080546105cc565b60006105c78460000154613298866001015485614188565b600080613f774264ffffffffff851663ffffffff61374c16565b905080613f8e57613f86613ec8565b915050610ea0565b6000613fa182600163ffffffff61374c16565b9050600060028311613fb4576000613fc5565b613fc583600263ffffffff61374c16565b90506000613fdd876301e1338063ffffffff61389616565b90506000613ff1828063ffffffff613ed816565b90506000614005828463ffffffff613ed816565b90506000614022600261159c856126998b8b63ffffffff61385c16565b90506000614041600661159c856126998a818e8e63ffffffff61385c16565b905061406481612bb6848161405c8a8e63ffffffff61385c16565b612bb6613ec8565b9b9a5050505050505050505050565b6000610ea08260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156140c857600080fd5b505afa1580156140dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141009190614a2d565b8360070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561415057600080fd5b505afa158015614164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb69190614a2d565b6000806141a24264ffffffffff851663ffffffff61374c16565b905060006141cb6141b66301e1338061436f565b6141bf8461436f565b9063ffffffff61438516565b90506141e86141d8613ec8565b612bb6878463ffffffff613ed816565b95945050505050565b600081848411156142155760405162461bcd60e51b81526004016101c99190614d8f565b505050900390565b6060614272826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166143bd9092919063ffffffff16565b805190915015612520578080602001905181019061429091906149f9565b6125205760405162461bcd60e51b81526004016101c9906150af565b600081836142cd5760405162461bcd60e51b81526004016101c99190614d8f565b5060008385816142d957fe5b0495945050505050565b511590565b9051600360029092021c16151590565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610f01600160d01b031690565b60008261434f5750600019611b22565b611b1f83614363868563ffffffff6143cc16565b9063ffffffff6143f116565b6000610ea082633b9aca0063ffffffff61385c16565b6000600282046143b58361159c6143a8876b033b2e3c9fd0803ce800000061385c565b849063ffffffff61332b16565b949350505050565b6060611b1f8484600085614410565b6000611b2261271061159c6143e7868663ffffffff61385c16565b6002612710613f0d565b6000600282046143b58361159c6143a887670de0b6b3a764000061385c565b606061441b85610593565b6144375760405162461bcd60e51b81526004016101c99061500a565b60006060866001600160a01b031685876040516144549190614b8b565b60006040518083038185875af1925050503d8060008114614491576040519150601f19603f3d011682016040523d82523d6000602084013e614496565b606091505b509150915081156144aa5791506143b59050565b8051156144ba5780518082602001fd5b8360405162461bcd60e51b81526004016101c99190614d8f565b604051806101a00160405280600081526020016000815260200160008152602001600081526020016000815260200161450b6145b0565b815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060c00160405280600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6040518060200160405280600081525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b600060208284031215614675578081fd5b8135611b22816154e2565b600060208284031215614691578081fd5b8151611b22816154e2565b600080604083850312156146ae578081fd5b82356146b9816154e2565b915060208301356146c9816154e2565b809150509250929050565b600080600080608085870312156146e9578182fd5b84356146f4816154e2565b93506020850135614704816154e2565b93969395505050506040820135916060013590565b600080600080600060a08688031215614730578081fd5b853561473b816154e2565b9450602086013561474b816154e2565b9350604086013561475b816154e2565b9250606086013561476b816154e2565b9150608086013561477b816154e2565b809150509295509295909350565b600080600080600060a086880312156147a0578081fd5b85356147ab816154e2565b945060208601356147bb816154e2565b935060408601356147cb816154e2565b925060608601359150608086013561477b816154f7565b6000806000606084860312156147f6578283fd5b8335614801816154e2565b92506020840135614811816154e2565b929592945050506040919091013590565b60008060008060808587031215614837578384fd5b8435614842816154e2565b93506020850135614852816154e2565b925060408501359150606085013567ffffffffffffffff811115614874578182fd5b80860187601f820112614885578283fd5b8035915061489a61489583615485565b61545e565b8281528860208484010111156148ae578384fd5b8260208301602083013791820160200192909252939692955090935050565b600080604083850312156148df578182fd5b82356148ea816154e2565b915060208301356146c9816154f7565b6000806040838503121561490c578182fd5b8235614917816154e2565b946020939093013593505050565b600080600060608486031215614939578081fd5b8335614944816154e2565b925060208401359150604084013561ffff81168114614961578182fd5b809150509250925092565b60008060008060808587031215614981578182fd5b843561498c816154e2565b9350602085013592506040850135915060608501356149aa816154e2565b939692955090935050565b600080600080608085870312156149ca578182fd5b84356149d5816154e2565b93506020850135925060408501359150606085013561ffff811681146149aa578182fd5b600060208284031215614a0a578081fd5b8151611b22816154f7565b600060208284031215614a26578081fd5b5035919050565b600060208284031215614a3e578081fd5b5051919050565b60008060408385031215614a57578182fd5b82519150602083015167ffffffffffffffff811115614a74578182fd5b80840185601f820112614a85578283fd5b80519150614a9561489583615485565b828152866020848401011115614aa9578384fd5b614aba8360208301602085016154a9565b8093505050509250929050565b600080600060608486031215614adb578081fd5b8351925060208401519150604084015190509250925092565b600060208284031215614b05578081fd5b815164ffffffffff81168114611b22578182fd5b6000815480845260208085019450838352808320835b83811015614b545781546001600160a01b031687529582019560019182019101614b2f565b509495945050505050565b60008151808452614b778160208601602086016154a9565b601f01601f19169290920160200192915050565b60008251614b9d8184602087016154a9565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090614c2f90830184614b5f565b979650505050505050565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03958616815293851660208501529190931660408301526060820192909252901515608082015260a00190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060018060a01b03808a16835280891660208401528760408401528660608401528554608084015260e060a0840152614cf260e0840186614b19565b915080841660c08401525098975050505050505050565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b6020808252825182820181905260009190848201906040850190845b81811015614d785783516001600160a01b031683529284019291840191600101614d53565b50909695505050505050565b901515815260200190565b600060208252611b226020830184614b5f565b60208082526031908201527f5468657265206973206e6f7420656e6f756768206c697175696469747920617660408201527061696c61626c6520746f20626f72726f7760781b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602f908201527f496e746572657374207261746520726562616c616e636520636f6e646974696f60408201526e1b9cc81dd95c99481b9bdd081b595d608a1b606082015260800190565b60208082526032908201527f5468652061637475616c2062616c616e6365206f66207468652070726f746f636040820152711bdb081a5cc81a5b98dbdb9cda5cdd195b9d60721b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526038908201527f5573657220646f6573206e6f74206861766520616e7920737461626c6520726160408201527f7465206c6f616e20666f72207468697320726573657276650000000000000000606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526017908201527f4c69717569646174696f6e2063616c6c206661696c6564000000000000000000604082015260600190565b602080825260029082015261033360f41b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b602080825260029082015261191960f11b604082015260600190565b60208082526032908201527f5468652072657175657374656420616d6f756e7420697320746f6f20736d616c60408201527136103337b9103090233630b9b42637b0b71760711b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b9051815260200190565b9485526001600160a01b03938416602086015291831660408501528216606084015216608082015260a00190565b600087825260018060a01b03808816602084015286604084015285606084015260c0608084015261519c60c0840186614b19565b915080841660a084015250979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b8981526001600160a01b038981166020830152604082018990526101208201906151fa896154d5565b8860608401528088166080840152508560a08301528460c08301528360e0830152826101008301529a9950505050505050505050565b9485526001600160a01b0393909316602085015260408401919091526060830152608082015260a00190565b60006101408c835260018060a01b03808d1660208501528b60408501528a60608501528960808501528860a08501528760c08501528660e0850152816101008501526152aa82850187614b19565b925080851661012085015250509b9a5050505050505050505050565b600060a0820190508682528560208301528460408301528360608301526152ec836154d5565b8260808301529695505050505050565b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b998a5260208a0198909852604089019690965260608801949094526001600160a01b03929092166080870152151560a0860152151560c0850152151560e0840152151561010083015215156101208201526101400190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b998a5260208a019890985260408901969096526060880194909452608087019290925260a086015260c085015260e084015261010083015264ffffffffff166101208201526101400190565b998a5260208a019890985260408901969096526060880194909452608087019290925260a086015260c085015260e084015264ffffffffff1661010083015215156101208201526101400190565b60405181810167ffffffffffffffff8111828210171561547d57600080fd5b604052919050565b600067ffffffffffffffff82111561549b578081fd5b50601f01601f191660200190565b60005b838110156154c45781810151838201526020016154ac565b8381111561381b5750506000910152565b600381106154df57fe5b50565b6001600160a01b03811681146154df57600080fd5b80151581146154df57600080fdfea2646970667358221220a971b7e7b8f38d1bed201c81639c024eef8322817877b07af0d7ccff7e05ca3564736f6c63430006080033"; + "0x6080604052600060015534801561001557600080fd5b5060016000556155378061002a6000396000f3fe60806040526004361061019f5760003560e01c80638afaff02116100ec578063c72c4d101161008a578063d0fc81d211610064578063d0fc81d21461051c578063d15e005314610531578063d2493b6c14610551578063d2d0e06614610580576101d4565b8063c72c4d10146104c7578063c858f5f9146104dc578063cd112382146104fc576101d4565b8063b8d29276116100c6578063b8d2927614610428578063bf92857c14610448578063c44b11f71461047a578063c4d66de8146104a7576101d4565b80638afaff02146103d357806394ba89a2146103e85780639895e3d814610408576101d4565b80633e150141116101595780635a3b74b9116101335780635a3b74b9146103465780635cffe9de1461036657806376e9d615146103865780637a708e92146103b3576101d4565b80633e150141146102d05780634fe7a6e514610306578063573ade8114610333576101d4565b8062a718a9146101d95780630902f1ac146101ec5780631d2118f91461021757806328dd2d011461023757806335ea6a751461026d578063386497fd146102a3576101d4565b366101d4576101ad33610593565b6101d25760405162461bcd60e51b81526004016101c990615041565b60405180910390fd5b005b600080fd5b6101d26101e7366004614789565b6105d1565b3480156101f857600080fd5b506102016107a3565b60405161020e9190614d37565b60405180910390f35b34801561022357600080fd5b506101d261023236600461469c565b610805565b34801561024357600080fd5b5061025761025236600461469c565b6108d8565b60405161020e9a9998979695949392919061540b565b34801561027957600080fd5b5061028d610288366004614664565b610b83565b60405161020e9a999897969594939291906153bf565b3480156102af57600080fd5b506102c36102be366004614664565b610e7f565b60405161020e9190615305565b3480156102dc57600080fd5b506102f06102eb366004614664565b610ea6565b60405161020e9a9998979695949392919061533f565b34801561031257600080fd5b50610326610321366004614a15565b610f7c565b60405161020e9190614ba7565b6101d261034136600461496c565b610fa3565b34801561035257600080fd5b506101d26103613660046148cd565b6112df565b34801561037257600080fd5b506101d2610381366004614822565b6114bb565b34801561039257600080fd5b506103a66103a13660046147e2565b6119df565b60405161020e9190614d84565b3480156103bf57600080fd5b506101d26103ce366004614719565b611b29565b3480156103df57600080fd5b506102c3611c62565b3480156103f457600080fd5b506101d26104033660046148fa565b611c67565b34801561041457600080fd5b506101d26104233660046146d4565b611f70565b34801561043457600080fd5b506101d26104433660046148fa565b612148565b34801561045457600080fd5b50610468610463366004614664565b612209565b60405161020e96959493929190615397565b34801561048657600080fd5b5061049a610495366004614664565b6123ba565b60405161020e9190615130565b3480156104b357600080fd5b506101d26104c2366004614664565b6123f1565b3480156104d357600080fd5b50610326612525565b3480156104e857600080fd5b506101d26104f73660046149b5565b612534565b34801561050857600080fd5b506101d261051736600461469c565b612ab9565b34801561052857600080fd5b506102c3612dbf565b34801561053d57600080fd5b506102c361054c366004614664565b612dc5565b34801561055d57600080fd5b5061057161056c366004614664565b612de6565b60405161020e93929190614c3a565b6101d261058e366004614925565b612e1b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906105c757508115155b925050505b919050565b600260005414156105f45760405162461bcd60e51b81526004016101c9906150f9565b6002600090815560355460408051632c1a75cd60e11b815290516001600160a01b0390921691635834eb9a91600480820192602092909190829003018186803b15801561064057600080fd5b505afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190614680565b905060006060826001600160a01b031688888888886040516024016106a1959493929190614c5d565b60408051601f198184030181529181526020820180516001600160e01b031662a718a960e01b179052516106d59190614b8b565b600060405180830381855af49150503d8060008114610710576040519150601f19603f3d011682016040523d82523d6000602084013e610715565b606091505b5091509150816107375760405162461bcd60e51b81526004016101c990614fb7565b600060608280602001905181019061074f9190614a45565b9150915081600014610792578060405160200161076c9190614b8b565b60408051601f198184030181529082905262461bcd60e51b82526101c991600401614d8f565b505060016000555050505050505050565b606060398054806020026020016040519081016040528092919081815260200182805480156107fb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107dd575b5050505050905090565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561084957600080fd5b505afa15801561085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108819190614680565b6001600160a01b0316146108a75760405162461bcd60e51b81526004016101c990614fee565b6001600160a01b03918216600090815260376020526040902060090180546001600160a01b03191691909216179055565b6001600160a01b03808316600090815260376020526040808220600681015491516370a0823160e01b81529293849384938493849384938493849384938493919216906370a082319061092f908f90600401614ba7565b60206040518083038186803b15801561094757600080fd5b505afa15801561095b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097f9190614a2d565b9a5061098b8c8261306e565b909a50985061099a8c82613182565b6001830154600784015460405163e78c9b3b60e01b8152939b5091995096506001600160a01b03169063e78c9b3b906109d7908f90600401614ba7565b60206040518083038186803b1580156109ef57600080fd5b505afa158015610a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a279190614a2d565b6007820154604051631e739ae360e21b81529197506001600160a01b0316906379ce6b8c90610a5a908f90600401614ba7565b60206040518083038186803b158015610a7257600080fd5b505afa158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa9190614af4565b60098201546001600160a01b038e16600090815260386020908152604091829020825191820190925290548152919450610aee9190600160d01b900460ff1661323b565b6008820154604051633ba641e960e21b81529193506001600160a01b03169063ee9907a490610b21908f90600401614ba7565b60206040518083038186803b158015610b3957600080fd5b505afa158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b719190614a2d565b9350509295989b9194979a5092959850565b600080600080600080600080600080610b9a6144d4565b506001600160a01b03808c1660008181526037602090815260409182902082516101a08101845281548152600182015481840152600282015481850152600382015460608201526004808301546080830152845193840185526005830154845260a08201939093526006820154861660c082018190526007830154871660e08301526008830154871661010083015260099092015495861661012082015264ffffffffff600160a01b87041661014082015260ff600160c81b870481161515610160830152600160d01b90960490951661018086015291516370a0823160e01b81526370a0823192610c8e92909101614ba7565b60206040518083038186803b158015610ca657600080fd5b505afa158015610cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cde9190614a2d565b8160e001516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1b57600080fd5b505afa158015610d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d539190614a2d565b8261010001516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9157600080fd5b505afa158015610da5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc99190614a2d565b8360200151846040015185606001518660e001516001600160a01b03166390f6fcf26040518163ffffffff1660e01b815260040160206040518083038186803b158015610e1557600080fd5b505afa158015610e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4d9190614a2d565b876000015188608001518961014001519a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6001600160a01b0381166000908152603760205260408120610ea090613252565b92915050565b6000806000806000806000806000806000603760008d6001600160a01b03166001600160a01b031681526020019081526020016000209050610eea816005016132a4565b610ef6826005016132b5565b610f02836005016132c4565b610f0e846005016132d9565b60098501546001600160a01b0316610f28600587016132b5565b1515610f36600588016132ec565b610f42886005016132fe565b610f4e89600501613307565b610f5a8a600501613319565b9a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b60398181548110610f8957fe5b6000918252602090912001546001600160a01b0316905081565b60026000541415610fc65760405162461bcd60e51b81526004016101c9906150f9565b6002600055610fd3614542565b6001600160a01b0385166000908152603760205260409020610ff5838261306e565b6020840181905281845261100f919063ffffffff61332b16565b6080830152600084600281111561102257fe5b9050600181600281111561103257fe5b14611041578260200151611044565b82515b6040840152600019861480159061105e5750826040015186105b1561106b57604083018690525b82516020840151604080860151905163152be4bd60e31b815273__$69254465eb8f179ea24caa73cf68b23524$__9363a95f25e8936110b89388938e938e938a938e9334906004016151d1565b60006040518083038186803b1580156110d057600080fd5b505af41580156110e4573d6000803e3d6000fd5b505050506110f182613350565b60018160028111156110ff57fe5b14156111745760078201546040808501519051632770a7eb60e21b81526001600160a01b0390921691639dc29fac9161113d91889190600401614bbb565b600060405180830381600087803b15801561115757600080fd5b505af115801561116b573d6000803e3d6000fd5b505050506111df565b60088201546040808501519051632770a7eb60e21b81526001600160a01b0390921691639dc29fac916111ac91889190600401614bbb565b600060405180830381600087803b1580156111c657600080fd5b505af11580156111da573d6000803e3d6000fd5b505050505b60408301516111f99083908990600063ffffffff61340816565b604083015160808401516112129163ffffffff61374c16565b61124a5760098201546001600160a01b038516600090815260386020526040812061124a929091600160d01b90910460ff169061378e565b60068201546040840151611276916001600160a01b038a8116923392919091169063ffffffff6137c316565b336001600160a01b0316846001600160a01b0316886001600160a01b03167f81cfb79463601de705d4cf6b8d69112983d76a685120e5e4d3581f30871b87fc8660400151426040516112c99291906152f7565b60405180910390a4505060016000555050505050565b600260005414156113025760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03808416825260376020818152604080852033865260388352948190206035548251631f94a27560e31b8152925173__$69254465eb8f179ea24caa73cf68b23524$__9663a6b84c0b9689968c9691959460399493169263fca513a8926004808201939291829003018186803b15801561138957600080fd5b505afa15801561139d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c19190614680565b6040518763ffffffff1660e01b81526004016113e296959493929190615168565b60006040518083038186803b1580156113fa57600080fd5b505af415801561140e573d6000803e3d6000fd5b50505050600981015433600090815260386020526040902061143a91600160d01b900460ff1684613821565b811561147a5760405133906001600160a01b038516907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f290600090a36114b1565b60405133906001600160a01b038516907f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd90600090a35b5050600160005550565b600260005414156114de5760405162461bcd60e51b81526004016101c9906150f9565b60026000556114eb614571565b6001600160a01b0380851660008181526037602052604090819020600681015490931660a0850181905290516370a0823160e01b81526370a082319161153391600401614ba7565b60206040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115839190614a2d565b82526115a861271061159c86600963ffffffff61385c16565b9063ffffffff61389616565b606083018190526115c9906127109061159c90610bb863ffffffff61385c16565b608083015281518411156115ef5760405162461bcd60e51b81526004016101c990614da2565b60008260600151118015611607575060008260800151115b6116235760405162461bcd60e51b81526004016101c99061505d565b60a0820151604051634efecaa560e01b8152879182916001600160a01b0390911690634efecaa59061165b9084908a90600401614bbb565b602060405180830381600087803b15801561167557600080fd5b505af1158015611689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ad9190614a2d565b5060a0840151606085015160405163405b019d60e01b81526001600160a01b0385169263405b019d926116e9928c92918c918c90600401614bf5565b600060405180830381600087803b15801561170357600080fd5b505af1158015611717573d6000803e3d6000fd5b5050505060a08401516040516370a0823160e01b81526000916001600160a01b038a16916370a082319161174d91600401614ba7565b60206040518083038186803b15801561176557600080fd5b505afa158015611779573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179d9190614a2d565b606086015186519192506117b7919063ffffffff61332b16565b81146117d55760405162461bcd60e51b81526004016101c990614e79565b8373__$5e6137a1b5a0a366e2874209b5abf71c10$__638acb830b90918a88600001516118138a608001518b6060015161374c90919063ffffffff16565b8a608001516040518663ffffffff1660e01b815260040161183895949392919061522c565b60006040518083038186803b15801561185057600080fd5b505af4158015611864573d6000803e3d6000fd5b505050508460a001516001600160a01b0316634efecaa5603560009054906101000a90046001600160a01b03166001600160a01b031663ee8912966040518163ffffffff1660e01b815260040160206040518083038186803b1580156118c957600080fd5b505afa1580156118dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119019190614680565b87608001516040518363ffffffff1660e01b8152600401611923929190614bbb565b602060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119759190614a2d565b50876001600160a01b0316896001600160a01b03167f5b8f46461c1dd69fb968f1a003acee221ea3e19540e350233b612ddb43433b558988606001518960800151426040516119c79493929190615324565b60405180910390a35050600160005550505050505050565b600073__$7347ff53b2b46c21e26a37164ae7f6739f$__63865cb0ce8585856037603860008a6001600160a01b03166001600160a01b031681526020019081526020016000206039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b158015611a7557600080fd5b505afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad9190614680565b6040518863ffffffff1660e01b8152600401611acf9796959493929190614cb5565b60206040518083038186803b158015611ae757600080fd5b505af4158015611afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1f91906149f9565b90505b9392505050565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b158015611b6d57600080fd5b505afa158015611b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba59190614680565b6001600160a01b031614611bcb5760405162461bcd60e51b81526004016101c990614fee565b6001600160a01b038516600090815260376020526040908190209051632d621e9960e21b815273__$5e6137a1b5a0a366e2874209b5abf71c10$__9163b5887a6491611c229190889088908890889060040161513a565b60006040518083038186803b158015611c3a57600080fd5b505af4158015611c4e573d6000803e3d6000fd5b50505050611c5b856138d8565b5050505050565b600281565b60026000541415611c8a5760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03831681526037602052604081209080611cb2338461306e565b915091506000846002811115611cc457fe5b336000908152603860205260409081902090516306c4439560e31b815291925073__$69254465eb8f179ea24caa73cf68b23524$__916336221ca891611d15918891908890889088906004016152c2565b60006040518083038186803b158015611d2d57600080fd5b505af4158015611d41573d6000803e3d6000fd5b50505050611d4e84613350565b6001816002811115611d5c57fe5b1415611e33576007840154604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611d969033908790600401614bbb565b600060405180830381600087803b158015611db057600080fd5b505af1158015611dc4573d6000803e3d6000fd5b50505060088501546040516340c10f1960e01b81526001600160a01b0390911691506340c10f1990611dfc9033908790600401614bbb565b600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b50505050611f05565b6008840154604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90611e679033908690600401614bbb565b600060405180830381600087803b158015611e8157600080fd5b505af1158015611e95573d6000803e3d6000fd5b5050505060078401546003850154604051630ab714fb60e11b81526001600160a01b039092169163156e29f691611ed29133918791600401614bd4565b600060405180830381600087803b158015611eec57600080fd5b505af1158015611f00573d6000803e3d6000fd5b505050505b611f18848760008063ffffffff61340816565b336001600160a01b0316866001600160a01b03167fea368a40e9570069bb8e6511d668293ad2e1f03b0d982431fd223de9f3b70ca642604051611f5b9190615305565b60405180910390a35050600160005550505050565b60026000541415611f935760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03808616825260376020526040918290206006810154925163cf478a7960e01b815290929091169073__$69254465eb8f179ea24caa73cf68b23524$__9063cf478a7990611ff79085908a9089906004016151b2565b60006040518083038186803b15801561200f57600080fd5b505af4158015612023573d6000803e3d6000fd5b5050505061203082613350565b612043828760008763ffffffff61340816565b8261207c5760098201546001600160a01b038616600090815260386020526040812061207c929091600160d01b90910460ff1690613821565b6006820154604051634efecaa560e01b81526001600160a01b0390911690634efecaa5906120b09088908890600401614bbb565b602060405180830381600087803b1580156120ca57600080fd5b505af11580156120de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121029190614a2d565b50846001600160a01b0316866001600160a01b03167f9c4ed599cd8555b9c1e8cd7643240d7d71eb76b792948c49fcb4d411f7b6b3c68642604051611f5b9291906152f7565b603554604080516385c858b160e01b8152905133926001600160a01b0316916385c858b1916004808301926020929190829003018186803b15801561218c57600080fd5b505afa1580156121a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c49190614680565b6001600160a01b0316146121ea5760405162461bcd60e51b81526004016101c990614fee565b6001600160a01b03909116600090815260376020526040902060050155565b6001600160a01b038116600090815260386020908152604080832081518084018352905481526039805483518186028101860190945280845285948594859485948594612318948c94603794939092909183018282801561229357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612275575b505060355460408051631f94a27560e31b815290516001600160a01b03909216945063fca513a893506004808201935060209291829003018186803b1580156122db57600080fd5b505afa1580156122ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123139190614680565b6139ad565b60405163d609bd1b60e01b8152949a5092985095509350915073__$7347ff53b2b46c21e26a37164ae7f6739f$__9063d609bd1b9061235f9089908990879060040161530e565b60206040518083038186803b15801561237757600080fd5b505af415801561238b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123af9190614a2d565b935091939550919395565b6123c26145b0565b506001600160a01b03166000908152603760209081526040918290208251918201909252600590910154815290565b60006123fb613ead565b60025490915060ff16806124125750612412613eb2565b8061241e575060015481115b61243a5760405162461bcd60e51b81526004016101c990614f69565b60025460ff1615801561245b576002805460ff191660019081179091558290555b603580546001600160a01b0319166001600160a01b03858116919091179182905560408051633efbbf0f60e21b81529051929091169163fbeefc3c91600480820192602092909190829003018186803b1580156124b757600080fd5b505afa1580156124cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ef9190614680565b603680546001600160a01b0319166001600160a01b03929092169190911790558015612520576002805460ff191690555b505050565b6035546001600160a01b031681565b600260005414156125575760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03851681526037602090815260408083203384526038909252822090916126a5612591600585016132a4565b600a0a61159c88603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156125e657600080fd5b505afa1580156125fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261e9190614680565b6001600160a01b031663b3596f078c6040518263ffffffff1660e01b81526004016126499190614ba7565b60206040518083038186803b15801561266157600080fd5b505afa158015612675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126999190614a2d565b9063ffffffff61385c16565b905073__$69254465eb8f179ea24caa73cf68b23524$__63dfb6b2d7848989858a6019603760386000336001600160a01b03166001600160a01b031681526020019081526020016000206039603560009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561273f57600080fd5b505afa158015612753573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127779190614680565b6040518b63ffffffff1660e01b815260040161279c9a99989796959493929190615258565b60006040518083038186803b1580156127b457600080fd5b505af41580156127c8573d6000803e3d6000fd5b5050505060038301546127da84613350565b60018660028111156127e857fe5b60028111156127f357fe5b14156128ec576007840154604051630ab714fb60e11b81526001600160a01b039091169063156e29f69061282f9033908b908690600401614bd4565b600060405180830381600087803b15801561284957600080fd5b505af115801561285d573d6000803e3d6000fd5b505050506007840154604051631e739ae360e21b81526000916001600160a01b0316906379ce6b8c90612894903390600401614ba7565b60206040518083038186803b1580156128ac57600080fd5b505afa1580156128c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e49190614af4565b905050612953565b60088401546040516340c10f1960e01b81526001600160a01b03909116906340c10f19906129209033908b90600401614bbb565b600060405180830381600087803b15801561293a57600080fd5b505af115801561294e573d6000803e3d6000fd5b505050505b612966848960008a63ffffffff61340816565b600984015460408051602081019091528454815261298d91600160d01b900460ff16613eb8565b6129ad5760098401546129ad908490600160d01b900460ff16600161378e565b6006840154604051634efecaa560e01b81526001600160a01b0390911690634efecaa5906129e19033908b90600401614bbb565b602060405180830381600087803b1580156129fb57600080fd5b505af1158015612a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a339190614a2d565b5061ffff8516336001600160a01b038a167fe002884724be85e729c98360169e709585b299ace6fbe12aa791d2fee6f652808a8a60018c6002811115612a7557fe5b6002811115612a8057fe5b14612a8f578960020154612a91565b865b42604051612aa29493929190615324565b60405180910390a450506001600055505050505050565b60026000541415612adc5760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03808416825260376020526040808320600781015491516370a0823160e01b81529093919092169182906370a0823190612b28908790600401614ba7565b60206040518083038186803b158015612b4057600080fd5b505afa158015612b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b789190614a2d565b905060008111612b9a5760405162461bcd60e51b81526004016101c990614f0c565b6000612bd3612bc26aa56fa5b99019a5c8000000612bb6613ec8565b9063ffffffff61332b16565b60038601549063ffffffff613ed816565b90506000836001600160a01b031663e78c9b3b876040518263ffffffff1660e01b8152600401612c039190614ba7565b60206040518083038186803b158015612c1b57600080fd5b505afa158015612c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c539190614a2d565b90508460010154811080612c6657508181115b612c825760405162461bcd60e51b81526004016101c990614e2a565b612c8b85613350565b604051632770a7eb60e21b81526001600160a01b03851690639dc29fac90612cb99089908790600401614bbb565b600060405180830381600087803b158015612cd357600080fd5b505af1158015612ce7573d6000803e3d6000fd5b5050506003860154604051630ab714fb60e11b81526001600160a01b038716925063156e29f691612d1e918a918891600401614bd4565b600060405180830381600087803b158015612d3857600080fd5b505af1158015612d4c573d6000803e3d6000fd5b50612d66925087915089905060008063ffffffff61340816565b856001600160a01b0316876001600160a01b03167f443060d15ff6dac05881a7c07a46ef8085d8af4399e436be6c25250df40c5f1842604051612da99190615305565b60405180910390a3505050505050506001600055565b60001981565b6001600160a01b0381166000908152603760205260408120610ea090613f1a565b6001600160a01b0390811660009081526037602052604090206006810154600782015460089092015490831693918316921690565b60026000541415612e3e5760405162461bcd60e51b81526004016101c9906150f9565b600260009081556001600160a01b03841681526037602052604090819020905163b25dc48d60e01b815273__$69254465eb8f179ea24caa73cf68b23524$__9063b25dc48d90612e9490849087906004016152f7565b60006040518083038186803b158015612eac57600080fd5b505af4158015612ec0573d6000803e3d6000fd5b50505060068201546040516370a0823160e01b81526001600160a01b03909116915060009082906370a0823190612efb903390600401614ba7565b60206040518083038186803b158015612f1357600080fd5b505afa158015612f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4b9190614a2d565b159050612f5783613350565b612f6a838787600063ffffffff61340816565b8015612f99576009830154336000908152603860205260409020612f9991600160d01b900460ff166001613821565b6040516394362e8b60e01b81526001600160a01b038316906394362e8b90612fc79033908990600401614bbb565b600060405180830381600087803b158015612fe157600080fd5b505af1158015612ff5573d6000803e3d6000fd5b5061300f925050506001600160a01b0387163384886137c3565b8361ffff16336001600160a01b0316876001600160a01b03167fc12c57b1c73a2c3a2ea4613e9476abb3d8d146857aab7329e24243fb59710c8288426040516130599291906152f7565b60405180910390a45050600160005550505050565b60078101546040516370a0823160e01b815260009182916001600160a01b03909116906370a08231906130a5908790600401614ba7565b60206040518083038186803b1580156130bd57600080fd5b505afa1580156130d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f59190614a2d565b60088401546040516370a0823160e01b81526001600160a01b03909116906370a0823190613127908890600401614ba7565b60206040518083038186803b15801561313f57600080fd5b505afa158015613153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131779190614a2d565b915091509250929050565b600781015460405163631a6fd560e11b815260009182916001600160a01b039091169063c634dfaa906131b9908790600401614ba7565b60206040518083038186803b1580156131d157600080fd5b505afa1580156131e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132099190614a2d565b600884015460405163631a6fd560e11b81526001600160a01b039091169063c634dfaa90613127908890600401614ba7565b815160016002830281019190911c16151592915050565b600981015460009064ffffffffff600160a01b909104811690421681141561328057505060048101546105cc565b60006105c78460040154613298866002015485613f5d565b9063ffffffff613ed816565b5460301c610f01600160d01b031690565b54670fffffffffff0000191690565b5460101c650fffffff0001600160f01b031690565b5460201c630fff0001600160e01b031690565b54603a1c6003600160c61b0316151590565b54603b1c151590565b5460381c600f600160c81b0316151590565b5460391c6007600160c71b0316151590565b600082820183811015611b225760405162461bcd60e51b81526004016101c990614df3565b600061335b82614073565b905080156133e4576001820154600983015460009161338791600160a01b900464ffffffffff16614188565b835490915061339d90829063ffffffff613ed816565b8355600283015460098401546000916133c391600160a01b900464ffffffffff16613f5d565b90506133dc846004015482613ed890919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b15801561344f57600080fd5b505afa158015613463573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134879190614a2d565b60068601546040516370a0823160e01b81529192506000916001600160a01b03878116926370a08231926134c19290911690600401614ba7565b60206040518083038186803b1580156134d957600080fd5b505afa1580156134ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135119190614a2d565b6009870154909150600090819081906001600160a01b03166357e37af08961354f89613543898d63ffffffff61332b16565b9063ffffffff61374c16565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561359f57600080fd5b505afa1580156135b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d79190614a2d565b8d60080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561362757600080fd5b505afa15801561363b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061365f9190614a2d565b8a6040518663ffffffff1660e01b8152600401613680959493929190614d09565b60606040518083038186803b15801561369857600080fd5b505afa1580156136ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136d09190614ac7565b60018c0183905560038c0182905560028c018190558b5460048d01546040519497509295509093506001600160a01b038b16927f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a49261373992889288928c928992909190615397565b60405180910390a2505050505050505050565b6000611b2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506141f1565b816002028161379e5760006137a1565b60015b60ff16901b826002026001901b19846000015416178360000181905550505050565b61381b846323b872dd60e01b8585856040516024016137e493929190614c91565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261421d565b50505050565b8160020260010181613834576000613837565b60015b60ff16901b826002026001016001901b19846000015416178360000181905550505050565b60008261386b57506000610ea0565b8282028284828161387857fe5b0414611b225760405162461bcd60e51b81526004016101c990614ecb565b6000611b2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506142ac565b6000805b60395481101561392557826001600160a01b0316603982815481106138fd57fe5b6000918252602090912001546001600160a01b0316141561391d57600191505b6001016138dc565b50806139a957603980546001600160a01b0384166000818152603760205260408120600901805460ff909416600160d01b0260ff60d01b19909416939093179092558254600181018455929091527fdc16fef70f8d5ddbc01ee3d903d1e69c18a3c7be080eb86a81e0578814ee58d390910180546001600160a01b03191690911790555b5050565b60008060008060006139bd6145c3565b6139c6896142e3565b156139e35750600094508493508392508291506000199050613ea0565b600060e08201525b87518160e001511015613df35760e0810151613a0e908a9063ffffffff6142e816565b613a1757613de3565b878160e0015181518110613a2757fe5b6020908102919091018101516001600160a01b031661020083018190526000908152908b905260409020613a5d600582016142f8565b6080860181905260c08601929092525060a0840191909152600a0a602083015261020082015160405163b3596f0760e01b81526001600160a01b038a169163b3596f0791613aae9190600401614ba7565b60206040518083038186803b158015613ac657600080fd5b505afa158015613ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613afe9190614a2d565b825260a082015115801590613b24575060e0820151613b24908b9063ffffffff61323b16565b15613c555760068101546040516370a0823160e01b81526001600160a01b03909116906370a0823190613b5b908f90600401614ba7565b60206040518083038186803b158015613b7357600080fd5b505afa158015613b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bab9190614a2d565b6040830181905260208301518351600092613bd0929161159c9163ffffffff61385c16565b610120840151909150613be9908263ffffffff61332b16565b61012084015260a0830151613c1b90613c0990839063ffffffff61385c16565b6101808501519063ffffffff61332b16565b61018084015260c0830151613c4d90613c3b90839063ffffffff61385c16565b6101a08501519063ffffffff61332b16565b6101a0840152505b60e0820151613c6b908b9063ffffffff613eb816565b15613de15760078101546040516370a0823160e01b81526001600160a01b03909116906370a0823190613ca2908f90600401614ba7565b60206040518083038186803b158015613cba57600080fd5b505afa158015613cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf29190614a2d565b826060018181525050613da28160080160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b8152600401613d419190614ba7565b60206040518083038186803b158015613d5957600080fd5b505afa158015613d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d919190614a2d565b60608401519063ffffffff61332b16565b6060830181905260208301518351613dda92613dc8929161159c9163ffffffff61385c16565b6101408401519063ffffffff61332b16565b6101408301525b505b60e08101805160010190526139eb565b600081610120015111613e07576000613e22565b610120810151610180820151613e229163ffffffff61389616565b610180820152610120810151613e39576000613e54565b6101208101516101a0820151613e549163ffffffff61389616565b6101a08201819052610120820151610140830151613e719261433f565b61010082018190526101208201516101408301516101808401516101a090940151919850965091945090925090505b9550955095509550959050565b600290565b303b1590565b9051600160029092021c16151590565b6b033b2e3c9fd0803ce800000090565b6000611b226b033b2e3c9fd0803ce800000061159c613efd868663ffffffff61385c16565b60026b033b2e3c9fd0803ce80000005b049063ffffffff61332b16565b600981015460009064ffffffffff600160a01b9091048116904216811415613f4557505080546105cc565b60006105c78460000154613298866001015485614188565b600080613f774264ffffffffff851663ffffffff61374c16565b905080613f8e57613f86613ec8565b915050610ea0565b6000613fa182600163ffffffff61374c16565b9050600060028311613fb4576000613fc5565b613fc583600263ffffffff61374c16565b90506000613fdd876301e1338063ffffffff61389616565b90506000613ff1828063ffffffff613ed816565b90506000614005828463ffffffff613ed816565b90506000614022600261159c856126998b8b63ffffffff61385c16565b90506000614041600661159c856126998a818e8e63ffffffff61385c16565b905061406481612bb6848161405c8a8e63ffffffff61385c16565b612bb6613ec8565b9b9a5050505050505050505050565b6000610ea08260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156140c857600080fd5b505afa1580156140dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141009190614a2d565b8360070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561415057600080fd5b505afa158015614164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bb69190614a2d565b6000806141a24264ffffffffff851663ffffffff61374c16565b905060006141cb6141b66301e1338061436f565b6141bf8461436f565b9063ffffffff61438516565b90506141e86141d8613ec8565b612bb6878463ffffffff613ed816565b95945050505050565b600081848411156142155760405162461bcd60e51b81526004016101c99190614d8f565b505050900390565b6060614272826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166143bd9092919063ffffffff16565b805190915015612520578080602001905181019061429091906149f9565b6125205760405162461bcd60e51b81526004016101c9906150af565b600081836142cd5760405162461bcd60e51b81526004016101c99190614d8f565b5060008385816142d957fe5b0495945050505050565b511590565b9051600360029092021c16151590565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610f01600160d01b031690565b60008261434f5750600019611b22565b611b1f83614363868563ffffffff6143cc16565b9063ffffffff6143f116565b6000610ea082633b9aca0063ffffffff61385c16565b6000600282046143b58361159c6143a8876b033b2e3c9fd0803ce800000061385c565b849063ffffffff61332b16565b949350505050565b6060611b1f8484600085614410565b6000611b2261271061159c6143e7868663ffffffff61385c16565b6002612710613f0d565b6000600282046143b58361159c6143a887670de0b6b3a764000061385c565b606061441b85610593565b6144375760405162461bcd60e51b81526004016101c99061500a565b60006060866001600160a01b031685876040516144549190614b8b565b60006040518083038185875af1925050503d8060008114614491576040519150601f19603f3d011682016040523d82523d6000602084013e614496565b606091505b509150915081156144aa5791506143b59050565b8051156144ba5780518082602001fd5b8360405162461bcd60e51b81526004016101c99190614d8f565b604051806101a00160405280600081526020016000815260200160008152602001600081526020016000815260200161450b6145b0565b815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060c00160405280600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6040518060200160405280600081525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b600060208284031215614675578081fd5b8135611b22816154db565b600060208284031215614691578081fd5b8151611b22816154db565b600080604083850312156146ae578081fd5b82356146b9816154db565b915060208301356146c9816154db565b809150509250929050565b600080600080608085870312156146e9578182fd5b84356146f4816154db565b93506020850135614704816154db565b93969395505050506040820135916060013590565b600080600080600060a08688031215614730578081fd5b853561473b816154db565b9450602086013561474b816154db565b9350604086013561475b816154db565b9250606086013561476b816154db565b9150608086013561477b816154db565b809150509295509295909350565b600080600080600060a086880312156147a0578081fd5b85356147ab816154db565b945060208601356147bb816154db565b935060408601356147cb816154db565b925060608601359150608086013561477b816154f3565b6000806000606084860312156147f6578283fd5b8335614801816154db565b92506020840135614811816154db565b929592945050506040919091013590565b60008060008060808587031215614837578384fd5b8435614842816154db565b93506020850135614852816154db565b925060408501359150606085013567ffffffffffffffff811115614874578182fd5b80860187601f820112614885578283fd5b8035915061489a61489583615480565b615459565b8281528860208484010111156148ae578384fd5b8260208301602083013791820160200192909252939692955090935050565b600080604083850312156148df578182fd5b82356148ea816154db565b915060208301356146c9816154f3565b6000806040838503121561490c578182fd5b8235614917816154db565b946020939093013593505050565b600080600060608486031215614939578081fd5b8335614944816154db565b925060208401359150604084013561ffff81168114614961578182fd5b809150509250925092565b60008060008060808587031215614981578182fd5b843561498c816154db565b9350602085013592506040850135915060608501356149aa816154db565b939692955090935050565b600080600080608085870312156149ca578182fd5b84356149d5816154db565b93506020850135925060408501359150606085013561ffff811681146149aa578182fd5b600060208284031215614a0a578081fd5b8151611b22816154f3565b600060208284031215614a26578081fd5b5035919050565b600060208284031215614a3e578081fd5b5051919050565b60008060408385031215614a57578182fd5b82519150602083015167ffffffffffffffff811115614a74578182fd5b80840185601f820112614a85578283fd5b80519150614a9561489583615480565b828152866020848401011115614aa9578384fd5b614aba8360208301602085016154af565b8093505050509250929050565b600080600060608486031215614adb578081fd5b8351925060208401519150604084015190509250925092565b600060208284031215614b05578081fd5b815164ffffffffff81168114611b22578182fd5b6000815480845260208085019450838352808320835b83811015614b545781546001600160a01b031687529582019560019182019101614b2f565b509495945050505050565b60008151808452614b778160208601602086016154af565b601f01601f19169290920160200192915050565b60008251614b9d8184602087016154af565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090614c2f90830184614b5f565b979650505050505050565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03958616815293851660208501529190931660408301526060820192909252901515608082015260a00190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060018060a01b03808a16835280891660208401528760408401528660608401528554608084015260e060a0840152614cf260e0840186614b19565b915080841660c08401525098975050505050505050565b6001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b6020808252825182820181905260009190848201906040850190845b81811015614d785783516001600160a01b031683529284019291840191600101614d53565b50909695505050505050565b901515815260200190565b600060208252611b226020830184614b5f565b60208082526031908201527f5468657265206973206e6f7420656e6f756768206c697175696469747920617660408201527061696c61626c6520746f20626f72726f7760781b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602f908201527f496e746572657374207261746520726562616c616e636520636f6e646974696f60408201526e1b9cc81dd95c99481b9bdd081b595d608a1b606082015260800190565b60208082526032908201527f5468652061637475616c2062616c616e6365206f66207468652070726f746f636040820152711bdb081a5cc81a5b98dbdb9cda5cdd195b9d60721b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526038908201527f5573657220646f6573206e6f74206861766520616e7920737461626c6520726160408201527f7465206c6f616e20666f72207468697320726573657276650000000000000000606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526017908201527f4c69717569646174696f6e2063616c6c206661696c6564000000000000000000604082015260600190565b602080825260029082015261033360f41b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b602080825260029082015261191960f11b604082015260600190565b60208082526032908201527f5468652072657175657374656420616d6f756e7420697320746f6f20736d616c60408201527136103337b9103090233630b9b42637b0b71760711b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b9051815260200190565b9485526001600160a01b03938416602086015291831660408501528216606084015216608082015260a00190565b600087825260018060a01b03808816602084015286604084015285606084015260c0608084015261519c60c0840186614b19565b915080841660a084015250979650505050505050565b9283526001600160a01b03919091166020830152604082015260600190565b8981526001600160a01b038981166020830152604082018990526101208201906151fa896154a4565b606084015296909616608082015260a081019490945260c084019290925260e083015261010090910152949350505050565b9485526001600160a01b0393909316602085015260408401919091526060830152608082015260a00190565b60006101408c835260018060a01b03808d1660208501528b60408501528a60608501528960808501528860a08501528760c08501528660e0850152816101008501526152a682850187614b19565b925080851661012085015250509b9a5050505050505050505050565b600060a0820190508682528560208301528460408301528360608301526152e8836154a4565b60808301529695505050505050565b918252602082015260400190565b90815260200190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b998a5260208a0198909852604089019690965260608801949094526001600160a01b03929092166080870152151560a0860152151560c0850152151560e0840152151561010083015215156101208201526101400190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b998a5260208a019890985260408901969096526060880194909452608087019290925260a086015260c085015260e084015261010083015264ffffffffff166101208201526101400190565b998a5260208a019890985260408901969096526060880194909452608087019290925260a086015260c085015260e084015264ffffffffff1661010083015215156101208201526101400190565b60405181810167ffffffffffffffff8111828210171561547857600080fd5b604052919050565b600067ffffffffffffffff821115615496578081fd5b50601f01601f191660200190565b80600381106105cc57fe5b60005b838110156154ca5781810151838201526020016154b2565b8381111561381b5750506000910152565b6001600160a01b03811681146154f057600080fd5b50565b80151581146154f057600080fdfea2646970667358221220ee02f31c3066707fa382168666fa03de7ce29ad070a158999ef519faa53410e764736f6c63430006080033"; export interface LendingPoolLibraryAddresses { ["__$69254465eb8f179ea24caa73cf68b23524$__"]: string; diff --git a/types/LendingPoolLiquidationManagerFactory.ts b/types/LendingPoolLiquidationManagerFactory.ts index 3d8a3b09..a7316400 100644 --- a/types/LendingPoolLiquidationManagerFactory.ts +++ b/types/LendingPoolLiquidationManagerFactory.ts @@ -174,4 +174,4 @@ const _abi = [ ]; const _bytecode = - "0x6080604052600060015534801561001557600080fd5b5060016000556122608061002a6000396000f3fe6080604052600436106100335760003560e01c8062a718a9146100385780634fe7a6e5146100fb578063c72c4d1014610141575b600080fd5b61007c600480360360a081101561004e57600080fd5b506001600160a01b038135811691602081013582169160408201351690606081013590608001351515610156565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100bf5781810151838201526020016100a7565b50505050905090810190601f1680156100ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561010757600080fd5b506101256004803603602081101561011e57600080fd5b50356109b6565b604080516001600160a01b039092168252519081900360200190f35b34801561014d57600080fd5b506101256109dd565b6001600160a01b03808516600090815260376020908152604080832089851684528184209488168452603890925282209192606092610193611fb8565b6001600160a01b03891660009081526038602090815260409182902082518083018452905481526039805484518185028101850190955280855261028c948e946037949391929083018282801561021357602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f5575b505060355460408051631f94a27560e31b815290516001600160a01b03909216945063fca513a893506004808201935060209291829003018186803b15801561025b57600080fd5b505afa15801561026f573d6000803e3d6000fd5b505050506040513d602081101561028557600080fd5b50516109ec565b6101c08601819052670de0b6b3a76400001193506102d0925050505760046040518060600160405280602881526020016121d96028913995509550505050506109ac565b6006830154604080516370a0823160e01b81526001600160a01b038c81166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561031f57600080fd5b505afa158015610333573d6000803e3d6000fd5b505050506040513d602081101561034957600080fd5b50518152600061035b60058501610ec9565b11801561038a5750600983015460408051602081019091528354815261038a91600160d01b900460ff16610ede565b151561020082018190526103c05760026040518060600160405280602a8152602001612185602a913995509550505050506109ac565b6103ca8985610ef6565b6040830152602082018190521580156103e557506040810151155b156104125760036040518060600160405280602a8152602001612201602a913995509550505050506109ac565b61043f61138861043383604001518460200151610ff990919063ffffffff16565b9063ffffffff61105a16565b6060820181905288116104525787610458565b80606001515b60808201819052815161047391859187918f918f9190611088565b6101a083018190526101808301919091526080820151111561049b576101a081015160808201525b60068301546001600160a01b03166101e0820152866105785760008b6001600160a01b03166370a08231836101e001516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561051157600080fd5b505afa158015610525573d6000803e3d6000fd5b505050506040513d602081101561053b57600080fd5b5051610180830151909150811015610576576005604051806060016040528060338152602001612152603391399650965050505050506109ac565b505b61058184611313565b608081015161059b9085908c90600063ffffffff6113cb16565b8060800151816040015110610624576008840154608082015160408051632770a7eb60e21b81526001600160a01b038d81166004830152602482019390935290519190921691639dc29fac91604480830192600092919082900301818387803b15801561060757600080fd5b505af115801561061b573d6000803e3d6000fd5b5050505061072b565b60088401546040808301518151632770a7eb60e21b81526001600160a01b038d8116600483015260248201929092529151921691639dc29fac9160448082019260009290919082900301818387803b15801561067f57600080fd5b505af1158015610693573d6000803e3d6000fd5b505050506007840154604082015160808301516001600160a01b0390921691639dc29fac918c916106c391611712565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561071257600080fd5b505af1158015610726573d6000803e3d6000fd5b505050505b86156107b3576101e08101516101808201516040805163f866c31960e01b81526001600160a01b038d8116600483015233602483015260448201939093529051919092169163f866c31991606480830192600092919082900301818387803b15801561079657600080fd5b505af11580156107aa573d6000803e3d6000fd5b505050506108e3565b6107bc83611313565b6101808101516107d89084908d9060009063ffffffff6113cb16565b806101e001516001600160a01b0316633edb7cb88a8361018001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561084257600080fd5b505af1158015610856573d6000803e3d6000fd5b5050506101e082015161018083015160408051634efecaa560e01b81523360048201526024810192909252516001600160a01b039092169250634efecaa59160448083019260209291908290030181600087803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b505050506040513d60208110156108e057600080fd5b50505b6006840154608082015161090f916001600160a01b038d8116923392919091169063ffffffff61175416565b60808082015161018083015160408051928352602083019190915233828201528915156060830152429282019290925290516001600160a01b03808c16928d821692918f16917f54343dd5791108d018f6fb8def2c14d746f777c51e9924962237813a527528709181900360a00190a46000604051806040016040528060098152602001684e6f206572726f727360b81b81525095509550505050505b9550959350505050565b603981815481106109c357fe5b6000918252602090912001546001600160a01b0316905081565b6035546001600160a01b031681565b60008060008060006109fc612052565b610a05896117b4565b15610a225750600094508493508392508291506000199050610ebc565b600060e08201525b87518160e001511015610e0f5760e0810151610a4d908a9063ffffffff6117b916565b610a5657610dff565b878160e0015181518110610a6657fe5b6020908102919091018101516001600160a01b031661020083018190526000908152908b905260409020610a9c600582016117c9565b6080860181905260c08601929092525060a0840191909152600a0a6020808401919091526102008301516040805163b3596f0760e01b81526001600160a01b0392831660048201529051918b169263b3596f0792602480840193829003018186803b158015610b0a57600080fd5b505afa158015610b1e573d6000803e3d6000fd5b505050506040513d6020811015610b3457600080fd5b5051825260a082015115801590610b5c575060e0820151610b5c908b9063ffffffff610ede16565b15610c92576006810154604080516370a0823160e01b81526001600160a01b038f81166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610bb057600080fd5b505afa158015610bc4573d6000803e3d6000fd5b505050506040513d6020811015610bda57600080fd5b50516040830181905260208301518351600092610c0d9291610c019163ffffffff61181016565b9063ffffffff61186916565b610120840151909150610c26908263ffffffff610ff916565b61012084015260a0830151610c5890610c4690839063ffffffff61181016565b6101808501519063ffffffff610ff916565b61018084015260c0830151610c8a90610c7890839063ffffffff61181016565b6101a08501519063ffffffff610ff916565b6101a0840152505b60e0820151610ca8908b9063ffffffff6118ab16565b15610dfd576007810154604080516370a0823160e01b81526001600160a01b038f81166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610cfc57600080fd5b505afa158015610d10573d6000803e3d6000fd5b505050506040513d6020811015610d2657600080fd5b505160608301526008810154604080516370a0823160e01b81526001600160a01b038f811660048301529151610dbe9392909216916370a0823191602480820192602092909190829003018186803b158015610d8157600080fd5b505afa158015610d95573d6000803e3d6000fd5b505050506040513d6020811015610dab57600080fd5b505160608401519063ffffffff610ff916565b6060830181905260208301518351610df692610de49291610c019163ffffffff61181016565b6101408401519063ffffffff610ff916565b6101408301525b505b60e0810180516001019052610a2a565b600081610120015111610e23576000610e3e565b610120810151610180820151610e3e9163ffffffff61186916565b610180820152610120810151610e55576000610e70565b6101208101516101a0820151610e709163ffffffff61186916565b6101a08201819052610120820151610140830151610e8d926118bb565b61010082018190526101208201516101408301516101808401516101a090940151919850965091945090925090505b9550955095509550959050565b5460101c650fffffff0001600160f01b031690565b815160016002830281019190911c1615155b92915050565b6007810154604080516370a0823160e01b81526001600160a01b0385811660048301529151600093849316916370a08231916024808301926020929190829003018186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d6020811015610f7157600080fd5b50516008840154604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610fc257600080fd5b505afa158015610fd6573d6000803e3d6000fd5b505050506040513d6020811015610fec57600080fd5b5051909590945092505050565b600082820183811015611053576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000611053612710610c01611075868663ffffffff61181016565b60026127105b049063ffffffff610ff916565b60355460408051631f94a27560e31b81529051600092839283926001600160a01b039092169163fca513a891600480820192602092909190829003018186803b1580156110d457600080fd5b505afa1580156110e8573d6000803e3d6000fd5b505050506040513d60208110156110fe57600080fd5b5051905061110a6120f3565b816001600160a01b031663b3596f07896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561116057600080fd5b505afa158015611174573d6000803e3d6000fd5b505050506040513d602081101561118a57600080fd5b5051604080830191909152805163b3596f0760e01b81526001600160a01b03898116600483015291519184169163b3596f0791602480820192602092909190829003018186803b1580156111dd57600080fd5b505afa1580156111f1573d6000803e3d6000fd5b505050506040513d602081101561120757600080fd5b5051606082015261121a60058b016117c9565b60c0850152602084015250611233905060058a016118f3565b60a082018190526020820151604083015161128c926104339161125e91600a0a63ffffffff61181016565b610c018560c00151600a0a6112808c886060015161181090919063ffffffff16565b9063ffffffff61181016565b608082018190528510156112fb578493506112f481602001516112e86112c68460c00151600a0a856060015161181090919063ffffffff16565b610c018560a00151600a0a6112808a886040015161181090919063ffffffff16565b9063ffffffff61190416565b9250611306565b806080015193508592505b5050965096945050505050565b600061131e8261192a565b905080156113a7576001820154600983015460009161134a91600160a01b900464ffffffffff16611a2a565b835490915061136090829063ffffffff611a9f16565b83556002830154600984015460009161138691600160a01b900464ffffffffff16611ad8565b905061139f846004015482611a9f90919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b15801561141257600080fd5b505afa158015611426573d6000803e3d6000fd5b505050506040513d602081101561143c57600080fd5b50516006860154604080516370a0823160e01b81526001600160a01b0392831660048201529051929350600092918716916370a0823191602480820192602092909190829003018186803b15801561149357600080fd5b505afa1580156114a7573d6000803e3d6000fd5b505050506040513d60208110156114bd57600080fd5b50516009870154909150600090819081906001600160a01b03166357e37af0896114fd896114f1898d63ffffffff610ff916565b9063ffffffff61171216565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154d57600080fd5b505afa158015611561573d6000803e3d6000fd5b505050506040513d602081101561157757600080fd5b505160088e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156115c057600080fd5b505afa1580156115d4573d6000803e3d6000fd5b505050506040513d60208110156115ea57600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b15801561164d57600080fd5b505afa158015611661573d6000803e3d6000fd5b505050506040513d606081101561167757600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b600061105383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bee565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526117ae908590611c85565b50505050565b511590565b9051600360029092021c16151590565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610f01600160d01b031690565b60008261181f57506000610ef0565b8282028284828161182c57fe5b04146110535760405162461bcd60e51b81526004018080602001828103825260218152602001806121316021913960400191505060405180910390fd5b600061105383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d3b565b9051600160029092021c16151590565b6000826118cb5750600019611053565b6118eb836118df868563ffffffff61105a16565b9063ffffffff611da016565b949350505050565b5460301c610f01600160d01b031690565b6000600282046118eb83610c0161191d87612710611810565b849063ffffffff610ff916565b6000610ef08260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561197f57600080fd5b505afa158015611993573d6000803e3d6000fd5b505050506040513d60208110156119a957600080fd5b50516007840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156119f257600080fd5b505afa158015611a06573d6000803e3d6000fd5b505050506040513d6020811015611a1c57600080fd5b50519063ffffffff610ff916565b600080611a444264ffffffffff851663ffffffff61171216565b90506000611a6d611a586301e13380611dbf565b611a6184611dbf565b9063ffffffff611dd516565b9050611a96611a7a611df8565b611a8a878463ffffffff611a9f16565b9063ffffffff610ff916565b95945050505050565b60006110536b033b2e3c9fd0803ce8000000610c01611ac4868663ffffffff61181016565b60026b033b2e3c9fd0803ce800000061107b565b600080611af24264ffffffffff851663ffffffff61171216565b905080611b0957611b01611df8565b915050610ef0565b6000611b1c82600163ffffffff61171216565b9050600060028311611b2f576000611b40565b611b4083600263ffffffff61171216565b90506000611b58876301e1338063ffffffff61186916565b90506000611b6c828063ffffffff611a9f16565b90506000611b80828463ffffffff611a9f16565b90506000611b9d6002610c01856112808b8b63ffffffff61181016565b90506000611bbc6006610c01856112808a818e8e63ffffffff61181016565b9050611bdf81611a8a8481611bd78a8e63ffffffff61181016565b611a8a611df8565b9b9a5050505050505050505050565b60008184841115611c7d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c42578181015183820152602001611c2a565b50505050905090810190601f168015611c6f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060611cda826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611e089092919063ffffffff16565b805190915015611d3657808060200190516020811015611cf957600080fd5b5051611d365760405162461bcd60e51b815260040180806020018281038252602a8152602001806121af602a913960400191505060405180910390fd5b505050565b60008183611d8a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611c42578181015183820152602001611c2a565b506000838581611d9657fe5b0495945050505050565b6000600282046118eb83610c0161191d87670de0b6b3a7640000611810565b6000610ef082633b9aca0063ffffffff61181016565b6000600282046118eb83610c0161191d876b033b2e3c9fd0803ce8000000611810565b6b033b2e3c9fd0803ce800000090565b60606118eb84846000856060611e1d85611f7f565b611e6e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611ead5780518252601f199092019160209182019101611e8e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611f0f576040519150601f19603f3d011682016040523d82523d6000602084013e611f14565b606091505b50915091508115611f285791506118eb9050565b805115611f385780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315611c42578181015183820152602001611c2a565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906118eb575050151592915050565b604051806102200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000600281111561201757fe5b81526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754686572652069736e277420656e6f756768206c697175696469747920617661696c61626c6520746f206c697175696461746554686520636f6c6c61746572616c2063686f73656e2063616e6e6f74206265206c6971756964617465645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644865616c746820666163746f72206973206e6f742062656c6f7720746865207468726573686f6c645573657220646964206e6f7420626f72726f7720746865207370656369666965642063757272656e6379a264697066735822122049603ceb85d061842d7ebf3b91a2b604345201a6a719dffe6760cb4ea2092b4a64736f6c63430006080033"; + "0x6080604052600060015534801561001557600080fd5b5060016000556122608061002a6000396000f3fe6080604052600436106100335760003560e01c8062a718a9146100385780634fe7a6e5146100fb578063c72c4d1014610141575b600080fd5b61007c600480360360a081101561004e57600080fd5b506001600160a01b038135811691602081013582169160408201351690606081013590608001351515610156565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100bf5781810151838201526020016100a7565b50505050905090810190601f1680156100ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561010757600080fd5b506101256004803603602081101561011e57600080fd5b50356109b6565b604080516001600160a01b039092168252519081900360200190f35b34801561014d57600080fd5b506101256109dd565b6001600160a01b03808516600090815260376020908152604080832089851684528184209488168452603890925282209192606092610193611fb8565b6001600160a01b03891660009081526038602090815260409182902082518083018452905481526039805484518185028101850190955280855261028c948e946037949391929083018282801561021357602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f5575b505060355460408051631f94a27560e31b815290516001600160a01b03909216945063fca513a893506004808201935060209291829003018186803b15801561025b57600080fd5b505afa15801561026f573d6000803e3d6000fd5b505050506040513d602081101561028557600080fd5b50516109ec565b6101c08601819052670de0b6b3a76400001193506102d0925050505760046040518060600160405280602881526020016121d96028913995509550505050506109ac565b6006830154604080516370a0823160e01b81526001600160a01b038c81166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561031f57600080fd5b505afa158015610333573d6000803e3d6000fd5b505050506040513d602081101561034957600080fd5b50518152600061035b60058501610ec9565b11801561038a5750600983015460408051602081019091528354815261038a91600160d01b900460ff16610ede565b151561020082018190526103c05760026040518060600160405280602a8152602001612185602a913995509550505050506109ac565b6103ca8985610ef6565b6040830152602082018190521580156103e557506040810151155b156104125760036040518060600160405280602a8152602001612201602a913995509550505050506109ac565b61043f61138861043383604001518460200151610ff990919063ffffffff16565b9063ffffffff61105a16565b6060820181905288116104525787610458565b80606001515b60808201819052815161047391859187918f918f9190611088565b6101a083018190526101808301919091526080820151111561049b576101a081015160808201525b60068301546001600160a01b03166101e0820152866105785760008b6001600160a01b03166370a08231836101e001516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561051157600080fd5b505afa158015610525573d6000803e3d6000fd5b505050506040513d602081101561053b57600080fd5b5051610180830151909150811015610576576005604051806060016040528060338152602001612152603391399650965050505050506109ac565b505b61058184611313565b608081015161059b9085908c90600063ffffffff6113cb16565b8060800151816040015110610624576008840154608082015160408051632770a7eb60e21b81526001600160a01b038d81166004830152602482019390935290519190921691639dc29fac91604480830192600092919082900301818387803b15801561060757600080fd5b505af115801561061b573d6000803e3d6000fd5b5050505061072b565b60088401546040808301518151632770a7eb60e21b81526001600160a01b038d8116600483015260248201929092529151921691639dc29fac9160448082019260009290919082900301818387803b15801561067f57600080fd5b505af1158015610693573d6000803e3d6000fd5b505050506007840154604082015160808301516001600160a01b0390921691639dc29fac918c916106c391611712565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561071257600080fd5b505af1158015610726573d6000803e3d6000fd5b505050505b86156107b3576101e08101516101808201516040805163f866c31960e01b81526001600160a01b038d8116600483015233602483015260448201939093529051919092169163f866c31991606480830192600092919082900301818387803b15801561079657600080fd5b505af11580156107aa573d6000803e3d6000fd5b505050506108e3565b6107bc83611313565b6101808101516107d89084908d9060009063ffffffff6113cb16565b806101e001516001600160a01b0316633edb7cb88a8361018001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561084257600080fd5b505af1158015610856573d6000803e3d6000fd5b5050506101e082015161018083015160408051634efecaa560e01b81523360048201526024810192909252516001600160a01b039092169250634efecaa59160448083019260209291908290030181600087803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b505050506040513d60208110156108e057600080fd5b50505b6006840154608082015161090f916001600160a01b038d8116923392919091169063ffffffff61175416565b60808082015161018083015160408051928352602083019190915233828201528915156060830152429282019290925290516001600160a01b03808c16928d821692918f16917f54343dd5791108d018f6fb8def2c14d746f777c51e9924962237813a527528709181900360a00190a46000604051806040016040528060098152602001684e6f206572726f727360b81b81525095509550505050505b9550959350505050565b603981815481106109c357fe5b6000918252602090912001546001600160a01b0316905081565b6035546001600160a01b031681565b60008060008060006109fc612052565b610a05896117b4565b15610a225750600094508493508392508291506000199050610ebc565b600060e08201525b87518160e001511015610e0f5760e0810151610a4d908a9063ffffffff6117b916565b610a5657610dff565b878160e0015181518110610a6657fe5b6020908102919091018101516001600160a01b031661020083018190526000908152908b905260409020610a9c600582016117c9565b6080860181905260c08601929092525060a0840191909152600a0a6020808401919091526102008301516040805163b3596f0760e01b81526001600160a01b0392831660048201529051918b169263b3596f0792602480840193829003018186803b158015610b0a57600080fd5b505afa158015610b1e573d6000803e3d6000fd5b505050506040513d6020811015610b3457600080fd5b5051825260a082015115801590610b5c575060e0820151610b5c908b9063ffffffff610ede16565b15610c92576006810154604080516370a0823160e01b81526001600160a01b038f81166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610bb057600080fd5b505afa158015610bc4573d6000803e3d6000fd5b505050506040513d6020811015610bda57600080fd5b50516040830181905260208301518351600092610c0d9291610c019163ffffffff61181016565b9063ffffffff61186916565b610120840151909150610c26908263ffffffff610ff916565b61012084015260a0830151610c5890610c4690839063ffffffff61181016565b6101808501519063ffffffff610ff916565b61018084015260c0830151610c8a90610c7890839063ffffffff61181016565b6101a08501519063ffffffff610ff916565b6101a0840152505b60e0820151610ca8908b9063ffffffff6118ab16565b15610dfd576007810154604080516370a0823160e01b81526001600160a01b038f81166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610cfc57600080fd5b505afa158015610d10573d6000803e3d6000fd5b505050506040513d6020811015610d2657600080fd5b505160608301526008810154604080516370a0823160e01b81526001600160a01b038f811660048301529151610dbe9392909216916370a0823191602480820192602092909190829003018186803b158015610d8157600080fd5b505afa158015610d95573d6000803e3d6000fd5b505050506040513d6020811015610dab57600080fd5b505160608401519063ffffffff610ff916565b6060830181905260208301518351610df692610de49291610c019163ffffffff61181016565b6101408401519063ffffffff610ff916565b6101408301525b505b60e0810180516001019052610a2a565b600081610120015111610e23576000610e3e565b610120810151610180820151610e3e9163ffffffff61186916565b610180820152610120810151610e55576000610e70565b6101208101516101a0820151610e709163ffffffff61186916565b6101a08201819052610120820151610140830151610e8d926118bb565b61010082018190526101208201516101408301516101808401516101a090940151919850965091945090925090505b9550955095509550959050565b5460101c650fffffff0001600160f01b031690565b815160016002830281019190911c1615155b92915050565b6007810154604080516370a0823160e01b81526001600160a01b0385811660048301529151600093849316916370a08231916024808301926020929190829003018186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d6020811015610f7157600080fd5b50516008840154604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610fc257600080fd5b505afa158015610fd6573d6000803e3d6000fd5b505050506040513d6020811015610fec57600080fd5b5051909590945092505050565b600082820183811015611053576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000611053612710610c01611075868663ffffffff61181016565b60026127105b049063ffffffff610ff916565b60355460408051631f94a27560e31b81529051600092839283926001600160a01b039092169163fca513a891600480820192602092909190829003018186803b1580156110d457600080fd5b505afa1580156110e8573d6000803e3d6000fd5b505050506040513d60208110156110fe57600080fd5b5051905061110a6120f3565b816001600160a01b031663b3596f07896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561116057600080fd5b505afa158015611174573d6000803e3d6000fd5b505050506040513d602081101561118a57600080fd5b5051604080830191909152805163b3596f0760e01b81526001600160a01b03898116600483015291519184169163b3596f0791602480820192602092909190829003018186803b1580156111dd57600080fd5b505afa1580156111f1573d6000803e3d6000fd5b505050506040513d602081101561120757600080fd5b5051606082015261121a60058b016117c9565b60c0850152602084015250611233905060058a016118f3565b60a082018190526020820151604083015161128c926104339161125e91600a0a63ffffffff61181016565b610c018560c00151600a0a6112808c886060015161181090919063ffffffff16565b9063ffffffff61181016565b608082018190528510156112fb578493506112f481602001516112e86112c68460c00151600a0a856060015161181090919063ffffffff16565b610c018560a00151600a0a6112808a886040015161181090919063ffffffff16565b9063ffffffff61190416565b9250611306565b806080015193508592505b5050965096945050505050565b600061131e8261192a565b905080156113a7576001820154600983015460009161134a91600160a01b900464ffffffffff16611a2a565b835490915061136090829063ffffffff611a9f16565b83556002830154600984015460009161138691600160a01b900464ffffffffff16611ad8565b905061139f846004015482611a9f90919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b15801561141257600080fd5b505afa158015611426573d6000803e3d6000fd5b505050506040513d602081101561143c57600080fd5b50516006860154604080516370a0823160e01b81526001600160a01b0392831660048201529051929350600092918716916370a0823191602480820192602092909190829003018186803b15801561149357600080fd5b505afa1580156114a7573d6000803e3d6000fd5b505050506040513d60208110156114bd57600080fd5b50516009870154909150600090819081906001600160a01b03166357e37af0896114fd896114f1898d63ffffffff610ff916565b9063ffffffff61171216565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154d57600080fd5b505afa158015611561573d6000803e3d6000fd5b505050506040513d602081101561157757600080fd5b505160088e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156115c057600080fd5b505afa1580156115d4573d6000803e3d6000fd5b505050506040513d60208110156115ea57600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b15801561164d57600080fd5b505afa158015611661573d6000803e3d6000fd5b505050506040513d606081101561167757600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b600061105383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bee565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526117ae908590611c85565b50505050565b511590565b9051600360029092021c16151590565b54670fffffffffff000019811691601082901c650fffffff0001600160f01b031691602081901c630fff0001600160e01b03169160309190911c610f01600160d01b031690565b60008261181f57506000610ef0565b8282028284828161182c57fe5b04146110535760405162461bcd60e51b81526004018080602001828103825260218152602001806121316021913960400191505060405180910390fd5b600061105383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d3b565b9051600160029092021c16151590565b6000826118cb5750600019611053565b6118eb836118df868563ffffffff61105a16565b9063ffffffff611da016565b949350505050565b5460301c610f01600160d01b031690565b6000600282046118eb83610c0161191d87612710611810565b849063ffffffff610ff916565b6000610ef08260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561197f57600080fd5b505afa158015611993573d6000803e3d6000fd5b505050506040513d60208110156119a957600080fd5b50516007840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156119f257600080fd5b505afa158015611a06573d6000803e3d6000fd5b505050506040513d6020811015611a1c57600080fd5b50519063ffffffff610ff916565b600080611a444264ffffffffff851663ffffffff61171216565b90506000611a6d611a586301e13380611dbf565b611a6184611dbf565b9063ffffffff611dd516565b9050611a96611a7a611df8565b611a8a878463ffffffff611a9f16565b9063ffffffff610ff916565b95945050505050565b60006110536b033b2e3c9fd0803ce8000000610c01611ac4868663ffffffff61181016565b60026b033b2e3c9fd0803ce800000061107b565b600080611af24264ffffffffff851663ffffffff61171216565b905080611b0957611b01611df8565b915050610ef0565b6000611b1c82600163ffffffff61171216565b9050600060028311611b2f576000611b40565b611b4083600263ffffffff61171216565b90506000611b58876301e1338063ffffffff61186916565b90506000611b6c828063ffffffff611a9f16565b90506000611b80828463ffffffff611a9f16565b90506000611b9d6002610c01856112808b8b63ffffffff61181016565b90506000611bbc6006610c01856112808a818e8e63ffffffff61181016565b9050611bdf81611a8a8481611bd78a8e63ffffffff61181016565b611a8a611df8565b9b9a5050505050505050505050565b60008184841115611c7d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c42578181015183820152602001611c2a565b50505050905090810190601f168015611c6f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060611cda826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611e089092919063ffffffff16565b805190915015611d3657808060200190516020811015611cf957600080fd5b5051611d365760405162461bcd60e51b815260040180806020018281038252602a8152602001806121af602a913960400191505060405180910390fd5b505050565b60008183611d8a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611c42578181015183820152602001611c2a565b506000838581611d9657fe5b0495945050505050565b6000600282046118eb83610c0161191d87670de0b6b3a7640000611810565b6000610ef082633b9aca0063ffffffff61181016565b6000600282046118eb83610c0161191d876b033b2e3c9fd0803ce8000000611810565b6b033b2e3c9fd0803ce800000090565b60606118eb84846000856060611e1d85611f7f565b611e6e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611ead5780518252601f199092019160209182019101611e8e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611f0f576040519150601f19603f3d011682016040523d82523d6000602084013e611f14565b606091505b50915091508115611f285791506118eb9050565b805115611f385780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315611c42578181015183820152602001611c2a565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906118eb575050151592915050565b604051806102200160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000600281111561201757fe5b81526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b60405180610260016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754686572652069736e277420656e6f756768206c697175696469747920617661696c61626c6520746f206c697175696461746554686520636f6c6c61746572616c2063686f73656e2063616e6e6f74206265206c6971756964617465645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644865616c746820666163746f72206973206e6f742062656c6f7720746865207468726573686f6c645573657220646964206e6f7420626f72726f7720746865207370656369666965642063757272656e6379a2646970667358221220a7c7858ffa64f4871c7628f8f3cff1686c1269623598d9c34f281d7d5c8fb25c64736f6c63430006080033"; diff --git a/types/MockATokenFactory.ts b/types/MockATokenFactory.ts index 46f6bd1f..4bff066b 100644 --- a/types/MockATokenFactory.ts +++ b/types/MockATokenFactory.ts @@ -898,4 +898,4 @@ const _abi = [ ]; const _bytecode = - "0x60c0604052600080553480156200001557600080fd5b50604051620030a8380380620030a8833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b506040525050508383838381818160379080519060200190620001cc92919062000218565b508051620001e290603890602084019062000218565b50506039805460ff191660121790555050506001600160601b0319606092831b811660a052911b1660805250620002bd92505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025b57805160ff19168380011785556200028b565b828001600101855582156200028b579182015b828111156200028b5782518255916020019190600101906200026e565b50620002999291506200029d565b5090565b620002ba91905b80821115620002995760008155600101620002a4565b90565b60805160601c60a05160601c612d6762000341600039806109e25280610d005280610e335280610f23528061107e52806110ed52806114c0528061159f52806117195280611c8d5280612116525080610a115280610e9c5280610ee75280611051528061111c52806114ef52806115c65280611cbc52806121455250612d676000f3fe6080604052600436106101bb5760003560e01c80634efecaa5116100ec578063a9059cbb1161008a578063db006a7511610064578063db006a751461077d578063dd62ed3e146107a7578063ee9907a4146107e2578063f866c31914610815576101c5565b8063a9059cbb146106fc578063c634dfaa14610735578063d0fc81d214610768576101c5565b806389d1a0fc116100c657806389d1a0fc1461066057806394362e8b1461067557806395d89b41146106ae578063a457c2d7146106c3576101c5565b80634efecaa5146105bb5780635eae177c146105f457806370a082311461062d576101c5565b806323b872dd11610159578063325a9b1311610133578063325a9b13146104bf57806339509351146104fa5780633edb7cb814610533578063445e80101461056c576101c5565b806323b872dd146103785780633118724e146103bb578063313ce56714610494576101c5565b80630e49072d116101955780630e49072d146102c857806312c87c2d146102fd57806318160ddd146103305780631d51e7cf14610345576101c5565b806306fdde03146101ca578063095ea7b3146102545780630bd7ad3b146102a1576101c5565b366101c557600080fd5b600080fd5b3480156101d657600080fd5b506101df610858565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610219578181015183820152602001610201565b50505050905090810190601f1680156102465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026057600080fd5b5061028d6004803603604081101561027757600080fd5b506001600160a01b0381351690602001356108ef565b604080519115158252519081900360200190f35b3480156102ad57600080fd5b506102b661090d565b60408051918252519081900360200190f35b3480156102d457600080fd5b506102fb600480360360208110156102eb57600080fd5b50356001600160a01b0316610912565b005b34801561030957600080fd5b506102fb6004803603602081101561032057600080fd5b50356001600160a01b031661091f565b34801561033c57600080fd5b506102b66109be565b34801561035157600080fd5b506102b66004803603602081101561036857600080fd5b50356001600160a01b0316610ac2565b34801561038457600080fd5b5061028d6004803603606081101561039b57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae1565b3480156103c757600080fd5b506102fb600480360360608110156103de57600080fd5b60ff823516919081019060408101602082013564010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b91939092909160208101903564010000000081111561045557600080fd5b82018360208201111561046757600080fd5b8035906020019184600183028401116401000000008311171561048957600080fd5b509092509050610b6e565b3480156104a057600080fd5b506104a9610c32565b6040805160ff9092168252519081900360200190f35b3480156104cb57600080fd5b506102fb600480360360408110156104e257600080fd5b506001600160a01b0381358116916020013516610c3b565b34801561050657600080fd5b5061028d6004803603604081101561051d57600080fd5b506001600160a01b038135169060200135610ca1565b34801561053f57600080fd5b506102fb6004803603604081101561055657600080fd5b506001600160a01b038135169060200135610cf5565b34801561057857600080fd5b5061059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610e08565b604080516001600160a01b039092168252519081900360200190f35b3480156105c757600080fd5b506102b6600480360360408110156105de57600080fd5b506001600160a01b038135169060200135610e26565b34801561060057600080fd5b5061028d6004803603604081101561061757600080fd5b506001600160a01b038135169060200135610ecf565b34801561063957600080fd5b506102b66004803603602081101561065057600080fd5b50356001600160a01b0316610f9c565b34801561066c57600080fd5b5061059f61104f565b34801561068157600080fd5b506102fb6004803603604081101561069857600080fd5b506001600160a01b038135169060200135611073565b3480156106ba57600080fd5b506101df611250565b3480156106cf57600080fd5b5061028d600480360360408110156106e657600080fd5b506001600160a01b0381351690602001356112b1565b34801561070857600080fd5b5061028d6004803603604081101561071f57600080fd5b506001600160a01b03813516906020013561131f565b34801561074157600080fd5b506102b66004803603602081101561075857600080fd5b50356001600160a01b0316611333565b34801561077457600080fd5b506102b661133e565b34801561078957600080fd5b506102fb600480360360208110156107a057600080fd5b5035611344565b3480156107b357600080fd5b506102b6600480360360408110156107ca57600080fd5b506001600160a01b03813581169160200135166116c8565b3480156107ee57600080fd5b506102b66004803603602081101561080557600080fd5b50356001600160a01b03166116f3565b34801561082157600080fd5b506102fb6004803603606081101561083857600080fd5b506001600160a01b0381358116916020810135909116906040013561170e565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b820191906000526020600020905b8154815290600101906020018083116108c757829003601f168201915b505050505090505b90565b60006109036108fc611785565b8484611789565b5060015b92915050565b600181565b61091c3382611875565b50565b6001600160a01b0381163314156109675760405162461bcd60e51b8152600401808060200182810382526025815260200180612ad56025913960400191505060405180910390fd5b336000818152603d602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b6000806109c9611a64565b9050806109da5760009150506108ec565b610abc610ab77f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d6020811015610aa057600080fd5b5051610aab84611a6a565b9063ffffffff611a8016565b611acb565b91505090565b6001600160a01b0381166000908152603c60205260409020545b919050565b6000610aee848484611ae4565b610b6484610afa611785565b610b5f85604051806060016040528060288152602001612b1b602891396001600160a01b038a16600090815260356020526040812090610b38611785565b6001600160a01b03168152602081019190915260400160002054919063ffffffff611b5316565b611789565b5060019392505050565b6000610b78611bea565b60015490915060ff1680610b8f5750610b8f611bef565b80610b9b575060005481115b610bd65760405162461bcd60e51b815260040180806020018281038252602e815260200180612b6d602e913960400191505060405180910390fd5b60015460ff16158015610bf5576001805460ff19168117905560008290555b610c016037878761297d565b50610c0e6038858561297d565b50610c1887611bf5565b8015610c29576001805460ff191690555b50505050505050565b60395460ff1690565b6001600160a01b038281166000908152603d6020526040902054163314610c935760405162461bcd60e51b815260040180806020018281038252603a815260200180612cf8603a913960400191505060405180910390fd5b610c9d8282611875565b5050565b6000610903610cae611785565b84610b5f8560356000610cbf611785565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff611c0b16565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d5c5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b6000806000610d6a85611c65565b93509350935050610d7c858386611d7a565b610d868585611e7a565b6000610d98848663ffffffff611f8216565b610da857610da586611fc4565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db868584610de05785610de3565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152603b60205260409020541690565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b610ec96001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848463ffffffff61207616565b50919050565b604080516376e9d61560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916376e9d615916064808301926020929190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b50519392505050565b600080610fa8836120c8565b6001600160a01b0384166000908152603c602052604090205490915081158015610fd0575080155b15610fe057600092505050610adc565b6001600160a01b038481166000908152603b602052604090205416611031576110288161101c86611017868463ffffffff611c0b16565b6120e3565b9063ffffffff611f8216565b92505050610adc565b6110286110428261101c87856120e3565b839063ffffffff611c0b16565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b60006110e5836121eb565b9250505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d60208110156111ab57600080fd5b50516001600160a01b0385166000908152603a6020526040902081905590506111e5846111de848663ffffffff611c0b16565b6000611d7a565b6111fe846111f9858563ffffffff611c0b16565b61222e565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60388054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b60006109036112be611785565b84610b5f85604051806060016040528060258152602001612cd360259139603560006112e8611785565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611b5316565b600061090361132c611785565b8484611ae4565b6000610907826120c8565b60001981565b60008111611399576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b6000806113a5336121eb565b90935091508390506000198114156113ba5750815b828111156113f95760405162461bcd60e51b8152600401808060200182810382526032815260200180612a5b6032913960400191505060405180910390fd5b6114033382610ecf565b611454576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61145f338383611d7a565b808211156114805761147b336111f9848463ffffffff611f8216565b611499565b61149933611494838563ffffffff611f8216565b611e7a565b60006114ab848363ffffffff611f8216565b6114be576114b833611fc4565b50611595565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561155457600080fd5b505afa158015611568573d6000803e3d6000fd5b505050506040513d602081101561157e57600080fd5b5051336000908152603a6020526040902081905590505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639895e3d87f000000000000000000000000000000000000000000000000000000000000000033856115f7898263ffffffff611f8216565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561166657600080fd5b505af115801561167a573d6000803e3d6000fd5b5050604080518581526020810187905280820185905290513393507fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a764692509081900360600190a25050505050565b6001600160a01b03918216600090815260356020908152604080832093909416825291909152205490565b6001600160a01b03166000908152603a602052604090205490565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117755760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b61178083838361232c565b505050565b3390565b6001600160a01b0383166117ce5760405162461bcd60e51b8152600401808060200182810382526024815260200180612c536024913960400191505060405180910390fd5b6001600160a01b0382166118135760405162461bcd60e51b8152600401808060200182810382526022815260200180612a8d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260356020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038083166000908152603b602052604090205481169082168114156118d25760405162461bcd60e51b815260040180806020018281038252602a815260200180612b43602a913960400191505060405180910390fd5b6000806000806118e187611c65565b9350935093509350600083116119285760405162461bcd60e51b8152600401808060200182810382526042815260200180612b9b6042913960600191505060405180910390fd5b6001600160a01b038516156119435761194387600086611d7a565b866001600160a01b0316866001600160a01b031614156119cf576001600160a01b0387166000818152603b6020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a35050505050610c9d565b6001600160a01b038781166000908152603b6020526040812080546001600160a01b03191692891692909217909155611a0b9088908590611d7a565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60365490565b600061090782633b9aca0063ffffffff61247b16565b6000611ac46b033b2e3c9fd0803ce8000000611ab8611aa5868663ffffffff61247b16565b6b019d971e4fe8401e7400000090611c0b565b9063ffffffff6124d416565b9392505050565b6000631dcd6500611ac4633b9aca00611ab88386611c0b565b8281611af08282610ecf565b611b41576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b611b4c85858561232c565b5050505050565b60008184841115611be25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba7578181015183820152602001611b8f565b50505050905090810190601f168015611bd45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600290565b303b1590565b6039805460ff191660ff92909216919091179055565b600082820183811015611ac4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806000806000806000611c79886121eb565b925092509250611c89888261222e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d2157600080fd5b505afa158015611d35573d6000803e3d6000fd5b505050506040513d6020811015611d4b57600080fd5b50516001600160a01b03999099166000908152603a602052604090208990555091979096919550909350915050565b6001600160a01b038084166000908152603b60205260409020541680611da05750611780565b600080611dac83611c65565b6001600160a01b0387166000908152603c60205260409020549195509350611de2925086915061101c908863ffffffff611c0b16565b6001600160a01b038085166000908152603c6020908152604080832094909455603b90529190912054168015611e1e57611e1e84846000611d7a565b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b038216611ebf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612c0d6021913960400191505060405180910390fd5b611ecb82600083611780565b611f0e81604051806060016040528060228152602001612a39602291396001600160a01b038516600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b038316600090815260346020526040902055603654611f3a908263ffffffff611f8216565b6036556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000611ac483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b53565b6001600160a01b0381166000818152603b6020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b0382166000908152603c602052604090205461206e57506001600160a01b0381166000908152603a60205260408120556001610adc565b506000610adc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611780908490612516565b6001600160a01b031660009081526034602052604090205490565b6000611ac4610ab7603a6000866001600160a01b03166001600160a01b03168152602001908152602001600020546121df7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156121aa57600080fd5b505afa1580156121be573d6000803e3d6000fd5b505050506040513d60208110156121d457600080fd5b5051610aab87611a6a565b9063ffffffff6125c716565b6000806000806121fa85610f9c565b905060008082156122235761220e876120c8565b9050612220838263ffffffff611f8216565b91505b969195509350915050565b6001600160a01b038216612289576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61229560008383611780565b6036546122a8908263ffffffff611c0b16565b6036556001600160a01b0382166000908152603460205260409020546122d4908263ffffffff611c0b16565b6001600160a01b03831660008181526034602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000811161236b5760405162461bcd60e51b8152600401808060200182810382526030815260200180612bdd6030913960400191505060405180910390fd5b600080600061237986611c65565b9350935093505060008061238c87611c65565b93509350505061239d888588611d7a565b6123b1876111de848963ffffffff611c0b16565b6123bc8888886125ff565b60006123ce868863ffffffff611f8216565b1580156123ed5750876001600160a01b0316896001600160a01b031614155b156123fe576123fb89611fc4565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde8898887866124415789612444565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b60008261248a57506000610907565b8282028284828161249757fe5b0414611ac45760405162461bcd60e51b8152600401808060200182810382526021815260200180612afa6021913960400191505060405180910390fd5b6000611ac483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612768565b606061256b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127cd9092919063ffffffff16565b8051909150156117805780806020019051602081101561258a57600080fd5b50516117805760405162461bcd60e51b815260040180806020018281038252602a815260200180612c77602a913960400191505060405180910390fd5b6000600282046125f783611ab86125ea876b033b2e3c9fd0803ce800000061247b565b849063ffffffff611c0b16565b949350505050565b6001600160a01b0383166126445760405162461bcd60e51b8152600401808060200182810382526025815260200180612c2e6025913960400191505060405180910390fd5b6001600160a01b0382166126895760405162461bcd60e51b8152600401808060200182810382526023815260200180612a166023913960400191505060405180910390fd5b612694838383611780565b6126d781604051806060016040528060268152602001612aaf602691396001600160a01b038616600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b03808516600090815260346020526040808220939093559084168152205461270c908263ffffffff611c0b16565b6001600160a01b0380841660008181526034602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081836127b75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611ba7578181015183820152602001611b8f565b5060008385816127c357fe5b0495945050505050565b60606125f7848460008560606127e285612944565b612833576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106128725780518252601f199092019160209182019101612853565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146128d4576040519150601f19603f3d011682016040523d82523d6000602084013e6128d9565b606091505b509150915081156128ed5791506125f79050565b8051156128fd5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315611ba7578181015183820152602001611b8f565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906125f7575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129be5782800160ff198235161785556129eb565b828001600101855582156129eb579182015b828111156129eb5782358255916020019190600101906129d0565b506129f79291506129fb565b5090565b6108ec91905b808211156129f75760008155600101612a0156fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a2646970667358221220eceadb751f5c6cfd652ef3166bd35d3057ef7bca3f1ada55329ee84f518e74a964736f6c63430006080033"; + "0x60c0604052600080553480156200001557600080fd5b50604051620030a8380380620030a8833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b506040525050508383838381818160379080519060200190620001cc92919062000218565b508051620001e290603890602084019062000218565b50506039805460ff191660121790555050506001600160601b0319606092831b811660a052911b1660805250620002bd92505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025b57805160ff19168380011785556200028b565b828001600101855582156200028b579182015b828111156200028b5782518255916020019190600101906200026e565b50620002999291506200029d565b5090565b620002ba91905b80821115620002995760008155600101620002a4565b90565b60805160601c60a05160601c612d6762000341600039806109e25280610d005280610e335280610f23528061107e52806110ed52806114c0528061159f52806117195280611c8d5280612116525080610a115280610e9c5280610ee75280611051528061111c52806114ef52806115c65280611cbc52806121455250612d676000f3fe6080604052600436106101bb5760003560e01c80634efecaa5116100ec578063a9059cbb1161008a578063db006a7511610064578063db006a751461077d578063dd62ed3e146107a7578063ee9907a4146107e2578063f866c31914610815576101c5565b8063a9059cbb146106fc578063c634dfaa14610735578063d0fc81d214610768576101c5565b806389d1a0fc116100c657806389d1a0fc1461066057806394362e8b1461067557806395d89b41146106ae578063a457c2d7146106c3576101c5565b80634efecaa5146105bb5780635eae177c146105f457806370a082311461062d576101c5565b806323b872dd11610159578063325a9b1311610133578063325a9b13146104bf57806339509351146104fa5780633edb7cb814610533578063445e80101461056c576101c5565b806323b872dd146103785780633118724e146103bb578063313ce56714610494576101c5565b80630e49072d116101955780630e49072d146102c857806312c87c2d146102fd57806318160ddd146103305780631d51e7cf14610345576101c5565b806306fdde03146101ca578063095ea7b3146102545780630bd7ad3b146102a1576101c5565b366101c557600080fd5b600080fd5b3480156101d657600080fd5b506101df610858565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610219578181015183820152602001610201565b50505050905090810190601f1680156102465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026057600080fd5b5061028d6004803603604081101561027757600080fd5b506001600160a01b0381351690602001356108ef565b604080519115158252519081900360200190f35b3480156102ad57600080fd5b506102b661090d565b60408051918252519081900360200190f35b3480156102d457600080fd5b506102fb600480360360208110156102eb57600080fd5b50356001600160a01b0316610912565b005b34801561030957600080fd5b506102fb6004803603602081101561032057600080fd5b50356001600160a01b031661091f565b34801561033c57600080fd5b506102b66109be565b34801561035157600080fd5b506102b66004803603602081101561036857600080fd5b50356001600160a01b0316610ac2565b34801561038457600080fd5b5061028d6004803603606081101561039b57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae1565b3480156103c757600080fd5b506102fb600480360360608110156103de57600080fd5b60ff823516919081019060408101602082013564010000000081111561040357600080fd5b82018360208201111561041557600080fd5b8035906020019184600183028401116401000000008311171561043757600080fd5b91939092909160208101903564010000000081111561045557600080fd5b82018360208201111561046757600080fd5b8035906020019184600183028401116401000000008311171561048957600080fd5b509092509050610b6e565b3480156104a057600080fd5b506104a9610c32565b6040805160ff9092168252519081900360200190f35b3480156104cb57600080fd5b506102fb600480360360408110156104e257600080fd5b506001600160a01b0381358116916020013516610c3b565b34801561050657600080fd5b5061028d6004803603604081101561051d57600080fd5b506001600160a01b038135169060200135610ca1565b34801561053f57600080fd5b506102fb6004803603604081101561055657600080fd5b506001600160a01b038135169060200135610cf5565b34801561057857600080fd5b5061059f6004803603602081101561058f57600080fd5b50356001600160a01b0316610e08565b604080516001600160a01b039092168252519081900360200190f35b3480156105c757600080fd5b506102b6600480360360408110156105de57600080fd5b506001600160a01b038135169060200135610e26565b34801561060057600080fd5b5061028d6004803603604081101561061757600080fd5b506001600160a01b038135169060200135610ecf565b34801561063957600080fd5b506102b66004803603602081101561065057600080fd5b50356001600160a01b0316610f9c565b34801561066c57600080fd5b5061059f61104f565b34801561068157600080fd5b506102fb6004803603604081101561069857600080fd5b506001600160a01b038135169060200135611073565b3480156106ba57600080fd5b506101df611250565b3480156106cf57600080fd5b5061028d600480360360408110156106e657600080fd5b506001600160a01b0381351690602001356112b1565b34801561070857600080fd5b5061028d6004803603604081101561071f57600080fd5b506001600160a01b03813516906020013561131f565b34801561074157600080fd5b506102b66004803603602081101561075857600080fd5b50356001600160a01b0316611333565b34801561077457600080fd5b506102b661133e565b34801561078957600080fd5b506102fb600480360360208110156107a057600080fd5b5035611344565b3480156107b357600080fd5b506102b6600480360360408110156107ca57600080fd5b506001600160a01b03813581169160200135166116c8565b3480156107ee57600080fd5b506102b66004803603602081101561080557600080fd5b50356001600160a01b03166116f3565b34801561082157600080fd5b506102fb6004803603606081101561083857600080fd5b506001600160a01b0381358116916020810135909116906040013561170e565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b820191906000526020600020905b8154815290600101906020018083116108c757829003601f168201915b505050505090505b90565b60006109036108fc611785565b8484611789565b5060015b92915050565b600181565b61091c3382611875565b50565b6001600160a01b0381163314156109675760405162461bcd60e51b8152600401808060200182810382526025815260200180612ad56025913960400191505060405180910390fd5b336000818152603d602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fc2d6a42a9d5273283f73009a07aacfb043f2f91173a8d9d33b504afe898db08b91a350565b6000806109c9611a64565b9050806109da5760009150506108ec565b610abc610ab77f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d6020811015610aa057600080fd5b5051610aab84611a6a565b9063ffffffff611a8016565b611acb565b91505090565b6001600160a01b0381166000908152603c60205260409020545b919050565b6000610aee848484611ae4565b610b6484610afa611785565b610b5f85604051806060016040528060288152602001612b1b602891396001600160a01b038a16600090815260356020526040812090610b38611785565b6001600160a01b03168152602081019190915260400160002054919063ffffffff611b5316565b611789565b5060019392505050565b6000610b78611bea565b60015490915060ff1680610b8f5750610b8f611bef565b80610b9b575060005481115b610bd65760405162461bcd60e51b815260040180806020018281038252602e815260200180612b6d602e913960400191505060405180910390fd5b60015460ff16158015610bf5576001805460ff19168117905560008290555b610c016037878761297d565b50610c0e6038858561297d565b50610c1887611bf5565b8015610c29576001805460ff191690555b50505050505050565b60395460ff1690565b6001600160a01b038281166000908152603d6020526040902054163314610c935760405162461bcd60e51b815260040180806020018281038252603a815260200180612cf8603a913960400191505060405180910390fd5b610c9d8282611875565b5050565b6000610903610cae611785565b84610b5f8560356000610cbf611785565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff611c0b16565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d5c5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b6000806000610d6a85611c65565b93509350935050610d7c858386611d7a565b610d868585611e7a565b6000610d98848663ffffffff611f8216565b610da857610da586611fc4565b90505b856001600160a01b03167f90e5d3d68ec162d9c7de393037a3ede04dd44f68e051bf2ace4a73c299dbc4db868584610de05785610de3565b60005b60408051938452602084019290925282820152519081900360600190a2505050505050565b6001600160a01b039081166000908152603b60205260409020541690565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b610ec96001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848463ffffffff61207616565b50919050565b604080516376e9d61560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015284811660248301526044820184905291516000927f000000000000000000000000000000000000000000000000000000000000000016916376e9d615916064808301926020929190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b50519392505050565b600080610fa8836120c8565b6001600160a01b0384166000908152603c602052604090205490915081158015610fd0575080155b15610fe057600092505050610adc565b6001600160a01b038481166000908152603b602052604090205416611031576110288161101c86611017868463ffffffff611c0b16565b6120e3565b9063ffffffff611f8216565b92505050610adc565b6110286110428261101c87856120e3565b839063ffffffff611c0b16565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b60006110e5836121eb565b9250505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561118157600080fd5b505afa158015611195573d6000803e3d6000fd5b505050506040513d60208110156111ab57600080fd5b50516001600160a01b0385166000908152603a6020526040902081905590506111e5846111de848663ffffffff611c0b16565b6000611d7a565b6111fe846111f9858563ffffffff611c0b16565b61222e565b604080518481526020810184905280820183905290516001600160a01b038616917fbe7799898ca2d813ff902b487c1b434ab45b47edd8f38b77ad5e99aae8341b7a919081900360600190a250505050565b60388054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108e45780601f106108b9576101008083540402835291602001916108e4565b60006109036112be611785565b84610b5f85604051806060016040528060258152602001612cd360259139603560006112e8611785565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611b5316565b600061090361132c611785565b8484611ae4565b6000610907826120c8565b60001981565b60008111611399576040805162461bcd60e51b815260206004820181905260248201527f416d6f756e7420746f2072656465656d206e6565647320746f206265203e2030604482015290519081900360640190fd5b6000806113a5336121eb565b90935091508390506000198114156113ba5750815b828111156113f95760405162461bcd60e51b8152600401808060200182810382526032815260200180612a5b6032913960400191505060405180910390fd5b6114033382610ecf565b611454576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b61145f338383611d7a565b808211156114805761147b336111f9848463ffffffff611f8216565b611499565b61149933611494838563ffffffff611f8216565b611e7a565b60006114ab848363ffffffff611f8216565b6114be576114b833611fc4565b50611595565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561155457600080fd5b505afa158015611568573d6000803e3d6000fd5b505050506040513d602081101561157e57600080fd5b5051336000908152603a6020526040902081905590505b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639895e3d87f000000000000000000000000000000000000000000000000000000000000000033856115f7898263ffffffff611f8216565b6040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561166657600080fd5b505af115801561167a573d6000803e3d6000fd5b5050604080518581526020810187905280820185905290513393507fbd5034ffbd47e4e72a94baa2cdb74c6fad73cb3bcdc13036b72ec8306f5a764692509081900360600190a25050505050565b6001600160a01b03918216600090815260356020908152604080832093909416825291909152205490565b6001600160a01b03166000908152603a602052604090205490565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117755760405162461bcd60e51b8152600401808060200182810382526032815260200180612ca16032913960400191505060405180910390fd5b61178083838361232c565b505050565b3390565b6001600160a01b0383166117ce5760405162461bcd60e51b8152600401808060200182810382526024815260200180612c536024913960400191505060405180910390fd5b6001600160a01b0382166118135760405162461bcd60e51b8152600401808060200182810382526022815260200180612a8d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260356020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038083166000908152603b602052604090205481169082168114156118d25760405162461bcd60e51b815260040180806020018281038252602a815260200180612b43602a913960400191505060405180910390fd5b6000806000806118e187611c65565b9350935093509350600083116119285760405162461bcd60e51b8152600401808060200182810382526042815260200180612b9b6042913960600191505060405180910390fd5b6001600160a01b038516156119435761194387600086611d7a565b866001600160a01b0316866001600160a01b031614156119cf576001600160a01b0387166000818152603b6020908152604080832080546001600160a01b03191690558051878152918201869052818101859052519192917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a35050505050610c9d565b6001600160a01b038781166000908152603b6020526040812080546001600160a01b03191692891692909217909155611a0b9088908590611d7a565b604080518481526020810184905280820183905290516001600160a01b0380891692908a16917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a73487355949181900360600190a350505050505050565b60365490565b600061090782633b9aca0063ffffffff61247b16565b6000611ac46b033b2e3c9fd0803ce8000000611ab8611aa5868663ffffffff61247b16565b6b019d971e4fe8401e7400000090611c0b565b9063ffffffff6124d416565b9392505050565b6000631dcd6500611ac4633b9aca00611ab88386611c0b565b8281611af08282610ecf565b611b41576040805162461bcd60e51b815260206004820152601b60248201527f5472616e736665722063616e6e6f7420626520616c6c6f7765642e0000000000604482015290519081900360640190fd5b611b4c85858561232c565b5050505050565b60008184841115611be25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba7578181015183820152602001611b8f565b50505050905090810190601f168015611bd45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600290565b303b1590565b6039805460ff191660ff92909216919091179055565b600082820183811015611ac4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806000806000806000611c79886121eb565b925092509250611c89888261222e565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d2157600080fd5b505afa158015611d35573d6000803e3d6000fd5b505050506040513d6020811015611d4b57600080fd5b50516001600160a01b03999099166000908152603a602052604090208990555091979096919550909350915050565b6001600160a01b038084166000908152603b60205260409020541680611da05750611780565b600080611dac83611c65565b6001600160a01b0387166000908152603c60205260409020549195509350611de2925086915061101c908863ffffffff611c0b16565b6001600160a01b038085166000908152603c6020908152604080832094909455603b90529190912054168015611e1e57611e1e84846000611d7a565b60408051848152602081018490528082018890526060810187905290516001600160a01b038616917f70ff8cf632603e2bfd1afb7e4061acce53d95356b1be9726b99fa22ba733b01f919081900360800190a250505050505050565b6001600160a01b038216611ebf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612c0d6021913960400191505060405180910390fd5b611ecb82600083611780565b611f0e81604051806060016040528060228152602001612a39602291396001600160a01b038516600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b038316600090815260346020526040902055603654611f3a908263ffffffff611f8216565b6036556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000611ac483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b53565b6001600160a01b0381166000818152603b6020908152604080832080546001600160a01b03191690558051838152918201839052818101839052519192839290917f5e3cad45b1fe24159d1cb39788d82d0f69cc15770aa96fba1d3d1a7348735594919081900360600190a36001600160a01b0382166000908152603c602052604090205461206e57506001600160a01b0381166000908152603a60205260408120556001610adc565b506000610adc565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611780908490612516565b6001600160a01b031660009081526034602052604090205490565b6000611ac4610ab7603a6000866001600160a01b03166001600160a01b03168152602001908152602001600020546121df7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d15e00537f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156121aa57600080fd5b505afa1580156121be573d6000803e3d6000fd5b505050506040513d60208110156121d457600080fd5b5051610aab87611a6a565b9063ffffffff6125c716565b6000806000806121fa85610f9c565b905060008082156122235761220e876120c8565b9050612220838263ffffffff611f8216565b91505b969195509350915050565b6001600160a01b038216612289576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61229560008383611780565b6036546122a8908263ffffffff611c0b16565b6036556001600160a01b0382166000908152603460205260409020546122d4908263ffffffff611c0b16565b6001600160a01b03831660008181526034602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000811161236b5760405162461bcd60e51b8152600401808060200182810382526030815260200180612bdd6030913960400191505060405180910390fd5b600080600061237986611c65565b9350935093505060008061238c87611c65565b93509350505061239d888588611d7a565b6123b1876111de848963ffffffff611c0b16565b6123bc8888886125ff565b60006123ce868863ffffffff611f8216565b1580156123ed5750876001600160a01b0316896001600160a01b031614155b156123fe576123fb89611fc4565b90505b876001600160a01b0316896001600160a01b03167f89a178eaa27e0cd201bd795ca8ff716ac0df9618494510ca79771cfc66ffcde8898887866124415789612444565b60005b60408051948552602085019390935283830191909152606083015260808201879052519081900360a00190a3505050505050505050565b60008261248a57506000610907565b8282028284828161249757fe5b0414611ac45760405162461bcd60e51b8152600401808060200182810382526021815260200180612afa6021913960400191505060405180910390fd5b6000611ac483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612768565b606061256b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127cd9092919063ffffffff16565b8051909150156117805780806020019051602081101561258a57600080fd5b50516117805760405162461bcd60e51b815260040180806020018281038252602a815260200180612c77602a913960400191505060405180910390fd5b6000600282046125f783611ab86125ea876b033b2e3c9fd0803ce800000061247b565b849063ffffffff611c0b16565b949350505050565b6001600160a01b0383166126445760405162461bcd60e51b8152600401808060200182810382526025815260200180612c2e6025913960400191505060405180910390fd5b6001600160a01b0382166126895760405162461bcd60e51b8152600401808060200182810382526023815260200180612a166023913960400191505060405180910390fd5b612694838383611780565b6126d781604051806060016040528060268152602001612aaf602691396001600160a01b038616600090815260346020526040902054919063ffffffff611b5316565b6001600160a01b03808516600090815260346020526040808220939093559084168152205461270c908263ffffffff611c0b16565b6001600160a01b0380841660008181526034602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081836127b75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611ba7578181015183820152602001611b8f565b5060008385816127c357fe5b0495945050505050565b60606125f7848460008560606127e285612944565b612833576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106128725780518252601f199092019160209182019101612853565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146128d4576040519150601f19603f3d011682016040523d82523d6000602084013e6128d9565b606091505b509150915081156128ed5791506125f79050565b8051156128fd5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315611ba7578181015183820152602001611b8f565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906125f7575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129be5782800160ff198235161785556129eb565b828001600101855582156129eb579182015b828111156129eb5782358255916020019190600101906129d0565b506129f79291506129fb565b5090565b6108ec91905b808211156129f75760008155600101612a0156fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f742072656465656d206d6f7265207468616e2074686520617661696c61626c652062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365557365722063616e6e6f74206769766520616c6c6f77616e636520746f2068696d73656c66536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365496e74657265737420697320616c7265616479207265646972656374656420746f207468652075736572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564496e7465726573742073747265616d2063616e206f6e6c79206265207265646972656374656420696620746865726520697320612076616c69642062616c616e63655472616e7366657272656420616d6f756e74206e6565647320746f2062652067726561746572207468616e207a65726f45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616c6c6572206973206e6f7420616c6c6f77656420746f2072656469726563742074686520696e746572657374206f66207468652075736572a2646970667358221220e10b2f300dd511d3d44a8e620631827252064fe63a7af3c85181b7d4350e6dd164736f6c63430006080033"; diff --git a/types/MockStableDebtToken.d.ts b/types/MockStableDebtToken.d.ts new file mode 100644 index 00000000..444b205f --- /dev/null +++ b/types/MockStableDebtToken.d.ts @@ -0,0 +1,390 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockStableDebtTokenInterface extends Interface { + functions: { + DEBT_TOKEN_REVISION: TypedFunctionDescription<{ encode([]: []): string }>; + + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, _amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ + encode([account]: [string]): string; + }>; + + burn: TypedFunctionDescription<{ + encode([_user, _amount]: [string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + getAverageStableRate: TypedFunctionDescription<{ encode([]: []): string }>; + + getUserLastUpdated: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getUserStableRate: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_decimals, _name, _symbol]: [ + BigNumberish, + string, + string + ]): string; + }>; + + mint: TypedFunctionDescription<{ + encode([_user, _amount, _rate]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + principalBalanceOf: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, _amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + underlyingAssetAddress: TypedFunctionDescription<{ + encode([]: []): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + burnDebt: TypedEventDescription<{ + encodeTopics([ + _user, + _amount, + _previousBalance, + _currentBalance, + _balanceIncrease + ]: [null, null, null, null, null]): string[]; + }>; + + mintDebt: TypedEventDescription<{ + encodeTopics([ + _user, + _amount, + _previousBalance, + _currentBalance, + _balanceIncrease, + _newRate + ]: [null, null, null, null, null, null]): string[]; + }>; + }; +} + +export class MockStableDebtToken extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockStableDebtToken; + attach(addressOrName: string): MockStableDebtToken; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockStableDebtToken; + once(event: EventFilter | string, listener: Listener): MockStableDebtToken; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockStableDebtToken; + removeAllListeners(eventName: EventFilter | string): MockStableDebtToken; + removeListener(eventName: any, listener: Listener): MockStableDebtToken; + + interface: MockStableDebtTokenInterface; + + functions: { + DEBT_TOKEN_REVISION(): Promise; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + burn( + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getAverageStableRate(): Promise; + + getUserLastUpdated(_user: string): Promise; + + getUserStableRate(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _decimals: BigNumberish, + _name: string, + _symbol: string, + overrides?: TransactionOverrides + ): Promise; + + mint( + _user: string, + _amount: BigNumberish, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + underlyingAssetAddress(): Promise; + }; + + DEBT_TOKEN_REVISION(): Promise; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(account: string): Promise; + + burn( + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getAverageStableRate(): Promise; + + getUserLastUpdated(_user: string): Promise; + + getUserStableRate(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _decimals: BigNumberish, + _name: string, + _symbol: string, + overrides?: TransactionOverrides + ): Promise; + + mint( + _user: string, + _amount: BigNumberish, + _rate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + underlyingAssetAddress(): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + + burnDebt( + _user: null, + _amount: null, + _previousBalance: null, + _currentBalance: null, + _balanceIncrease: null + ): EventFilter; + + mintDebt( + _user: null, + _amount: null, + _previousBalance: null, + _currentBalance: null, + _balanceIncrease: null, + _newRate: null + ): EventFilter; + }; + + estimate: { + DEBT_TOKEN_REVISION(): Promise; + + allowance(owner: string, spender: string): Promise; + + approve(spender: string, _amount: BigNumberish): Promise; + + balanceOf(account: string): Promise; + + burn(_user: string, _amount: BigNumberish): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + getAverageStableRate(): Promise; + + getUserLastUpdated(_user: string): Promise; + + getUserStableRate(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + initialize( + _decimals: BigNumberish, + _name: string, + _symbol: string + ): Promise; + + mint( + _user: string, + _amount: BigNumberish, + _rate: BigNumberish + ): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, _amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + _amount: BigNumberish + ): Promise; + + underlyingAssetAddress(): Promise; + }; +} diff --git a/types/MockStableDebtTokenFactory.ts b/types/MockStableDebtTokenFactory.ts new file mode 100644 index 00000000..e036fa39 --- /dev/null +++ b/types/MockStableDebtTokenFactory.ts @@ -0,0 +1,600 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockStableDebtToken } from "./MockStableDebtToken"; + +export class MockStableDebtTokenFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _pool: string, + _underlyingAssetAddress: string, + _tokenName: string, + _tokenSymbol: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy( + _pool, + _underlyingAssetAddress, + _tokenName, + _tokenSymbol, + overrides + ) as Promise; + } + getDeployTransaction( + _pool: string, + _underlyingAssetAddress: string, + _tokenName: string, + _tokenSymbol: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction( + _pool, + _underlyingAssetAddress, + _tokenName, + _tokenSymbol, + overrides + ); + } + attach(address: string): MockStableDebtToken { + return super.attach(address) as MockStableDebtToken; + } + connect(signer: Signer): MockStableDebtTokenFactory { + return super.connect(signer) as MockStableDebtTokenFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockStableDebtToken { + return new Contract(address, _abi, signerOrProvider) as MockStableDebtToken; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_pool", + type: "address" + }, + { + internalType: "address", + name: "_underlyingAssetAddress", + type: "address" + }, + { + internalType: "string", + name: "_tokenName", + type: "string" + }, + { + internalType: "string", + name: "_tokenSymbol", + type: "string" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_previousBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_currentBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + } + ], + name: "burnDebt", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_previousBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_currentBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_newRate", + type: "uint256" + } + ], + name: "mintDebt", + type: "event" + }, + { + inputs: [], + name: "DEBT_TOKEN_REVISION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "getAverageStableRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserLastUpdated", + outputs: [ + { + internalType: "uint40", + name: "", + type: "uint40" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserStableRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint8", + name: "_decimals", + type: "uint8" + }, + { + internalType: "string", + name: "_name", + type: "string" + }, + { + internalType: "string", + name: "_symbol", + type: "string" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "_rate", + type: "uint256" + } + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "principalBalanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "underlyingAssetAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x60c0604052600080553480156200001557600080fd5b506040516200172238038062001722833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b506040525050506001600160601b0319606085811b821660a05284901b16608052815184908490849084908490849084908490620001ed90603590602085019062000216565b5080516200020390603690602084019062000216565b50505050505050505050505050620002bb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025957805160ff191683800117855562000289565b8280016001018555821562000289579182015b82811115620002895782518255916020019190600101906200026c565b50620002979291506200029b565b5090565b620002b891905b80821115620002975760008155600101620002a2565b90565b60805160601c60a05160601c611438620002ea600039806106485280610b5f525080610ad052506114386000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806389d1a0fc116100ad578063a9059cbb11610071578063a9059cbb146104b9578063b9a7b622146104e5578063c634dfaa146104ed578063dd62ed3e14610513578063e78c9b3b146105415761012c565b806389d1a0fc1461045957806390f6fcf21461047d57806395d89b41146104855780639dc29fac1461048d578063a457c2d7146103c75761012c565b80633118724e116100f45780633118724e14610272578063313ce567146103a957806339509351146103c757806370a08231146103f357806379ce6b8c146104195761012c565b806306fdde0314610131578063095ea7b3146101ae578063156e29f6146101ee57806318160ddd1461022257806323b872dd1461023c575b600080fd5b610139610567565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356105f5565b604080519115158252519081900360200190f35b6102206004803603606081101561020457600080fd5b506001600160a01b03813516906020810135906040013561063d565b005b61022a610883565b60408051918252519081900360200190f35b6101da6004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610889565b6102206004803603606081101561028857600080fd5b60ff82351691908101906040810160208201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184600183028401116401000000008311171561036857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506108d1945050505050565b6103b16109a7565b6040805160ff9092168252519081900360200190f35b6101da600480360360408110156103dd57600080fd5b506001600160a01b0381351690602001356109b0565b61022a6004803603602081101561040957600080fd5b50356001600160a01b03166109ff565b61043f6004803603602081101561042f57600080fd5b50356001600160a01b0316610aa9565b6040805164ffffffffff9092168252519081900360200190f35b610461610ace565b604080516001600160a01b039092168252519081900360200190f35b61022a610af2565b610139610af9565b610220600480360360408110156104a357600080fd5b506001600160a01b038135169060200135610b54565b6101da600480360360408110156104cf57600080fd5b506001600160a01b038135169060200135610889565b61022a610d59565b61022a6004803603602081101561050357600080fd5b50356001600160a01b0316610d5e565b61022a6004803603604081101561052957600080fd5b506001600160a01b03813581169160200135166109b0565b61022a6004803603602081101561055757600080fd5b50356001600160a01b0316610d79565b6035805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a45760405162461bcd60e51b81526004018080602001828103825260328152602001806113d16032913960400191505060405180910390fd5b6106ac6112c1565b60008060006106ba87610d94565b9250925092506106d581603454610df890919063ffffffff16565b602085018190526106ec908763ffffffff610df816565b84526106f786610e5b565b6040850152610779610717610712848963ffffffff610df816565b610e5b565b604086015161076d90610730908963ffffffff610e7116565b61076161073c87610e5b565b6001600160a01b038d166000908152603a60205260409020549063ffffffff610e7116565b9063ffffffff610df816565b9063ffffffff610eb516565b606085018190526001600160a01b0388166000908152603a60205260409020908155600101805464ffffffffff19164264ffffffffff1617905583516107fb906107c290610e5b565b61076d6107dc876040015189610e7190919063ffffffff16565b6107616107ec8960200151610e5b565b6039549063ffffffff610e7116565b60395561081787610812888463ffffffff610df816565b610eed565b606080850151604080516001600160a01b038b168152602081018a90528082018790529283018590526080830184905260a0830191909152517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a150505050505050565b60345481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60006108db610f4c565b60015490915060ff16806108f257506108f2610f51565b806108fe575060005481115b6109395760405162461bcd60e51b815260040180806020018281038252602e8152602001806113a3602e913960400191505060405180910390fd5b60015460ff16158015610958576001805460ff19168117905560008290555b835161096b9060359060208701906112e9565b50825161097f9060369060208601906112e9565b506037805460ff191660ff871617905580156109a0576001805460ff191690555b5050505050565b60375460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6001600160a01b038116600090815260386020526040812054610a2457506000610aa4565b6001600160a01b0382166000908152603a6020526040812080546001820154919291610a57919064ffffffffff16610f57565b9050610a9f610a9a82610a8e60386000896001600160a01b03166001600160a01b0316815260200190815260200160002054610e5b565b9063ffffffff610e7116565b611079565b925050505b919050565b6001600160a01b03166000908152603a602052604090206001015464ffffffffff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b6039545b90565b6036805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105ed5780601f106105c2576101008083540402835291602001916105ed565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bbb5760405162461bcd60e51b81526004018080602001828103825260328152602001806113d16032913960400191505060405180910390fd5b6000806000610bc985610d94565b9250925092506000610be682603454610df890919063ffffffff16565b90506000610bfa828763ffffffff61109916565b90506000610c2387610c1786603454610df890919063ffffffff16565b9063ffffffff61109916565b90506000610c3088610e5b565b905081610c41576000603955610c8a565b610c86610c4d84610e5b565b6001600160a01b038b166000908152603a602052604090205461076d90610c7a908563ffffffff610e7116565b610c176107ec89610e5b565b6039555b85881415610cbd576001600160a01b0389166000908152603a60205260408120908155600101805464ffffffffff191690555b87851115610cde57610cd989610812878b63ffffffff61109916565b610cf7565b610cf789610cf28a8863ffffffff61109916565b6110db565b604080516001600160a01b038b168152602081018a9052808201899052606081018890526080810187905290517fecde08620c30706a4d7ba53e9163327f2e12a6cea2709dd6a9226fed28c2bb729181900360a00190a1505050505050505050565b600181565b6001600160a01b031660009081526038602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b6001600160a01b0381166000908152603860205260408120548190819080610dc6575060009250829150819050610df1565b6000610dd582610c17886109ff565b905081610de8818363ffffffff610df816565b90955093509150505b9193909250565b600082820183811015610e52576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000610e5582633b9aca0063ffffffff61111a16565b6000610e526b033b2e3c9fd0803ce8000000610ea9610e96868663ffffffff61111a16565b6b019d971e4fe8401e7400000090610df8565b9063ffffffff61117316565b600060028204610ee583610ea9610ed8876b033b2e3c9fd0803ce800000061111a565b849063ffffffff610df816565b949350505050565b603454610f00908263ffffffff610df816565b6034556001600160a01b038216600090815260386020526040902054610f2c908263ffffffff610df816565b6001600160a01b0390921660009081526038602052604090209190915550565b600290565b303b1590565b600080610f714264ffffffffff851663ffffffff61109916565b905080610f8857610f806111b5565b915050610e55565b6000610f9b82600163ffffffff61109916565b9050600060028311610fae576000610fbf565b610fbf83600263ffffffff61109916565b90506000610fd7876301e1338063ffffffff61117316565b90506000610feb828063ffffffff610e7116565b90506000610fff828463ffffffff610e7116565b905060006110286002610ea98561101c8b8b63ffffffff61111a16565b9063ffffffff61111a16565b905060006110476006610ea98561101c8a818e8e63ffffffff61111a16565b905061106a8161076184816110628a8e63ffffffff61111a16565b6107616111b5565b9b9a5050505050505050505050565b6000631dcd6500611092633b9aca00610ea98386610df8565b9392505050565b6000610e5283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111c5565b6034546110ee908263ffffffff61109916565b6034556001600160a01b038216600090815260386020526040902054610f2c908263ffffffff61109916565b60008261112957506000610e55565b8282028284828161113657fe5b0414610e525760405162461bcd60e51b81526004018080602001828103825260218152602001806113826021913960400191505060405180910390fd5b6000610e5283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061125c565b6b033b2e3c9fd0803ce800000090565b600081848411156112545760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611219578181015183820152602001611201565b50505050905090810190601f1680156112465780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112ab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611219578181015183820152602001611201565b5060008385816112b757fe5b0495945050505050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061132a57805160ff1916838001178555611357565b82800160010185558215611357579182015b8281111561135757825182559160200191906001019061133c565b50611363929150611367565b5090565b610af691905b80821115611363576000815560010161136d56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca2646970667358221220a3b1f5d72fe9e2ffbe9e0672be97e4cbebd281905f98eca8112aab63733a2c4164736f6c63430006080033"; diff --git a/types/MockVariableDebtToken.d.ts b/types/MockVariableDebtToken.d.ts new file mode 100644 index 00000000..30a2a703 --- /dev/null +++ b/types/MockVariableDebtToken.d.ts @@ -0,0 +1,362 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription +} from "."; + +interface MockVariableDebtTokenInterface extends Interface { + functions: { + DEBT_TOKEN_REVISION: TypedFunctionDescription<{ encode([]: []): string }>; + + allowance: TypedFunctionDescription<{ + encode([owner, spender]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([spender, _amount]: [string, BigNumberish]): string; + }>; + + balanceOf: TypedFunctionDescription<{ encode([_user]: [string]): string }>; + + burn: TypedFunctionDescription<{ + encode([_user, _amount]: [string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + decreaseAllowance: TypedFunctionDescription<{ + encode([spender, subtractedValue]: [string, BigNumberish]): string; + }>; + + getUserIndex: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + increaseAllowance: TypedFunctionDescription<{ + encode([spender, addedValue]: [string, BigNumberish]): string; + }>; + + initialize: TypedFunctionDescription<{ + encode([_decimals, _name, _symbol]: [ + BigNumberish, + string, + string + ]): string; + }>; + + mint: TypedFunctionDescription<{ + encode([_user, _amount]: [string, BigNumberish]): string; + }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + principalBalanceOf: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([recipient, _amount]: [string, BigNumberish]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([sender, recipient, _amount]: [ + string, + string, + BigNumberish + ]): string; + }>; + + underlyingAssetAddress: TypedFunctionDescription<{ + encode([]: []): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + burnDebt: TypedEventDescription<{ + encodeTopics([ + _user, + _amount, + _previousBalance, + _currentBalance, + _balanceIncrease, + _index + ]: [null, null, null, null, null, null]): string[]; + }>; + + mintDebt: TypedEventDescription<{ + encodeTopics([ + _user, + _amount, + _previousBalance, + _currentBalance, + _balanceIncrease, + _index + ]: [null, null, null, null, null, null]): string[]; + }>; + }; +} + +export class MockVariableDebtToken extends Contract { + connect(signerOrProvider: Signer | Provider | string): MockVariableDebtToken; + attach(addressOrName: string): MockVariableDebtToken; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MockVariableDebtToken; + once(event: EventFilter | string, listener: Listener): MockVariableDebtToken; + addListener( + eventName: EventFilter | string, + listener: Listener + ): MockVariableDebtToken; + removeAllListeners(eventName: EventFilter | string): MockVariableDebtToken; + removeListener(eventName: any, listener: Listener): MockVariableDebtToken; + + interface: MockVariableDebtTokenInterface; + + functions: { + DEBT_TOKEN_REVISION(): Promise; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(_user: string): Promise; + + burn( + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getUserIndex(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _decimals: BigNumberish, + _name: string, + _symbol: string, + overrides?: TransactionOverrides + ): Promise; + + mint( + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + underlyingAssetAddress(): Promise; + }; + + DEBT_TOKEN_REVISION(): Promise; + + allowance(owner: string, spender: string): Promise; + + approve( + spender: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + balanceOf(_user: string): Promise; + + burn( + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getUserIndex(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + initialize( + _decimals: BigNumberish, + _name: string, + _symbol: string, + overrides?: TransactionOverrides + ): Promise; + + mint( + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer( + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + sender: string, + recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + underlyingAssetAddress(): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + + burnDebt( + _user: null, + _amount: null, + _previousBalance: null, + _currentBalance: null, + _balanceIncrease: null, + _index: null + ): EventFilter; + + mintDebt( + _user: null, + _amount: null, + _previousBalance: null, + _currentBalance: null, + _balanceIncrease: null, + _index: null + ): EventFilter; + }; + + estimate: { + DEBT_TOKEN_REVISION(): Promise; + + allowance(owner: string, spender: string): Promise; + + approve(spender: string, _amount: BigNumberish): Promise; + + balanceOf(_user: string): Promise; + + burn(_user: string, _amount: BigNumberish): Promise; + + decimals(): Promise; + + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish + ): Promise; + + getUserIndex(_user: string): Promise; + + increaseAllowance( + spender: string, + addedValue: BigNumberish + ): Promise; + + initialize( + _decimals: BigNumberish, + _name: string, + _symbol: string + ): Promise; + + mint(_user: string, _amount: BigNumberish): Promise; + + name(): Promise; + + principalBalanceOf(_user: string): Promise; + + symbol(): Promise; + + totalSupply(): Promise; + + transfer(recipient: string, _amount: BigNumberish): Promise; + + transferFrom( + sender: string, + recipient: string, + _amount: BigNumberish + ): Promise; + + underlyingAssetAddress(): Promise; + }; +} diff --git a/types/MockVariableDebtTokenFactory.ts b/types/MockVariableDebtTokenFactory.ts new file mode 100644 index 00000000..f5a214c3 --- /dev/null +++ b/types/MockVariableDebtTokenFactory.ts @@ -0,0 +1,573 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from "."; +import { MockVariableDebtToken } from "./MockVariableDebtToken"; + +export class MockVariableDebtTokenFactory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _pool: string, + _underlyingAssetAddress: string, + _tokenName: string, + _tokenSymbol: string, + overrides?: TransactionOverrides + ): Promise { + return super.deploy( + _pool, + _underlyingAssetAddress, + _tokenName, + _tokenSymbol, + overrides + ) as Promise; + } + getDeployTransaction( + _pool: string, + _underlyingAssetAddress: string, + _tokenName: string, + _tokenSymbol: string, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction( + _pool, + _underlyingAssetAddress, + _tokenName, + _tokenSymbol, + overrides + ); + } + attach(address: string): MockVariableDebtToken { + return super.attach(address) as MockVariableDebtToken; + } + connect(signer: Signer): MockVariableDebtTokenFactory { + return super.connect(signer) as MockVariableDebtTokenFactory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockVariableDebtToken { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockVariableDebtToken; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_pool", + type: "address" + }, + { + internalType: "address", + name: "_underlyingAssetAddress", + type: "address" + }, + { + internalType: "string", + name: "_tokenName", + type: "string" + }, + { + internalType: "string", + name: "_tokenSymbol", + type: "string" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_previousBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_currentBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_index", + type: "uint256" + } + ], + name: "burnDebt", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "_user", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "_amount", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_previousBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_currentBalance", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_balanceIncrease", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "_index", + type: "uint256" + } + ], + name: "mintDebt", + type: "event" + }, + { + inputs: [], + name: "DEBT_TOKEN_REVISION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "getUserIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint8", + name: "_decimals", + type: "uint8" + }, + { + internalType: "string", + name: "_name", + type: "string" + }, + { + internalType: "string", + name: "_symbol", + type: "string" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address" + } + ], + name: "principalBalanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "underlyingAssetAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; + +const _bytecode = + "0x60c0604052600080553480156200001557600080fd5b50604051620015c4380380620015c4833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b506040525050506001600160601b0319606085811b821660a05284901b16608052815184908490849084908490849084908490620001ed90603590602085019062000216565b5080516200020390603690602084019062000216565b50505050505050505050505050620002bb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025957805160ff191683800117855562000289565b8280016001018555821562000289579182015b82811115620002895782518255916020019190600101906200026c565b50620002979291506200029b565b5090565b620002b891905b80821115620002975760008155600101620002a2565b90565b60805160601c60a05160601c6112bc620003086000398061076052806107ec528061097a5280610b0b5280610bdd52508061081b52806109a95280610a835280610c0c52506112bc6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806389d1a0fc116100a2578063a9059cbb11610071578063a9059cbb14610455578063b9a7b62214610481578063c634dfaa14610489578063dd62ed3e146104af578063ee9907a4146104dd57610116565b806389d1a0fc146103fd57806395d89b41146104215780639dc29fac14610429578063a457c2d71461037f57610116565b80633118724e116100e95780633118724e14610228578063313ce56714610361578063395093511461037f57806340c10f19146103ab57806370a08231146103d757610116565b806306fdde031461011b578063095ea7b31461019857806318160ddd146101d857806323b872dd146101f2575b600080fd5b610123610503565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b038135169060200135610591565b604080519115158252519081900360200190f35b6101e06105d9565b60408051918252519081900360200190f35b6101c46004803603606081101561020857600080fd5b506001600160a01b038135811691602081013590911690604001356105df565b61035f6004803603606081101561023e57600080fd5b60ff823516919081019060408101602082013564010000000081111561026357600080fd5b82018360208201111561027557600080fd5b8035906020019184600183028401116401000000008311171561029757600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184600183028401116401000000008311171561031e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610627945050505050565b005b6103696106fd565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561039557600080fd5b506001600160a01b038135169060200135610706565b61035f600480360360408110156103c157600080fd5b506001600160a01b038135169060200135610755565b6101e0600480360360208110156103ed57600080fd5b50356001600160a01b0316610924565b610405610a81565b604080516001600160a01b039092168252519081900360200190f35b610123610aa5565b61035f6004803603604081101561043f57600080fd5b506001600160a01b038135169060200135610b00565b6101c46004803603604081101561046b57600080fd5b506001600160a01b0381351690602001356105df565b6101e0610d2a565b6101e06004803603602081101561049f57600080fd5b50356001600160a01b0316610d2f565b6101e0600480360360408110156104c557600080fd5b506001600160a01b0381358116916020013516610706565b6101e0600480360360208110156104f357600080fd5b50356001600160a01b0316610d4a565b6035805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105895780601f1061055e57610100808354040283529160200191610589565b820191906000526020600020905b81548152906001019060200180831161056c57829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60345481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b6000610631610d65565b60015490915060ff16806106485750610648610d6b565b80610654575060005481115b61068f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611227602e913960400191505060405180910390fd5b60015460ff161580156106ae576001805460ff19168117905560008290555b83516106c190603590602087019061116d565b5082516106d590603690602086019061116d565b506037805460ff191660ff871617905580156106f6576001805460ff191690555b5050505050565b60375460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107bc5760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b60008060006107ca85610d71565b919450925090506107ea856107e5868463ffffffff610de116565b610e44565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088057600080fd5b505afa158015610894573d6000803e3d6000fd5b505050506040513d60208110156108aa57600080fd5b50516001600160a01b03861660008181526039602090815260409182902084905581519283528201879052818101869052606082018590526080820184905260a082019290925290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a15050505050565b6001600160a01b03811660009081526038602052604081205461094957506000610a7c565b610a79610a7460396000856001600160a01b03166001600160a01b0316815260200190815260200160002054610a687f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a0e57600080fd5b505afa158015610a22573d6000803e3d6000fd5b505050506040513d6020811015610a3857600080fd5b50516001600160a01b038716600090815260386020526040902054610a5c90610ea3565b9063ffffffff610eb916565b9063ffffffff610efd16565b610f35565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6036805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105895780601f1061055e57610100808354040283529160200191610589565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b675760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b6000806000610b7585610d71565b92509250925083811115610b9c57610b97856107e5838763ffffffff610f5516565b610bb5565b610bb585610bb0868463ffffffff610f5516565b610f97565b83821415610bdb576001600160a01b038516600090815260396020526040812055610cb7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610c7157600080fd5b505afa158015610c85573d6000803e3d6000fd5b505050506040513d6020811015610c9b57600080fd5b50516001600160a01b0386166000908152603960205260409020555b6001600160a01b038516600081815260396020908152604091829020548251938452908301879052828201869052606083018590526080830184905260a0830152517fc57f977ee00c44453a91f798753002bf12fca5f5ca2ee8db560720f51d4b0f629181900360c00190a15050505050565b600181565b6001600160a01b031660009081526038602052604090205490565b6001600160a01b031660009081526039602052604090205490565b60025b90565b303b1590565b6001600160a01b0381166000908152603860205260408120548190819080610da3575060009250829150819050610dda565b6000610dbe82610db288610924565b9063ffffffff610f5516565b905081610dd1818363ffffffff610de116565b90955093509150505b9193909250565b600082820183811015610e3b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b603454610e57908263ffffffff610de116565b6034556001600160a01b038216600090815260386020526040902054610e83908263ffffffff610de116565b6001600160a01b0390921660009081526038602052604090209190915550565b6000610a7982633b9aca0063ffffffff610fd616565b6000610e3b6b033b2e3c9fd0803ce8000000610ef1610ede868663ffffffff610fd616565b6b019d971e4fe8401e7400000090610de1565b9063ffffffff61102f16565b600060028204610f2d83610ef1610f20876b033b2e3c9fd0803ce8000000610fd6565b849063ffffffff610de116565b949350505050565b6000631dcd6500610f4e633b9aca00610ef18386610de1565b9392505050565b6000610e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611071565b603454610faa908263ffffffff610f5516565b6034556001600160a01b038216600090815260386020526040902054610e83908263ffffffff610f5516565b600082610fe557506000610e3e565b82820282848281610ff257fe5b0414610e3b5760405162461bcd60e51b81526004018080602001828103825260218152602001806112066021913960400191505060405180910390fd5b6000610e3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611108565b600081848411156111005760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110c55781810151838201526020016110ad565b50505050905090810190601f1680156110f25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111575760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110c55781810151838201526020016110ad565b50600083858161116357fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ae57805160ff19168380011785556111db565b828001600101855582156111db579182015b828111156111db5782518255916020019190600101906111c0565b506111e79291506111eb565b5090565b610d6891905b808211156111e757600081556001016111f156fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca26469706673582212207fee64db0369e474f10a3b8204b311ae45954b48a0ec7c76bc218ee0ec53cf9e64736f6c63430006080033"; diff --git a/types/ReserveLogicFactory.ts b/types/ReserveLogicFactory.ts index a9435130..b8113d05 100644 --- a/types/ReserveLogicFactory.ts +++ b/types/ReserveLogicFactory.ts @@ -86,4 +86,4 @@ const _abi = [ ]; const _bytecode = - "0x610ecb610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c80630c1282ce1461007157806358ba22fa146100af5780637d368d2e146100d25780638acb830b146100ef578063b5887a641461013c578063fade6ba01461018d575b600080fd5b61009d6004803603604081101561008757600080fd5b50803590602001356001600160a01b03166101b9565b60408051918252519081900360200190f35b61009d600480360360408110156100c557600080fd5b5080359060200135610279565b61009d600480360360208110156100e857600080fd5b503561029a565b8180156100fb57600080fd5b5061013a600480360360a081101561011257600080fd5b508035906001600160a01b036020820135169060408101359060608101359060800135610338565b005b81801561014857600080fd5b5061013a600480360360a081101561015f57600080fd5b508035906001600160a01b036020820135811691604081013582169160608201358116916080013516610384565b61009d600480360360408110156101a357600080fd5b50803590602001356001600160a01b0316610451565b6000806101c5846104dd565b9050806101d6576000915050610273565b604080516370a0823160e01b815230600482015290516000916001600160a01b038616916370a0823191602480820192602092909190829003018186803b15801561022057600080fd5b505afa158015610234573d6000803e3d6000fd5b505050506040513d602081101561024a57600080fd5b5051905061026e610261828463ffffffff6105a516565b839063ffffffff6105ff16565b925050505b92915050565b60008260030154600014610291578260030154610293565b815b9392505050565b600081600201546000141561032c578160090160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d602081101561032357600080fd5b50519050610333565b5060028101545b919050565b61034185610643565b600061035c61034f876104dd565b859063ffffffff6105a516565b905061036f86828563ffffffff6106fb16565b61037c8686856000610759565b505050505050565b60068501546001600160a01b0316156103ce5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e516024913960400191505060405180910390fd5b84546103df576103dc610aa0565b85555b60048501546103f6576103f0610aa0565b60048601555b6006850180546001600160a01b03199081166001600160a01b03968716179091556007860180548216948616949094179093556008850180548416928516929092179091556009909301805490911692909116919091179055565b600061029361045f846104dd565b604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d60208110156104cf57600080fd5b50519063ffffffff6105a516565b60006102738260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561053257600080fd5b505afa158015610546573d6000803e3d6000fd5b505050506040513d602081101561055c57600080fd5b50516007840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156104a557600080fd5b600082820183811015610293576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006002820461063b8361062f610622876b033b2e3c9fd0803ce8000000610ab0565b849063ffffffff6105a516565b9063ffffffff610b0916565b949350505050565b600061064e826104dd565b905080156106d7576001820154600983015460009161067a91600160a01b900464ffffffffff16610b4b565b835490915061069090829063ffffffff610ba216565b8355600283015460098401546000916106b691600160a01b900464ffffffffff16610bda565b90506106cf846004015482610ba290919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b600061071e61070984610cfc565b61071284610cfc565b9063ffffffff6105ff16565b9050600061073a61072d610aa0565b839063ffffffff6105a516565b855490915061075090829063ffffffff610ba216565b90945550505050565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d60208110156107ca57600080fd5b50516006860154604080516370a0823160e01b81526001600160a01b0392831660048201529051929350600092918716916370a0823191602480820192602092909190829003018186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d602081101561084b57600080fd5b50516009870154909150600090819081906001600160a01b03166357e37af08961088b8961087f898d63ffffffff6105a516565b9063ffffffff610d1216565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108db57600080fd5b505afa1580156108ef573d6000803e3d6000fd5b505050506040513d602081101561090557600080fd5b505160088e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6060811015610a0557600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b6b033b2e3c9fd0803ce800000090565b600082610abf57506000610273565b82820282848281610acc57fe5b04146102935760405162461bcd60e51b8152600401808060200182810382526021815260200180610e756021913960400191505060405180910390fd5b600061029383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d54565b600080610b654264ffffffffff851663ffffffff610d1216565b90506000610b796107096301e13380610cfc565b905061026e610b86610aa0565b610b96878463ffffffff610ba216565b9063ffffffff6105a516565b60006102936b033b2e3c9fd0803ce800000061062f610bc7868663ffffffff610ab016565b6b019d971e4fe8401e74000000906105a5565b600080610bf44264ffffffffff851663ffffffff610d1216565b905080610c0b57610c03610aa0565b915050610273565b6000610c1e82600163ffffffff610d1216565b9050600060028311610c31576000610c42565b610c4283600263ffffffff610d1216565b90506000610c5a876301e1338063ffffffff610b0916565b90506000610c6e828063ffffffff610ba216565b90506000610c82828463ffffffff610ba216565b90506000610cab600261062f85610c9f8b8b63ffffffff610ab016565b9063ffffffff610ab016565b90506000610cca600661062f85610c9f8a818e8e63ffffffff610ab016565b9050610ced81610b968481610ce58a8e63ffffffff610ab016565b610b96610aa0565b9b9a5050505050505050505050565b600061027382633b9aca0063ffffffff610ab016565b600061029383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610df6565b60008183610de05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da5578181015183820152602001610d8d565b50505050905090810190601f168015610dd25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610dec57fe5b0495945050505050565b60008184841115610e485760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610da5578181015183820152602001610d8d565b50505090039056fe526573657276652068617320616c7265616479206265656e20696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d743195263fc0f229da43f8b45c0bfbe58d1d67ecc14a0749ac895ea3b04748d64736f6c63430006080033"; + "0x610ecb610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c80630c1282ce1461007157806358ba22fa146100af5780637d368d2e146100d25780638acb830b146100ef578063b5887a641461013c578063fade6ba01461018d575b600080fd5b61009d6004803603604081101561008757600080fd5b50803590602001356001600160a01b03166101b9565b60408051918252519081900360200190f35b61009d600480360360408110156100c557600080fd5b5080359060200135610279565b61009d600480360360208110156100e857600080fd5b503561029a565b8180156100fb57600080fd5b5061013a600480360360a081101561011257600080fd5b508035906001600160a01b036020820135169060408101359060608101359060800135610338565b005b81801561014857600080fd5b5061013a600480360360a081101561015f57600080fd5b508035906001600160a01b036020820135811691604081013582169160608201358116916080013516610384565b61009d600480360360408110156101a357600080fd5b50803590602001356001600160a01b0316610451565b6000806101c5846104dd565b9050806101d6576000915050610273565b604080516370a0823160e01b815230600482015290516000916001600160a01b038616916370a0823191602480820192602092909190829003018186803b15801561022057600080fd5b505afa158015610234573d6000803e3d6000fd5b505050506040513d602081101561024a57600080fd5b5051905061026e610261828463ffffffff6105a516565b839063ffffffff6105ff16565b925050505b92915050565b60008260030154600014610291578260030154610293565b815b9392505050565b600081600201546000141561032c578160090160009054906101000a90046001600160a01b03166001600160a01b03166334762ca56040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d602081101561032357600080fd5b50519050610333565b5060028101545b919050565b61034185610643565b600061035c61034f876104dd565b859063ffffffff6105a516565b905061036f86828563ffffffff6106fb16565b61037c8686856000610759565b505050505050565b60068501546001600160a01b0316156103ce5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e516024913960400191505060405180910390fd5b84546103df576103dc610aa0565b85555b60048501546103f6576103f0610aa0565b60048601555b6006850180546001600160a01b03199081166001600160a01b03968716179091556007860180548216948616949094179093556008850180548416928516929092179091556009909301805490911692909116919091179055565b600061029361045f846104dd565b604080516370a0823160e01b815230600482015290516001600160a01b038616916370a08231916024808301926020929190829003018186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d60208110156104cf57600080fd5b50519063ffffffff6105a516565b60006102738260080160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561053257600080fd5b505afa158015610546573d6000803e3d6000fd5b505050506040513d602081101561055c57600080fd5b50516007840154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156104a557600080fd5b600082820183811015610293576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006002820461063b8361062f610622876b033b2e3c9fd0803ce8000000610ab0565b849063ffffffff6105a516565b9063ffffffff610b0916565b949350505050565b600061064e826104dd565b905080156106d7576001820154600983015460009161067a91600160a01b900464ffffffffff16610b4b565b835490915061069090829063ffffffff610ba216565b8355600283015460098401546000916106b691600160a01b900464ffffffffff16610bda565b90506106cf846004015482610ba290919063ffffffff16565b600485015550505b50600901805464ffffffffff60a01b1916600160a01b4264ffffffffff1602179055565b600061071e61070984610cfc565b61071284610cfc565b9063ffffffff6105ff16565b9050600061073a61072d610aa0565b839063ffffffff6105a516565b855490915061075090829063ffffffff610ba216565b90945550505050565b60078401546040805163487b7e7960e11b815290516000926001600160a01b0316916390f6fcf2916004808301926020929190829003018186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d60208110156107ca57600080fd5b50516006860154604080516370a0823160e01b81526001600160a01b0392831660048201529051929350600092918716916370a0823191602480820192602092909190829003018186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d602081101561084b57600080fd5b50516009870154909150600090819081906001600160a01b03166357e37af08961088b8961087f898d63ffffffff6105a516565b9063ffffffff610d1216565b8c60070160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108db57600080fd5b505afa1580156108ef573d6000803e3d6000fd5b505050506040513d602081101561090557600080fd5b505160088e0154604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b5051604080516001600160e01b031960e088901b1681526001600160a01b039095166004860152602485019390935260448401919091526064830152608482018990525160a4808301926060929190829003018186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6060811015610a0557600080fd5b50805160208083015160409384015160018e0184905560038e0182905560028e018190558d5460048f015486518681529485018490528487018c905260608501839052608085019190915260a0840152935192965094509192506001600160a01b038a16917f131cf1f61e39fd78f61f07d78533f5b6c13629c80ef6965983e92c72efbaa4a4919081900360c00190a2505050505050505050565b6b033b2e3c9fd0803ce800000090565b600082610abf57506000610273565b82820282848281610acc57fe5b04146102935760405162461bcd60e51b8152600401808060200182810382526021815260200180610e756021913960400191505060405180910390fd5b600061029383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d54565b600080610b654264ffffffffff851663ffffffff610d1216565b90506000610b796107096301e13380610cfc565b905061026e610b86610aa0565b610b96878463ffffffff610ba216565b9063ffffffff6105a516565b60006102936b033b2e3c9fd0803ce800000061062f610bc7868663ffffffff610ab016565b6b019d971e4fe8401e74000000906105a5565b600080610bf44264ffffffffff851663ffffffff610d1216565b905080610c0b57610c03610aa0565b915050610273565b6000610c1e82600163ffffffff610d1216565b9050600060028311610c31576000610c42565b610c4283600263ffffffff610d1216565b90506000610c5a876301e1338063ffffffff610b0916565b90506000610c6e828063ffffffff610ba216565b90506000610c82828463ffffffff610ba216565b90506000610cab600261062f85610c9f8b8b63ffffffff610ab016565b9063ffffffff610ab016565b90506000610cca600661062f85610c9f8a818e8e63ffffffff610ab016565b9050610ced81610b968481610ce58a8e63ffffffff610ab016565b610b96610aa0565b9b9a5050505050505050505050565b600061027382633b9aca0063ffffffff610ab016565b600061029383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610df6565b60008183610de05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da5578181015183820152602001610d8d565b50505050905090810190601f168015610dd25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610dec57fe5b0495945050505050565b60008184841115610e485760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610da5578181015183820152602001610d8d565b50505090039056fe526573657276652068617320616c7265616479206265656e20696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bc2ecf55acc1c09cd9863ed15e8fb5c2c406110ea71474e8d568ebb92168745064736f6c63430006080033"; diff --git a/types/StableDebtTokenFactory.ts b/types/StableDebtTokenFactory.ts index f50fe4b2..ac547f27 100644 --- a/types/StableDebtTokenFactory.ts +++ b/types/StableDebtTokenFactory.ts @@ -16,18 +16,32 @@ export class StableDebtTokenFactory extends ContractFactory { deploy( _pool: string, _underlyingAsset: string, + _name: string, + _symbol: string, overrides?: TransactionOverrides ): Promise { - return super.deploy(_pool, _underlyingAsset, overrides) as Promise< - StableDebtToken - >; + return super.deploy( + _pool, + _underlyingAsset, + _name, + _symbol, + overrides + ) as Promise; } getDeployTransaction( _pool: string, _underlyingAsset: string, + _name: string, + _symbol: string, overrides?: TransactionOverrides ): UnsignedTransaction { - return super.getDeployTransaction(_pool, _underlyingAsset, overrides); + return super.getDeployTransaction( + _pool, + _underlyingAsset, + _name, + _symbol, + overrides + ); } attach(address: string): StableDebtToken { return super.attach(address) as StableDebtToken; @@ -55,6 +69,16 @@ const _abi = [ internalType: "address", name: "_underlyingAsset", type: "address" + }, + { + internalType: "string", + name: "_name", + type: "string" + }, + { + internalType: "string", + name: "_symbol", + type: "string" } ], stateMutability: "nonpayable", @@ -573,4 +597,4 @@ const _abi = [ ]; const _bytecode = - "0x60c06040526000805534801561001457600080fd5b506040516114bf3803806114bf8339818101604052604081101561003757600080fd5b5080516020909101516001600160601b0319606092831b811660a052911b1660805260805160601c60a05160601c611438610087600039806106485280610b5f525080610ad052506114386000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806389d1a0fc116100ad578063a9059cbb11610071578063a9059cbb146104b9578063b9a7b622146104e5578063c634dfaa146104ed578063dd62ed3e14610513578063e78c9b3b146105415761012c565b806389d1a0fc1461045957806390f6fcf21461047d57806395d89b41146104855780639dc29fac1461048d578063a457c2d7146103c75761012c565b80633118724e116100f45780633118724e14610272578063313ce567146103a957806339509351146103c757806370a08231146103f357806379ce6b8c146104195761012c565b806306fdde0314610131578063095ea7b3146101ae578063156e29f6146101ee57806318160ddd1461022257806323b872dd1461023c575b600080fd5b610139610567565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356105f5565b604080519115158252519081900360200190f35b6102206004803603606081101561020457600080fd5b506001600160a01b03813516906020810135906040013561063d565b005b61022a610883565b60408051918252519081900360200190f35b6101da6004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610889565b6102206004803603606081101561028857600080fd5b60ff82351691908101906040810160208201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184600183028401116401000000008311171561036857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506108d1945050505050565b6103b16109a7565b6040805160ff9092168252519081900360200190f35b6101da600480360360408110156103dd57600080fd5b506001600160a01b0381351690602001356109b0565b61022a6004803603602081101561040957600080fd5b50356001600160a01b03166109ff565b61043f6004803603602081101561042f57600080fd5b50356001600160a01b0316610aa9565b6040805164ffffffffff9092168252519081900360200190f35b610461610ace565b604080516001600160a01b039092168252519081900360200190f35b61022a610af2565b610139610af9565b610220600480360360408110156104a357600080fd5b506001600160a01b038135169060200135610b54565b6101da600480360360408110156104cf57600080fd5b506001600160a01b038135169060200135610889565b61022a610d59565b61022a6004803603602081101561050357600080fd5b50356001600160a01b0316610d5e565b61022a6004803603604081101561052957600080fd5b506001600160a01b03813581169160200135166109b0565b61022a6004803603602081101561055757600080fd5b50356001600160a01b0316610d79565b6035805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a45760405162461bcd60e51b81526004018080602001828103825260328152602001806113d16032913960400191505060405180910390fd5b6106ac6112c1565b60008060006106ba87610d94565b9250925092506106d581603454610df890919063ffffffff16565b602085018190526106ec908763ffffffff610df816565b84526106f786610e5b565b6040850152610779610717610712848963ffffffff610df816565b610e5b565b604086015161076d90610730908963ffffffff610e7116565b61076161073c87610e5b565b6001600160a01b038d166000908152603a60205260409020549063ffffffff610e7116565b9063ffffffff610df816565b9063ffffffff610eb516565b606085018190526001600160a01b0388166000908152603a60205260409020908155600101805464ffffffffff19164264ffffffffff1617905583516107fb906107c290610e5b565b61076d6107dc876040015189610e7190919063ffffffff16565b6107616107ec8960200151610e5b565b6039549063ffffffff610e7116565b60395561081787610812888463ffffffff610df816565b610eed565b606080850151604080516001600160a01b038b168152602081018a90528082018790529283018590526080830184905260a0830191909152517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a150505050505050565b60345481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60006108db610f4c565b60015490915060ff16806108f257506108f2610f51565b806108fe575060005481115b6109395760405162461bcd60e51b815260040180806020018281038252602e8152602001806113a3602e913960400191505060405180910390fd5b60015460ff16158015610958576001805460ff19168117905560008290555b835161096b9060359060208701906112e9565b50825161097f9060369060208601906112e9565b506037805460ff191660ff871617905580156109a0576001805460ff191690555b5050505050565b60375460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6001600160a01b038116600090815260386020526040812054610a2457506000610aa4565b6001600160a01b0382166000908152603a6020526040812080546001820154919291610a57919064ffffffffff16610f57565b9050610a9f610a9a82610a8e60386000896001600160a01b03166001600160a01b0316815260200190815260200160002054610e5b565b9063ffffffff610e7116565b611079565b925050505b919050565b6001600160a01b03166000908152603a602052604090206001015464ffffffffff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b6039545b90565b6036805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105ed5780601f106105c2576101008083540402835291602001916105ed565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bbb5760405162461bcd60e51b81526004018080602001828103825260328152602001806113d16032913960400191505060405180910390fd5b6000806000610bc985610d94565b9250925092506000610be682603454610df890919063ffffffff16565b90506000610bfa828763ffffffff61109916565b90506000610c2387610c1786603454610df890919063ffffffff16565b9063ffffffff61109916565b90506000610c3088610e5b565b905081610c41576000603955610c8a565b610c86610c4d84610e5b565b6001600160a01b038b166000908152603a602052604090205461076d90610c7a908563ffffffff610e7116565b610c176107ec89610e5b565b6039555b85881415610cbd576001600160a01b0389166000908152603a60205260408120908155600101805464ffffffffff191690555b87851115610cde57610cd989610812878b63ffffffff61109916565b610cf7565b610cf789610cf28a8863ffffffff61109916565b6110db565b604080516001600160a01b038b168152602081018a9052808201899052606081018890526080810187905290517fecde08620c30706a4d7ba53e9163327f2e12a6cea2709dd6a9226fed28c2bb729181900360a00190a1505050505050505050565b600181565b6001600160a01b031660009081526038602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b6001600160a01b0381166000908152603860205260408120548190819080610dc6575060009250829150819050610df1565b6000610dd582610c17886109ff565b905081610de8818363ffffffff610df816565b90955093509150505b9193909250565b600082820183811015610e52576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000610e5582633b9aca0063ffffffff61111a16565b6000610e526b033b2e3c9fd0803ce8000000610ea9610e96868663ffffffff61111a16565b6b019d971e4fe8401e7400000090610df8565b9063ffffffff61117316565b600060028204610ee583610ea9610ed8876b033b2e3c9fd0803ce800000061111a565b849063ffffffff610df816565b949350505050565b603454610f00908263ffffffff610df816565b6034556001600160a01b038216600090815260386020526040902054610f2c908263ffffffff610df816565b6001600160a01b0390921660009081526038602052604090209190915550565b600190565b303b1590565b600080610f714264ffffffffff851663ffffffff61109916565b905080610f8857610f806111b5565b915050610e55565b6000610f9b82600163ffffffff61109916565b9050600060028311610fae576000610fbf565b610fbf83600263ffffffff61109916565b90506000610fd7876301e1338063ffffffff61117316565b90506000610feb828063ffffffff610e7116565b90506000610fff828463ffffffff610e7116565b905060006110286002610ea98561101c8b8b63ffffffff61111a16565b9063ffffffff61111a16565b905060006110476006610ea98561101c8a818e8e63ffffffff61111a16565b905061106a8161076184816110628a8e63ffffffff61111a16565b6107616111b5565b9b9a5050505050505050505050565b6000631dcd6500611092633b9aca00610ea98386610df8565b9392505050565b6000610e5283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111c5565b6034546110ee908263ffffffff61109916565b6034556001600160a01b038216600090815260386020526040902054610f2c908263ffffffff61109916565b60008261112957506000610e55565b8282028284828161113657fe5b0414610e525760405162461bcd60e51b81526004018080602001828103825260218152602001806113826021913960400191505060405180910390fd5b6000610e5283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061125c565b6b033b2e3c9fd0803ce800000090565b600081848411156112545760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611219578181015183820152602001611201565b50505050905090810190601f1680156112465780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112ab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611219578181015183820152602001611201565b5060008385816112b757fe5b0495945050505050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061132a57805160ff1916838001178555611357565b82800160010185558215611357579182015b8281111561135757825182559160200191906001019061133c565b50611363929150611367565b5090565b610af691905b80821115611363576000815560010161136d56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca2646970667358221220bd5cdbfc61747735b207bde72313fcc8cd1e432d395991a9e58c8d8ba6afe4fa64736f6c63430006080033"; + "0x60c0604052600080553480156200001557600080fd5b506040516200171638038062001716833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b506040525050506001600160601b0319606085811b821660a05284901b1660805281518490849084908490620001e59060359060208501906200020a565b508051620001fb9060369060208401906200020a565b505050505050505050620002af565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024d57805160ff19168380011785556200027d565b828001600101855582156200027d579182015b828111156200027d57825182559160200191906001019062000260565b506200028b9291506200028f565b5090565b620002ac91905b808211156200028b576000815560010162000296565b90565b60805160601c60a05160601c611438620002de600039806106485280610b5f525080610ad052506114386000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806389d1a0fc116100ad578063a9059cbb11610071578063a9059cbb146104b9578063b9a7b622146104e5578063c634dfaa146104ed578063dd62ed3e14610513578063e78c9b3b146105415761012c565b806389d1a0fc1461045957806390f6fcf21461047d57806395d89b41146104855780639dc29fac1461048d578063a457c2d7146103c75761012c565b80633118724e116100f45780633118724e14610272578063313ce567146103a957806339509351146103c757806370a08231146103f357806379ce6b8c146104195761012c565b806306fdde0314610131578063095ea7b3146101ae578063156e29f6146101ee57806318160ddd1461022257806323b872dd1461023c575b600080fd5b610139610567565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356105f5565b604080519115158252519081900360200190f35b6102206004803603606081101561020457600080fd5b506001600160a01b03813516906020810135906040013561063d565b005b61022a610883565b60408051918252519081900360200190f35b6101da6004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610889565b6102206004803603606081101561028857600080fd5b60ff82351691908101906040810160208201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184600183028401116401000000008311171561036857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506108d1945050505050565b6103b16109a7565b6040805160ff9092168252519081900360200190f35b6101da600480360360408110156103dd57600080fd5b506001600160a01b0381351690602001356109b0565b61022a6004803603602081101561040957600080fd5b50356001600160a01b03166109ff565b61043f6004803603602081101561042f57600080fd5b50356001600160a01b0316610aa9565b6040805164ffffffffff9092168252519081900360200190f35b610461610ace565b604080516001600160a01b039092168252519081900360200190f35b61022a610af2565b610139610af9565b610220600480360360408110156104a357600080fd5b506001600160a01b038135169060200135610b54565b6101da600480360360408110156104cf57600080fd5b506001600160a01b038135169060200135610889565b61022a610d59565b61022a6004803603602081101561050357600080fd5b50356001600160a01b0316610d5e565b61022a6004803603604081101561052957600080fd5b506001600160a01b03813581169160200135166109b0565b61022a6004803603602081101561055757600080fd5b50356001600160a01b0316610d79565b6035805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a45760405162461bcd60e51b81526004018080602001828103825260328152602001806113d16032913960400191505060405180910390fd5b6106ac6112c1565b60008060006106ba87610d94565b9250925092506106d581603454610df890919063ffffffff16565b602085018190526106ec908763ffffffff610df816565b84526106f786610e5b565b6040850152610779610717610712848963ffffffff610df816565b610e5b565b604086015161076d90610730908963ffffffff610e7116565b61076161073c87610e5b565b6001600160a01b038d166000908152603a60205260409020549063ffffffff610e7116565b9063ffffffff610df816565b9063ffffffff610eb516565b606085018190526001600160a01b0388166000908152603a60205260409020908155600101805464ffffffffff19164264ffffffffff1617905583516107fb906107c290610e5b565b61076d6107dc876040015189610e7190919063ffffffff16565b6107616107ec8960200151610e5b565b6039549063ffffffff610e7116565b60395561081787610812888463ffffffff610df816565b610eed565b606080850151604080516001600160a01b038b168152602081018a90528082018790529283018590526080830184905260a0830191909152517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a150505050505050565b60345481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60006108db610f4c565b60015490915060ff16806108f257506108f2610f51565b806108fe575060005481115b6109395760405162461bcd60e51b815260040180806020018281038252602e8152602001806113a3602e913960400191505060405180910390fd5b60015460ff16158015610958576001805460ff19168117905560008290555b835161096b9060359060208701906112e9565b50825161097f9060369060208601906112e9565b506037805460ff191660ff871617905580156109a0576001805460ff191690555b5050505050565b60375460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b6001600160a01b038116600090815260386020526040812054610a2457506000610aa4565b6001600160a01b0382166000908152603a6020526040812080546001820154919291610a57919064ffffffffff16610f57565b9050610a9f610a9a82610a8e60386000896001600160a01b03166001600160a01b0316815260200190815260200160002054610e5b565b9063ffffffff610e7116565b611079565b925050505b919050565b6001600160a01b03166000908152603a602052604090206001015464ffffffffff1690565b7f000000000000000000000000000000000000000000000000000000000000000081565b6039545b90565b6036805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105ed5780601f106105c2576101008083540402835291602001916105ed565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bbb5760405162461bcd60e51b81526004018080602001828103825260328152602001806113d16032913960400191505060405180910390fd5b6000806000610bc985610d94565b9250925092506000610be682603454610df890919063ffffffff16565b90506000610bfa828763ffffffff61109916565b90506000610c2387610c1786603454610df890919063ffffffff16565b9063ffffffff61109916565b90506000610c3088610e5b565b905081610c41576000603955610c8a565b610c86610c4d84610e5b565b6001600160a01b038b166000908152603a602052604090205461076d90610c7a908563ffffffff610e7116565b610c176107ec89610e5b565b6039555b85881415610cbd576001600160a01b0389166000908152603a60205260408120908155600101805464ffffffffff191690555b87851115610cde57610cd989610812878b63ffffffff61109916565b610cf7565b610cf789610cf28a8863ffffffff61109916565b6110db565b604080516001600160a01b038b168152602081018a9052808201899052606081018890526080810187905290517fecde08620c30706a4d7ba53e9163327f2e12a6cea2709dd6a9226fed28c2bb729181900360a00190a1505050505050505050565b600181565b6001600160a01b031660009081526038602052604090205490565b6001600160a01b03166000908152603a602052604090205490565b6001600160a01b0381166000908152603860205260408120548190819080610dc6575060009250829150819050610df1565b6000610dd582610c17886109ff565b905081610de8818363ffffffff610df816565b90955093509150505b9193909250565b600082820183811015610e52576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000610e5582633b9aca0063ffffffff61111a16565b6000610e526b033b2e3c9fd0803ce8000000610ea9610e96868663ffffffff61111a16565b6b019d971e4fe8401e7400000090610df8565b9063ffffffff61117316565b600060028204610ee583610ea9610ed8876b033b2e3c9fd0803ce800000061111a565b849063ffffffff610df816565b949350505050565b603454610f00908263ffffffff610df816565b6034556001600160a01b038216600090815260386020526040902054610f2c908263ffffffff610df816565b6001600160a01b0390921660009081526038602052604090209190915550565b600190565b303b1590565b600080610f714264ffffffffff851663ffffffff61109916565b905080610f8857610f806111b5565b915050610e55565b6000610f9b82600163ffffffff61109916565b9050600060028311610fae576000610fbf565b610fbf83600263ffffffff61109916565b90506000610fd7876301e1338063ffffffff61117316565b90506000610feb828063ffffffff610e7116565b90506000610fff828463ffffffff610e7116565b905060006110286002610ea98561101c8b8b63ffffffff61111a16565b9063ffffffff61111a16565b905060006110476006610ea98561101c8a818e8e63ffffffff61111a16565b905061106a8161076184816110628a8e63ffffffff61111a16565b6107616111b5565b9b9a5050505050505050505050565b6000631dcd6500611092633b9aca00610ea98386610df8565b9392505050565b6000610e5283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111c5565b6034546110ee908263ffffffff61109916565b6034556001600160a01b038216600090815260386020526040902054610f2c908263ffffffff61109916565b60008261112957506000610e55565b8282028284828161113657fe5b0414610e525760405162461bcd60e51b81526004018080602001828103825260218152602001806113826021913960400191505060405180910390fd5b6000610e5283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061125c565b6b033b2e3c9fd0803ce800000090565b600081848411156112545760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611219578181015183820152602001611201565b50505050905090810190601f1680156112465780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112ab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611219578181015183820152602001611201565b5060008385816112b757fe5b0495945050505050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061132a57805160ff1916838001178555611357565b82800160010185558215611357579182015b8281111561135757825182559160200191906001019061133c565b50611363929150611367565b5090565b610af691905b80821115611363576000815560010161136d56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca26469706673582212200b7c6b6ae4a35b0337e61be21d4727e8688c0484c35d3b40911e138ce1493a9664736f6c63430006080033"; diff --git a/types/VariableDebtTokenFactory.ts b/types/VariableDebtTokenFactory.ts index 08581f35..b9542757 100644 --- a/types/VariableDebtTokenFactory.ts +++ b/types/VariableDebtTokenFactory.ts @@ -16,18 +16,32 @@ export class VariableDebtTokenFactory extends ContractFactory { deploy( _pool: string, _underlyingAsset: string, + _name: string, + _symbol: string, overrides?: TransactionOverrides ): Promise { - return super.deploy(_pool, _underlyingAsset, overrides) as Promise< - VariableDebtToken - >; + return super.deploy( + _pool, + _underlyingAsset, + _name, + _symbol, + overrides + ) as Promise; } getDeployTransaction( _pool: string, _underlyingAsset: string, + _name: string, + _symbol: string, overrides?: TransactionOverrides ): UnsignedTransaction { - return super.getDeployTransaction(_pool, _underlyingAsset, overrides); + return super.getDeployTransaction( + _pool, + _underlyingAsset, + _name, + _symbol, + overrides + ); } attach(address: string): VariableDebtToken { return super.attach(address) as VariableDebtToken; @@ -55,6 +69,16 @@ const _abi = [ internalType: "address", name: "_underlyingAsset", type: "address" + }, + { + internalType: "string", + name: "_name", + type: "string" + }, + { + internalType: "string", + name: "_symbol", + type: "string" } ], stateMutability: "nonpayable", @@ -542,4 +566,4 @@ const _abi = [ ]; const _bytecode = - "0x60c06040526000805534801561001457600080fd5b506040516113613803806113618339818101604052604081101561003757600080fd5b5080516020909101516001600160601b0319606092831b811660a052911b1660805260805160601c60a05160601c6112bc6100a56000398061076052806107ec528061097a5280610b0b5280610bdd52508061081b52806109a95280610a835280610c0c52506112bc6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806389d1a0fc116100a2578063a9059cbb11610071578063a9059cbb14610455578063b9a7b62214610481578063c634dfaa14610489578063dd62ed3e146104af578063ee9907a4146104dd57610116565b806389d1a0fc146103fd57806395d89b41146104215780639dc29fac14610429578063a457c2d71461037f57610116565b80633118724e116100e95780633118724e14610228578063313ce56714610361578063395093511461037f57806340c10f19146103ab57806370a08231146103d757610116565b806306fdde031461011b578063095ea7b31461019857806318160ddd146101d857806323b872dd146101f2575b600080fd5b610123610503565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b038135169060200135610591565b604080519115158252519081900360200190f35b6101e06105d9565b60408051918252519081900360200190f35b6101c46004803603606081101561020857600080fd5b506001600160a01b038135811691602081013590911690604001356105df565b61035f6004803603606081101561023e57600080fd5b60ff823516919081019060408101602082013564010000000081111561026357600080fd5b82018360208201111561027557600080fd5b8035906020019184600183028401116401000000008311171561029757600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184600183028401116401000000008311171561031e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610627945050505050565b005b6103696106fd565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561039557600080fd5b506001600160a01b038135169060200135610706565b61035f600480360360408110156103c157600080fd5b506001600160a01b038135169060200135610755565b6101e0600480360360208110156103ed57600080fd5b50356001600160a01b0316610924565b610405610a81565b604080516001600160a01b039092168252519081900360200190f35b610123610aa5565b61035f6004803603604081101561043f57600080fd5b506001600160a01b038135169060200135610b00565b6101c46004803603604081101561046b57600080fd5b506001600160a01b0381351690602001356105df565b6101e0610d2a565b6101e06004803603602081101561049f57600080fd5b50356001600160a01b0316610d2f565b6101e0600480360360408110156104c557600080fd5b506001600160a01b0381358116916020013516610706565b6101e0600480360360208110156104f357600080fd5b50356001600160a01b0316610d4a565b6035805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105895780601f1061055e57610100808354040283529160200191610589565b820191906000526020600020905b81548152906001019060200180831161056c57829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60345481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b6000610631610d65565b60015490915060ff16806106485750610648610d6b565b80610654575060005481115b61068f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611227602e913960400191505060405180910390fd5b60015460ff161580156106ae576001805460ff19168117905560008290555b83516106c190603590602087019061116d565b5082516106d590603690602086019061116d565b506037805460ff191660ff871617905580156106f6576001805460ff191690555b5050505050565b60375460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107bc5760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b60008060006107ca85610d71565b919450925090506107ea856107e5868463ffffffff610de116565b610e44565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088057600080fd5b505afa158015610894573d6000803e3d6000fd5b505050506040513d60208110156108aa57600080fd5b50516001600160a01b03861660008181526039602090815260409182902084905581519283528201879052818101869052606082018590526080820184905260a082019290925290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a15050505050565b6001600160a01b03811660009081526038602052604081205461094957506000610a7c565b610a79610a7460396000856001600160a01b03166001600160a01b0316815260200190815260200160002054610a687f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a0e57600080fd5b505afa158015610a22573d6000803e3d6000fd5b505050506040513d6020811015610a3857600080fd5b50516001600160a01b038716600090815260386020526040902054610a5c90610ea3565b9063ffffffff610eb916565b9063ffffffff610efd16565b610f35565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6036805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105895780601f1061055e57610100808354040283529160200191610589565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b675760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b6000806000610b7585610d71565b92509250925083811115610b9c57610b97856107e5838763ffffffff610f5516565b610bb5565b610bb585610bb0868463ffffffff610f5516565b610f97565b83821415610bdb576001600160a01b038516600090815260396020526040812055610cb7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610c7157600080fd5b505afa158015610c85573d6000803e3d6000fd5b505050506040513d6020811015610c9b57600080fd5b50516001600160a01b0386166000908152603960205260409020555b6001600160a01b038516600081815260396020908152604091829020548251938452908301879052828201869052606083018590526080830184905260a0830152517fc57f977ee00c44453a91f798753002bf12fca5f5ca2ee8db560720f51d4b0f629181900360c00190a15050505050565b600181565b6001600160a01b031660009081526038602052604090205490565b6001600160a01b031660009081526039602052604090205490565b60015b90565b303b1590565b6001600160a01b0381166000908152603860205260408120548190819080610da3575060009250829150819050610dda565b6000610dbe82610db288610924565b9063ffffffff610f5516565b905081610dd1818363ffffffff610de116565b90955093509150505b9193909250565b600082820183811015610e3b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b603454610e57908263ffffffff610de116565b6034556001600160a01b038216600090815260386020526040902054610e83908263ffffffff610de116565b6001600160a01b0390921660009081526038602052604090209190915550565b6000610a7982633b9aca0063ffffffff610fd616565b6000610e3b6b033b2e3c9fd0803ce8000000610ef1610ede868663ffffffff610fd616565b6b019d971e4fe8401e7400000090610de1565b9063ffffffff61102f16565b600060028204610f2d83610ef1610f20876b033b2e3c9fd0803ce8000000610fd6565b849063ffffffff610de116565b949350505050565b6000631dcd6500610f4e633b9aca00610ef18386610de1565b9392505050565b6000610e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611071565b603454610faa908263ffffffff610f5516565b6034556001600160a01b038216600090815260386020526040902054610e83908263ffffffff610f5516565b600082610fe557506000610e3e565b82820282848281610ff257fe5b0414610e3b5760405162461bcd60e51b81526004018080602001828103825260218152602001806112066021913960400191505060405180910390fd5b6000610e3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611108565b600081848411156111005760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110c55781810151838201526020016110ad565b50505050905090810190601f1680156110f25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111575760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110c55781810151838201526020016110ad565b50600083858161116357fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ae57805160ff19168380011785556111db565b828001600101855582156111db579182015b828111156111db5782518255916020019190600101906111c0565b506111e79291506111eb565b5090565b610d6891905b808211156111e757600081556001016111f156fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca2646970667358221220d3e812ff4f7be2b75a520fe0631eb8a4553080e53783f08ade7c7454659799e364736f6c63430006080033"; + "0x60c0604052600080553480156200001557600080fd5b50604051620015b8380380620015b8833981810160405260808110156200003b57600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006757600080fd5b9083019060208201858111156200007d57600080fd5b82516401000000008111828201881017156200009857600080fd5b82525081516020918201929091019080838360005b83811015620000c7578181015183820152602001620000ad565b50505050905090810190601f168015620000f55780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011957600080fd5b9083019060208201858111156200012f57600080fd5b82516401000000008111828201881017156200014a57600080fd5b82525081516020918201929091019080838360005b83811015620001795781810151838201526020016200015f565b50505050905090810190601f168015620001a75780820380516001836020036101000a031916815260200191505b506040525050506001600160601b0319606085811b821660a05284901b1660805281518490849084908490620001e59060359060208501906200020a565b508051620001fb9060369060208401906200020a565b505050505050505050620002af565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024d57805160ff19168380011785556200027d565b828001600101855582156200027d579182015b828111156200027d57825182559160200191906001019062000260565b506200028b9291506200028f565b5090565b620002ac91905b808211156200028b576000815560010162000296565b90565b60805160601c60a05160601c6112bc620002fc6000398061076052806107ec528061097a5280610b0b5280610bdd52508061081b52806109a95280610a835280610c0c52506112bc6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806389d1a0fc116100a2578063a9059cbb11610071578063a9059cbb14610455578063b9a7b62214610481578063c634dfaa14610489578063dd62ed3e146104af578063ee9907a4146104dd57610116565b806389d1a0fc146103fd57806395d89b41146104215780639dc29fac14610429578063a457c2d71461037f57610116565b80633118724e116100e95780633118724e14610228578063313ce56714610361578063395093511461037f57806340c10f19146103ab57806370a08231146103d757610116565b806306fdde031461011b578063095ea7b31461019857806318160ddd146101d857806323b872dd146101f2575b600080fd5b610123610503565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b038135169060200135610591565b604080519115158252519081900360200190f35b6101e06105d9565b60408051918252519081900360200190f35b6101c46004803603606081101561020857600080fd5b506001600160a01b038135811691602081013590911690604001356105df565b61035f6004803603606081101561023e57600080fd5b60ff823516919081019060408101602082013564010000000081111561026357600080fd5b82018360208201111561027557600080fd5b8035906020019184600183028401116401000000008311171561029757600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184600183028401116401000000008311171561031e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610627945050505050565b005b6103696106fd565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561039557600080fd5b506001600160a01b038135169060200135610706565b61035f600480360360408110156103c157600080fd5b506001600160a01b038135169060200135610755565b6101e0600480360360208110156103ed57600080fd5b50356001600160a01b0316610924565b610405610a81565b604080516001600160a01b039092168252519081900360200190f35b610123610aa5565b61035f6004803603604081101561043f57600080fd5b506001600160a01b038135169060200135610b00565b6101c46004803603604081101561046b57600080fd5b506001600160a01b0381351690602001356105df565b6101e0610d2a565b6101e06004803603602081101561049f57600080fd5b50356001600160a01b0316610d2f565b6101e0600480360360408110156104c557600080fd5b506001600160a01b0381358116916020013516610706565b6101e0600480360360208110156104f357600080fd5b50356001600160a01b0316610d4a565b6035805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105895780601f1061055e57610100808354040283529160200191610589565b820191906000526020600020905b81548152906001019060200180831161056c57829003601f168201915b505050505081565b6040805162461bcd60e51b81526020600482015260166024820152751054141493d5905317d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b60345481565b6040805162461bcd60e51b81526020600482015260166024820152751514905394d1915497d393d517d4d5541413d495115160521b6044820152905160009181900360640190fd5b6000610631610d65565b60015490915060ff16806106485750610648610d6b565b80610654575060005481115b61068f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611227602e913960400191505060405180910390fd5b60015460ff161580156106ae576001805460ff19168117905560008290555b83516106c190603590602087019061116d565b5082516106d590603690602086019061116d565b506037805460ff191660ff871617905580156106f6576001805460ff191690555b5050505050565b60375460ff1681565b6040805162461bcd60e51b815260206004820152601760248201527f414c4c4f57414e43455f4e4f545f535550504f525445440000000000000000006044820152905160009181900360640190fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107bc5760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b60008060006107ca85610d71565b919450925090506107ea856107e5868463ffffffff610de116565b610e44565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088057600080fd5b505afa158015610894573d6000803e3d6000fd5b505050506040513d60208110156108aa57600080fd5b50516001600160a01b03861660008181526039602090815260409182902084905581519283528201879052818101869052606082018590526080820184905260a082019290925290517f94ba3ac5ed6fee7b49ed817c5ee964eed9bd5da6860344f95fc56997e920381d9181900360c00190a15050505050565b6001600160a01b03811660009081526038602052604081205461094957506000610a7c565b610a79610a7460396000856001600160a01b03166001600160a01b0316815260200190815260200160002054610a687f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610a0e57600080fd5b505afa158015610a22573d6000803e3d6000fd5b505050506040513d6020811015610a3857600080fd5b50516001600160a01b038716600090815260386020526040902054610a5c90610ea3565b9063ffffffff610eb916565b9063ffffffff610efd16565b610f35565b90505b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6036805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105895780601f1061055e57610100808354040283529160200191610589565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b675760405162461bcd60e51b81526004018080602001828103825260328152602001806112556032913960400191505060405180910390fd5b6000806000610b7585610d71565b92509250925083811115610b9c57610b97856107e5838763ffffffff610f5516565b610bb5565b610bb585610bb0868463ffffffff610f5516565b610f97565b83821415610bdb576001600160a01b038516600090815260396020526040812055610cb7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663386497fd7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610c7157600080fd5b505afa158015610c85573d6000803e3d6000fd5b505050506040513d6020811015610c9b57600080fd5b50516001600160a01b0386166000908152603960205260409020555b6001600160a01b038516600081815260396020908152604091829020548251938452908301879052828201869052606083018590526080830184905260a0830152517fc57f977ee00c44453a91f798753002bf12fca5f5ca2ee8db560720f51d4b0f629181900360c00190a15050505050565b600181565b6001600160a01b031660009081526038602052604090205490565b6001600160a01b031660009081526039602052604090205490565b60015b90565b303b1590565b6001600160a01b0381166000908152603860205260408120548190819080610da3575060009250829150819050610dda565b6000610dbe82610db288610924565b9063ffffffff610f5516565b905081610dd1818363ffffffff610de116565b90955093509150505b9193909250565b600082820183811015610e3b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b603454610e57908263ffffffff610de116565b6034556001600160a01b038216600090815260386020526040902054610e83908263ffffffff610de116565b6001600160a01b0390921660009081526038602052604090209190915550565b6000610a7982633b9aca0063ffffffff610fd616565b6000610e3b6b033b2e3c9fd0803ce8000000610ef1610ede868663ffffffff610fd616565b6b019d971e4fe8401e7400000090610de1565b9063ffffffff61102f16565b600060028204610f2d83610ef1610f20876b033b2e3c9fd0803ce8000000610fd6565b849063ffffffff610de116565b949350505050565b6000631dcd6500610f4e633b9aca00610ef18386610de1565b9392505050565b6000610e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611071565b603454610faa908263ffffffff610f5516565b6034556001600160a01b038216600090815260386020526040902054610e83908263ffffffff610f5516565b600082610fe557506000610e3e565b82820282848281610ff257fe5b0414610e3b5760405162461bcd60e51b81526004018080602001828103825260218152602001806112066021913960400191505060405180910390fd5b6000610e3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611108565b600081848411156111005760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110c55781810151838201526020016110ad565b50505050905090810190601f1680156110f25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836111575760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156110c55781810151838201526020016110ad565b50600083858161116357fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ae57805160ff19168380011785556111db565b828001600101855582156111db579182015b828111156111db5782518255916020019190600101906111c0565b506111e79291506111eb565b5090565b610d6891905b808211156111e757600081556001016111f156fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645468652063616c6c6572206f6620746869732066756e6374696f6e206d7573742062652061206c656e64696e6720706f6f6ca26469706673582212209b025ae3240706a18ce1151e902f76bcbe7cb4433504db56ada03e6d653f0dde64736f6c63430006080033"; diff --git a/types/WalletBalanceProviderFactory.ts b/types/WalletBalanceProviderFactory.ts index 2edc5791..529ce25a 100644 --- a/types/WalletBalanceProviderFactory.ts +++ b/types/WalletBalanceProviderFactory.ts @@ -134,4 +134,4 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b506040516108bc3803806108bc8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610857806100656000396000f3fe6080604052600436106100385760003560e01c80639e3c930914610083578063b59b28ef1461014f578063f7888aec146102d35761007e565b3661007e5761004633610320565b61007c576040805162461bcd60e51b8152602060048201526002602482015261191960f11b604482015290519081900360640190fd5b005b600080fd5b34801561008f57600080fd5b506100b6600480360360208110156100a657600080fd5b50356001600160a01b031661035c565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100fa5781810151838201526020016100e2565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610139578181015183820152602001610121565b5050505090500194505050505060405180910390f35b34801561015b57600080fd5b506102836004803603604081101561017257600080fd5b81019060208101813564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460208302840111640100000000831117156101c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561021157600080fd5b82018360208201111561022357600080fd5b8035906020019184602083028401116401000000008311171561024557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061064d945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102bf5781810151838201526020016102a7565b505050509050019250505060405180910390f35b3480156102df57600080fd5b5061030e600480360360408110156102f657600080fd5b506001600160a01b0381358116916020013516610777565b60408051918252519081900360200190f35b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061035457508115155b949350505050565b60608060008060009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103ae57600080fd5b505afa1580156103c2573d6000803e3d6000fd5b505050506040513d60208110156103d857600080fd5b505160408051630240bc6b60e21b815290519192506060916001600160a01b03841691630902f1ac916004808301926000929190829003018186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561045d57600080fd5b810190808051604051939291908464010000000082111561047d57600080fd5b90830190602082018581111561049257600080fd5b82518660208202830111640100000000821117156104af57600080fd5b82525081516020918201928201910280838360005b838110156104dc5781810151838201526020016104c4565b5050505090500160405250505090506060815167ffffffffffffffff8111801561050557600080fd5b5060405190808252806020026020018201604052801561052f578160200160208202803683370190505b50905060005b8251811015610641576000846001600160a01b0316633e15014185848151811061055b57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b031681526020019150506101406040518083038186803b1580156105aa57600080fd5b505afa1580156105be573d6000803e3d6000fd5b505050506040513d6101408110156105d557600080fd5b5061010001519050806106025760008383815181106105f057fe5b60200260200101818152505050610639565b61061f8885848151811061061257fe5b6020026020010151610777565b83838151811061062b57fe5b602002602001018181525050505b600101610535565b50909350915050915091565b606080825184510267ffffffffffffffff8111801561066b57600080fd5b50604051908082528060200260200182016040528015610695578160200160208202803683370190505b50905060005b845181101561076d5760005b84518110156107645760008551830290506106dd8683815181106106c757fe5b60200260200101516001600160a01b0316610320565b61071e576040805162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22faa27a5a2a760991b604482015290519081900360640190fd5b61074187848151811061072d57fe5b602002602001015187848151811061061257fe5b848383018151811061074f57fe5b602002602001018181525050506001016106a7565b5060010161069b565b5090505b92915050565b600061078b826001600160a01b0316610320565b1561081957816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156107e657600080fd5b505afa1580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b50519050610771565b50600061077156fea26469706673582212200c49fc45bf8d6aedaf3cd09ab09eb29f7e718ec1bbd6342feaa0ae4422f04e7464736f6c63430006080033"; + "0x608060405234801561001057600080fd5b506040516108bc3803806108bc8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610857806100656000396000f3fe6080604052600436106100385760003560e01c80639e3c930914610083578063b59b28ef1461014f578063f7888aec146102d35761007e565b3661007e5761004633610320565b61007c576040805162461bcd60e51b8152602060048201526002602482015261191960f11b604482015290519081900360640190fd5b005b600080fd5b34801561008f57600080fd5b506100b6600480360360208110156100a657600080fd5b50356001600160a01b031661035c565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100fa5781810151838201526020016100e2565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610139578181015183820152602001610121565b5050505090500194505050505060405180910390f35b34801561015b57600080fd5b506102836004803603604081101561017257600080fd5b81019060208101813564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460208302840111640100000000831117156101c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561021157600080fd5b82018360208201111561022357600080fd5b8035906020019184602083028401116401000000008311171561024557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061064d945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102bf5781810151838201526020016102a7565b505050509050019250505060405180910390f35b3480156102df57600080fd5b5061030e600480360360408110156102f657600080fd5b506001600160a01b0381358116916020013516610777565b60408051918252519081900360200190f35b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061035457508115155b949350505050565b60608060008060009054906101000a90046001600160a01b03166001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103ae57600080fd5b505afa1580156103c2573d6000803e3d6000fd5b505050506040513d60208110156103d857600080fd5b505160408051630240bc6b60e21b815290519192506060916001600160a01b03841691630902f1ac916004808301926000929190829003018186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561045d57600080fd5b810190808051604051939291908464010000000082111561047d57600080fd5b90830190602082018581111561049257600080fd5b82518660208202830111640100000000821117156104af57600080fd5b82525081516020918201928201910280838360005b838110156104dc5781810151838201526020016104c4565b5050505090500160405250505090506060815167ffffffffffffffff8111801561050557600080fd5b5060405190808252806020026020018201604052801561052f578160200160208202803683370190505b50905060005b8251811015610641576000846001600160a01b0316633e15014185848151811061055b57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b031681526020019150506101406040518083038186803b1580156105aa57600080fd5b505afa1580156105be573d6000803e3d6000fd5b505050506040513d6101408110156105d557600080fd5b5061010001519050806106025760008383815181106105f057fe5b60200260200101818152505050610639565b61061f8885848151811061061257fe5b6020026020010151610777565b83838151811061062b57fe5b602002602001018181525050505b600101610535565b50909350915050915091565b606080825184510267ffffffffffffffff8111801561066b57600080fd5b50604051908082528060200260200182016040528015610695578160200160208202803683370190505b50905060005b845181101561076d5760005b84518110156107645760008551830290506106dd8683815181106106c757fe5b60200260200101516001600160a01b0316610320565b61071e576040805162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22faa27a5a2a760991b604482015290519081900360640190fd5b61074187848151811061072d57fe5b602002602001015187848151811061061257fe5b848383018151811061074f57fe5b602002602001018181525050506001016106a7565b5060010161069b565b5090505b92915050565b600061078b826001600160a01b0316610320565b1561081957816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156107e657600080fd5b505afa1580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b50519050610771565b50600061077156fea264697066735822122034fc927b8c23c0caa3ecab84fba4ad99d8060c0991fa524bf75ee93544a094eb64736f6c63430006080033";