0 txs
18 calls
constructor
No constructor.
functions
getNftIdsStaked
viewfunction getNftIdsStaked(address _user) view returns (uint256[] nftIds)
getRewardRatePerSecond
viewfunction getRewardRatePerSecond(address _baseToken) view returns (uint256)
getStakedNftIndex
viewfunction getStakedNftIndex(address _staker, uint256 _nftId) view returns (uint256)
getUpdatedAccTokenPerShare
viewfunction getUpdatedAccTokenPerShare(address _baseToken) view returns (uint256)
isPauser
viewfunction isPauser(address pauser) view returns (bool)
isTrustedForwarder
viewfunction isTrustedForwarder(address forwarder) view returns (bool)
liquidityProviders
viewfunction liquidityProviders() view returns (address)
lpToken
viewfunction lpToken() view returns (address)
nftIdsStaked
viewfunction nftIdsStaked(address, uint256) view returns (uint256)
nftInfo
viewfunction nftInfo(uint256) view returns (address staker, uint256 rewardDebt, uint256 unpaidRewards, bool isStaked)
onERC721Received
purefunction onERC721Received(address, address, uint256, bytes) pure returns (bytes4)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingToken
viewfunction pendingToken(uint256 _nftId) view returns (uint256)
poolInfo
viewfunction poolInfo(address) view returns (uint256 accTokenPerShare, uint256 lastRewardTime)
rewardRateLog
viewfunction rewardRateLog(address, uint256) view returns (uint256 rewardsPerSecond, uint256 timestamp)
rewardTokens
viewfunction rewardTokens(address) view returns (address)
totalSharesStaked
viewfunction totalSharesStaked(address) view returns (uint256)
changePauser
nonpayablefunction changePauser(address newPauser)
deposit
nonpayablefunction deposit(uint256 _nftId, address _to)
extractRewards
nonpayablefunction extractRewards(uint256 _nftId, address _to)
initalizeRewardPool
nonpayablefunction initalizeRewardPool(address _baseToken, address _rewardToken, uint256 _rewardPerSecond)
initialize
nonpayablefunction initialize(address _trustedForwarder, address _pauser, address _liquidityProviders, address _lpToken)
pause
nonpayablefunction pause()
reclaimTokens
nonpayablefunction reclaimTokens(address _token, uint256 _amount, address _to)
renounceOwnership
nonpayablefunction renounceOwnership()
renouncePauser
nonpayablefunction renouncePauser()
setRewardPerSecond
nonpayablefunction setRewardPerSecond(address _baseToken, uint256 _rewardPerSecond)
setTrustedForwarder
nonpayablefunction setTrustedForwarder(address _tf)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateLiquidityProvider
nonpayablefunction updateLiquidityProvider(address _liquidityProviders)
updatePool
nonpayablefunction updatePool(address _baseToken) returns (tuple pool)
withdraw
nonpayablefunction withdraw(uint256 _nftId, address _to)
withdrawV2
nonpayablefunction withdrawV2(uint256 _nftId, address _to, uint256 _index)
events
LiquidityProviderUpdated
event LiquidityProviderUpdated(address indexed liquidityProviders)
LogDeposit
event LogDeposit(address indexed user, address indexed baseToken, uint256 nftId)
LogNativeReceived
event LogNativeReceived(address indexed sender, uint256 value)
LogOnReward
event LogOnReward(address indexed user, address indexed baseToken, uint256 amount, address indexed to)
LogRewardPerSecond
event LogRewardPerSecond(address indexed baseToken, uint256 rewardPerSecond)
LogRewardPoolInitialized
event LogRewardPoolInitialized(address _baseToken, address _rewardToken, uint256 _rewardPerSecond)
LogUpdatePool
event LogUpdatePool(address indexed baseToken, uint256 lastRewardTime, uint256 lpSupply, uint256 accToken1PerShare)
LogWithdraw
event LogWithdraw(address indexed user, address baseToken, uint256 nftId, address indexed to)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PauserChanged
event PauserChanged(address indexed previousPauser, address indexed newPauser)
TrustedForwarderChanged
event TrustedForwarderChanged(address indexed _tf)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506139f6806100206000396000f3fe6080604052600436106102075760003560e01c8063715018a611610118578063c82b882c116100a0578063ddc645981161006f578063ddc645981461063a578063ea1503521461065a578063f2fde38b1461067a578063f5ab16cc1461069a578063f8c8765e146106ba57610256565b8063c82b882c146105ad578063cd5c645c146105cd578063ce8efa0e146105ed578063da7422281461061a57610256565b8063964efe81116100e7578063964efe81146105185780639673d01b146105385780639a7b5f1114610558578063a2419a6b14610578578063c1ea38681461058d57610256565b8063715018a6146104ac5780637b46c54f146104c15780638456cb59146104ee5780638da5cb5b1461050357610256565b80633f4ba83a1161019b5780635c975abb1161016a5780635c975abb146104205780635fcbd285146104355780636b5399b8146104575780636e553f65146104775780636ef8d66d1461049757610256565b80633f4ba83a1461039e57806346cf889c146103b357806346fbf68e146103d3578063572b6c051461040057610256565b80631f8bc790116101d75780631f8bc7901461030157806322b5c821146103315780632a55b2f8146103515780632cd271e71461037e57610256565b8062f714ce1461025b578063150b7a021461027d57806318a1f564146102b357806319c78b43146102d357610256565b36610256576102146106da565b6001600160a01b03167fdc5856b3d7b3107afc1a59863f377452f210536a45526c9b4ea9c9b02980e6d63460405161024c91906138b3565b60405180910390a2005b600080fd5b34801561026757600080fd5b5061027b61027636600461315f565b6106ea565b005b34801561028957600080fd5b5061029d610298366004612fd3565b61076a565b6040516102aa91906132b2565b60405180910390f35b3480156102bf57600080fd5b5061027b6102ce366004612f93565b610794565b3480156102df57600080fd5b506102f36102ee36600461306d565b610903565b6040516102aa9291906138bc565b34801561030d57600080fd5b5061032161031c36600461312f565b610940565b6040516102aa94939291906131e4565b34801561033d57600080fd5b5061027b61034c36600461306d565b610976565b34801561035d57600080fd5b5061037161036c36600461306d565b610a6f565b6040516102aa91906138b3565b34801561038a57600080fd5b5061027b610399366004612f00565b610b0f565b3480156103aa57600080fd5b5061027b610b65565b3480156103bf57600080fd5b506103716103ce366004612f00565b610b94565b3480156103df57600080fd5b506103f36103ee366004612f00565b610d64565b6040516102aa91906132a7565b34801561040c57600080fd5b506103f361041b366004612f00565b610d78565b34801561042c57600080fd5b506103f3610d8c565b34801561044157600080fd5b5061044a610d95565b6040516102aa91906131d0565b34801561046357600080fd5b50610371610472366004612f00565b610da4565b34801561048357600080fd5b5061027b61049236600461315f565b610db7565b3480156104a357600080fd5b5061027b61128d565b3480156104b857600080fd5b5061027b611321565b3480156104cd57600080fd5b506104e16104dc366004612f00565b61136a565b6040516102aa919061389c565b3480156104fa57600080fd5b5061027b61145f565b34801561050f57600080fd5b5061044a61148c565b34801561052457600080fd5b50610371610533366004612f00565b61149b565b34801561054457600080fd5b5061037161055336600461312f565b6114f9565b34801561056457600080fd5b506102f3610573366004612f00565b6116e4565b34801561058457600080fd5b5061044a6116fd565b34801561059957600080fd5b5061027b6105a8366004613098565b61170c565b3480156105b957600080fd5b506103716105c836600461306d565b61184e565b3480156105d957600080fd5b5061027b6105e8366004612f00565b611880565b3480156105f957600080fd5b5061060d610608366004612f00565b611935565b6040516102aa9190613263565b34801561062657600080fd5b5061027b610635366004612f00565b6119a2565b34801561064657600080fd5b5061027b61065536600461315f565b6119ea565b34801561066657600080fd5b5061027b61067536600461318e565b611a8b565b34801561068657600080fd5b5061027b610695366004612f00565b611ae3565b3480156106a657600080fd5b5061044a6106b5366004612f00565b611b51565b3480156106c657600080fd5b5061027b6106d5366004612f38565b611b6d565b60006106e4611c38565b90505b90565b6106f2610d8c565b156107185760405162461bcd60e51b815260040161070f906134c7565b60405180910390fd5b600260ca54141561073b5760405162461bcd60e51b815260040161070f906137b1565b600260ca55600061075361074d6106da565b84610a6f565b9050610760838383611c66565b5050600160ca5550565b7f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f95945050505050565b61079c6106da565b6001600160a01b03166107ad61148c565b6001600160a01b0316146107d35760405162461bcd60e51b815260040161070f90613603565b6001600160a01b0383811660009081526101006020526040902054161561080c5760405162461bcd60e51b815260040161070f90613328565b6001600160a01b0383166108325760405162461bcd60e51b815260040161070f90613730565b6001600160a01b0382166108585760405162461bcd60e51b815260040161070f906134f1565b6001600160a01b0383811660009081526101006020908152604080832080546001600160a01b03191694871694909417909355610103815282822083518085018552858152428184019081528254600181810185559386529390942090516002909302019182559151910155517f7c250d928c82e44e43a3f894c7ea93f9be918af0d8f6b945fdcce8445bfb4522906108f690859085908590613226565b60405180910390a1505050565b610103602052816000526040600020818154811061092057600080fd5b600091825260209091206002909102018054600190910154909250905082565b60ff6020819052600091825260409091208054600182015460028301546003909301546001600160a01b03909216939092911684565b61097e6106da565b6001600160a01b031661098f61148c565b6001600160a01b0316146109b55760405162461bcd60e51b815260040161070f90613603565b701d6329f1c35ca4bfabb9f56100000000008111156109e65760405162461bcd60e51b815260040161070f90613396565b6001600160a01b038216600081815261010360209081526040808320815180830183528681524281850190815282546001818101855593875294909520905160029094020192835592519190920155517f4c0d746c25d43d18da7b1762d9676c9256f91be526076a4e67d37a24624adcef90610a639084906138b3565b60405180910390a25050565b6001600160a01b03821660009081526101016020526040812054815b81811015610af1576001600160a01b038516600090815261010160205260409020805485919083908110610acf57634e487b7160e01b600052603260045260246000fd5b90600052602060002001541415610ae9579150610b099050565b600101610a8b565b60405162461bcd60e51b815260040161070f9061386f565b92915050565b610b1833610d64565b610b345760405162461bcd60e51b815260040161070f9061381f565b610b3c610d8c565b15610b595760405162461bcd60e51b815260040161070f906134c7565b610b6281612065565b50565b610b6e33610d64565b610b8a5760405162461bcd60e51b815260040161070f9061381f565b610b926120d4565b565b6001600160a01b038116600090815260fe602090815260408083206001908101546101039093529083205483929142918491610bcf91613937565b90505b818310610bde57610cff565b6001600160a01b0386166000908152610103602052604090208054610c3491859184908110610c1d57634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160010154612142565b6001600160a01b03871660009081526101036020526040902080549184039183908110610c7157634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016000015402840193506101036000876001600160a01b03166001600160a01b031681526020019081526020016000208181548110610ccd57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016001015491508060001415610cef57610cff565b610cf88161397e565b9050610bd2565b6001600160a01b03861660009081526101026020526040902054610d2864e8d4a5100086613918565b610d3291906138f8565b6001600160a01b038716600090815260fe6020526040902054909450610d5890856138e0565b9450505050505b919050565b60c9546001600160a01b0390811691161490565b6033546001600160a01b0390811691161490565b60975460ff1690565b60fc546001600160a01b031681565b6101026020526000908152604090205481565b610dbf610d8c565b15610ddc5760405162461bcd60e51b815260040161070f906134c7565b600260ca541415610dff5760405162461bcd60e51b815260040161070f906137b1565b600260ca556000610e0e6106da565b90506001600160a01b038216610e365760405162461bcd60e51b815260040161070f906135a3565b60fc5460405163e985e9c560e01b81526001600160a01b039091169063e985e9c590610e68908490309060040161320c565b60206040518083038186803b158015610e8057600080fd5b505afa158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb8919061310f565b80610f49575060fc5460405163020604bf60e21b815230916001600160a01b03169063081812fc90610eee9087906004016138b3565b60206040518083038186803b158015610f0657600080fd5b505afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e9190612f1c565b6001600160a01b0316145b610f655760405162461bcd60e51b815260040161070f90613705565b600083815260ff60208190526040909120600381015490911615610f9b5760405162461bcd60e51b815260040161070f906135cc565b60fc54604051630348a6db60e51b815260009182916001600160a01b0390911690636914db6090610fd09089906004016138b3565b60606040518083038186803b158015610fe857600080fd5b505afa158015610ffc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102091906130d9565b60fd5460408051630fb5dc4560e21b815290519496509194506001600160a01b031692633ed7711492506004808301926020929190829003018186803b15801561106957600080fd5b505afa15801561107d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a19190613147565b6110ab90826138f8565b6001600160a01b0383811660009081526101006020526040902054919250166110e65760405162461bcd60e51b815260040161070f9061366f565b6001600160a01b0382166000908152610103602052604090205461111c5760405162461bcd60e51b815260040161070f9061366f565b60fc54604051632142170760e11b81526001600160a01b03909116906342842e0e9061115090879030908b90600401613226565b600060405180830381600087803b15801561116a57600080fd5b505af115801561117e573d6000803e3d6000fd5b50505050600061118d8361136a565b60038501805460ff1916600117905584546001600160a01b0388166001600160a01b0319909116178555805190915064e8d4a51000906111cd9084613918565b6111d791906138f8565b6001808601919091556001600160a01b038088166000908152610101602090815260408083208054958601815583528183209094018b90559186168152610102909152908120805484929061122d9084906138e0565b92505081905550826001600160a01b0316856001600160a01b03167f5c8d1f77b6233deba47b516a690497af4c7f1be42a768e331832cb02b3400d6b8960405161127791906138b3565b60405180910390a35050600160ca555050505050565b61129633610d64565b6112b25760405162461bcd60e51b815260040161070f9061381f565b6112ba610d8c565b156112d75760405162461bcd60e51b815260040161070f906134c7565b60c9546040516000916001600160a01b0316907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a811908390a360c980546001600160a01b0319169055565b6113296106da565b6001600160a01b031661133a61148c565b6001600160a01b0316146113605760405162461bcd60e51b815260040161070f90613603565b610b92600061215b565b611372612ee6565b61137a610d8c565b156113975760405162461bcd60e51b815260040161070f906134c7565b506001600160a01b038116600081815260fe60209081526040808320815180830183528154815260019091015481840152938352610102909152902054156113e5576113e282610b94565b81525b4260208083019182526001600160a01b038416600081815260fe835260408082208651815594516001909501859055610102909352829020548451925191937ffa4534c55db3b65cd96eafe03e5ce9fd87638590f49d5907978ff8489ea66ecb93611452939192916138ca565b60405180910390a2919050565b61146833610d64565b6114845760405162461bcd60e51b815260040161070f9061381f565b610b926121ad565b6065546001600160a01b031690565b6001600160a01b03811660009081526101036020526040812080546114c290600190613937565b815481106114e057634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600001549050919050565b600081815260ff602081905260408220600381015490911661151f576000915050610d5f565b60fc54604051630348a6db60e51b815260009182916001600160a01b0390911690636914db60906115549088906004016138b3565b60606040518083038186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a491906130d9565b60fd5460408051630fb5dc4560e21b815290519496509194506001600160a01b031692633ed7711492506004808301926020929190829003018186803b1580156115ed57600080fd5b505afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116259190613147565b61162f90826138f8565b6001600160a01b038316600090815260fe6020908152604091829020825180840190935280548084526001909101549183018290529293509091904211801561169057506001600160a01b0384166000908152610102602052604090205415155b156116a15761169e84610b94565b90505b6002850154600186015464e8d4a510006116bb8487613918565b6116c591906138f8565b6116cf9190613937565b6116d991906138e0565b979650505050505050565b60fe602052600090815260409020805460019091015482565b60fd546001600160a01b031681565b6117146106da565b6001600160a01b031661172561148c565b6001600160a01b03161461174b5760405162461bcd60e51b815260040161070f90613603565b6001600160a01b0381166117715760405162461bcd60e51b815260040161070f906135a3565b8161178e5760405162461bcd60e51b815260040161070f90613528565b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611835576000816001600160a01b0316836040516117cc906106e7565b60006040518083038185875af1925050503d8060008114611809576040519150601f19603f3d011682016040523d82523d6000602084013e61180e565b606091505b505090508061182f5760405162461bcd60e51b815260040161070f9061335f565b50611849565b6118496001600160a01b0384168284612208565b505050565b610101602052816000526040600020818154811061186b57600080fd5b90600052602060002001600091509150505481565b6118886106da565b6001600160a01b031661189961148c565b6001600160a01b0316146118bf5760405162461bcd60e51b815260040161070f90613603565b6001600160a01b0381166118e55760405162461bcd60e51b815260040161070f906137e8565b60fd80546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fc4c228afa62bc2b81cbfa4764a417d7a0cb5267d32f5e3e34b34e35f44aa1ff390600090a250565b6001600160a01b0381166000908152610101602090815260409182902080548351818402810184019094528084526060939283018282801561199657602002820191906000526020600020905b815481526020019060010190808311611982575b50505050509050919050565b6119aa6106da565b6001600160a01b03166119bb61148c565b6001600160a01b0316146119e15760405162461bcd60e51b815260040161070f90613603565b610b628161225e565b6119f2610d8c565b15611a0f5760405162461bcd60e51b815260040161070f906134c7565b600260ca541415611a325760405162461bcd60e51b815260040161070f906137b1565b600260ca55611a3f6106da565b600083815260ff60205260409020546001600160a01b03908116911614611a785760405162461bcd60e51b815260040161070f906136a6565b611a8282826122ce565b5050600160ca55565b611a93610d8c565b15611ab05760405162461bcd60e51b815260040161070f906134c7565b600260ca541415611ad35760405162461bcd60e51b815260040161070f906137b1565b600260ca55610760838383611c66565b611aeb6106da565b6001600160a01b0316611afc61148c565b6001600160a01b031614611b225760405162461bcd60e51b815260040161070f90613603565b6001600160a01b038116611b485760405162461bcd60e51b815260040161070f906133cd565b610b628161215b565b610100602052600090815260409020546001600160a01b031681565b600054610100900460ff1680611b86575060005460ff16155b611ba25760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015611bcd576000805460ff1961ff0019909116610100171660011790555b611bd685612719565b611bde6127a0565b611be784612824565b611bef6128e2565b60fd80546001600160a01b038086166001600160a01b03199283161790925560fc8054928516929091169190911790558015611c31576000805461ff00191690555b5050505050565b6000611c4333610d78565b15611c57575060131936013560601c6106e7565b611c5f61294a565b90506106e7565b6000611c706106da565b6001600160a01b0381166000908152610101602052604090208054919250859184908110611cae57634e487b7160e01b600052603260045260246000fd5b906000526020600020015414611cd65760405162461bcd60e51b815260040161070f906136a6565b600084815260ff60205260409020546001600160a01b03828116911614611d0f5760405162461bcd60e51b815260040161070f906136a6565b600084815260ff602052604090206002015415611d3e5760405162461bcd60e51b815260040161070f90613413565b6001600160a01b0381166000908152610101602052604090208054611d6590600190613937565b81548110611d8357634e487b7160e01b600052603260045260246000fd5b90600052602060002001546101016000836001600160a01b03166001600160a01b031681526020019081526020016000208381548110611dd357634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101929092556001600160a01b038316815261010190915260409020805480611e1757634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002001600090559055611e3784846122ce565b600084815260ff602052604080822080546001600160a01b03191681556001810183905560028101839055600301805460ff1916905560fc549051630348a6db60e51b815282916001600160a01b031690636914db6090611e9c9089906004016138b3565b60606040518083038186803b158015611eb457600080fd5b505afa158015611ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eec91906130d9565b60fd5460408051630fb5dc4560e21b815290519496509194506001600160a01b031692633ed7711492506004808301926020929190829003018186803b158015611f3557600080fd5b505afa158015611f49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6d9190613147565b611f7790826138f8565b6001600160a01b03831660009081526101026020526040812080549293508392909190611fa5908490613937565b909155505060fc54604051632142170760e11b81526001600160a01b03909116906342842e0e90611fde90309087908b90600401613226565b600060405180830381600087803b158015611ff857600080fd5b505af115801561200c573d6000803e3d6000fd5b50505050846001600160a01b0316836001600160a01b03167f48ce91f1a4c01bb1d97a89b885877d2c4654fd733041b4ea000924fb306a8038848960405161205592919061324a565b60405180910390a3505050505050565b6001600160a01b03811661207857600080fd5b60c9546040516001600160a01b038084169216907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a81190600090a360c980546001600160a01b0319166001600160a01b0392909216919091179055565b6120dc610d8c565b6120f85760405162461bcd60e51b815260040161070f906132fa565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61212b6106da565b60405161213891906131d0565b60405180910390a1565b6000818310156121525781612154565b825b9392505050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6121b5610d8c565b156121d25760405162461bcd60e51b815260040161070f906134c7565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861212b6106da565b6118498363a9059cbb60e01b848460405160240161222792919061324a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261294e565b6001600160a01b0381166122845760405162461bcd60e51b815260040161070f9061344a565b603380546001600160a01b0319166001600160a01b0383169081179091556040517f871264f4293af7d2865ae7eae628b228f4991c57cb45b39c99f0b774ebe2901890600090a250565b600082815260ff6020819052604090912060038101549091166123035760405162461bcd60e51b815260040161070f9061386f565b60fc54604051630348a6db60e51b815260009182916001600160a01b0390911690636914db60906123389088906004016138b3565b60606040518083038186803b15801561235057600080fd5b505afa158015612364573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238891906130d9565b60fd5460408051630fb5dc4560e21b815290519496509194506001600160a01b031692633ed7711492506004808301926020929190829003018186803b1580156123d157600080fd5b505afa1580156123e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124099190613147565b61241390826138f8565b905060006124208361136a565b905060008083156126975760028601546001870154845164e8d4a51000906124489088613918565b61245291906138f8565b61245c9190613937565b61246691906138e0565b6001600160a01b03868116600090815261010060205260409020549193501673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156125ca5747808311156125395780830387600201819055506000886001600160a01b0316826040516124cd906106e7565b60006040518083038185875af1925050503d806000811461250a576040519150601f19603f3d011682016040523d82523d6000602084013e61250f565b606091505b50509050806125305760405162461bcd60e51b815260040161070f9061335f565b819250506125c4565b600087600201819055506000886001600160a01b03168460405161255c906106e7565b60006040518083038185875af1925050503d8060008114612599576040519150601f19603f3d011682016040523d82523d6000602084013e61259e565b606091505b50509050806125bf5760405162461bcd60e51b815260040161070f9061335f565b839250505b50612697565b6001600160a01b03808616600090815261010060205260408082205490516370a0823160e01b815292169182906370a082319061260b9030906004016131d0565b60206040518083038186803b15801561262357600080fd5b505afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190613147565b90508084111561267f57808403600289015561267882828b6129dd565b9250612694565b6000600289015561269182858b6129dd565b92505b50505b825164e8d4a51000906126aa9086613918565b6126b491906138f8565b60018701556001600160a01b038088169086166126cf6106da565b6001600160a01b03167f9a10eacd1c879d4cddc2387cfbc23057de5f4d554a91e9eb7e07c66ead11c9df8460405161270791906138b3565b60405180910390a45050505050505050565b600054610100900460ff1680612732575060005460ff16155b61274e5760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612779576000805460ff1961ff0019909116610100171660011790555b612781612b01565b61278a82612b74565b801561279c576000805461ff00191690555b5050565b600054610100900460ff16806127b9575060005460ff16155b6127d55760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612800576000805460ff1961ff0019909116610100171660011790555b612808612b01565b612810612c04565b8015610b62576000805461ff001916905550565b600054610100900460ff168061283d575060005460ff16155b6128595760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612884576000805460ff1961ff0019909116610100171660011790555b6001600160a01b0382166128aa5760405162461bcd60e51b815260040161070f90613638565b6128b2612c74565b60c980546001600160a01b0319166001600160a01b038416179055801561279c576000805461ff00191690555050565b600054610100900460ff16806128fb575060005460ff16155b6129175760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612942576000805460ff1961ff0019909116610100171660011790555b612810612ce4565b3390565b60006129a3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612d5d9092919063ffffffff16565b80519091501561184957808060200190518101906129c1919061310f565b6118495760405162461bcd60e51b815260040161070f90613767565b600080846001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401612a0c91906131d0565b60206040518083038186803b158015612a2457600080fd5b505afa158015612a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5c9190613147565b9050612a726001600160a01b0386168486612208565b6040516370a0823160e01b81526001600160a01b038616906370a0823190612a9e9030906004016131d0565b60206040518083038186803b158015612ab657600080fd5b505afa158015612aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aee9190613147565b612af89082613937565b95945050505050565b600054610100900460ff1680612b1a575060005460ff16155b612b365760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612810576000805460ff1961ff0019909116610100171660011790558015610b62576000805461ff001916905550565b600054610100900460ff1680612b8d575060005460ff16155b612ba95760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612bd4576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b038416179055801561279c576000805461ff00191690555050565b600054610100900460ff1680612c1d575060005460ff16155b612c395760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612c64576000805460ff1961ff0019909116610100171660011790555b612810612c6f6106da565b61215b565b600054610100900460ff1680612c8d575060005460ff16155b612ca95760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612cd4576000805460ff1961ff0019909116610100171660011790555b612cdc612b01565b612810612d74565b600054610100900460ff1680612cfd575060005460ff16155b612d195760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612d44576000805460ff1961ff0019909116610100171660011790555b600160ca558015610b62576000805461ff001916905550565b6060612d6c8484600085612df2565b949350505050565b600054610100900460ff1680612d8d575060005460ff16155b612da95760405162461bcd60e51b815260040161070f90613555565b600054610100900460ff16158015612dd4576000805460ff1961ff0019909116610100171660011790555b6097805460ff191690558015610b62576000805461ff001916905550565b606082471015612e145760405162461bcd60e51b815260040161070f90613481565b612e1d85612ea7565b612e395760405162461bcd60e51b815260040161070f906136ce565b600080866001600160a01b03168587604051612e5591906131b4565b60006040518083038185875af1925050503d8060008114612e92576040519150601f19603f3d011682016040523d82523d6000602084013e612e97565b606091505b50915091506116d9828286612ead565b3b151590565b60608315612ebc575081612154565b825115612ecc5782518084602001fd5b8160405162461bcd60e51b815260040161070f91906132c7565b604051806040016040528060008152602001600081525090565b600060208284031215612f11578081fd5b8135612154816139ab565b600060208284031215612f2d578081fd5b8151612154816139ab565b60008060008060808587031215612f4d578283fd5b8435612f58816139ab565b93506020850135612f68816139ab565b92506040850135612f78816139ab565b91506060850135612f88816139ab565b939692955090935050565b600080600060608486031215612fa7578283fd5b8335612fb2816139ab565b92506020840135612fc2816139ab565b929592945050506040919091013590565b600080600080600060808688031215612fea578081fd5b8535612ff5816139ab565b94506020860135613005816139ab565b935060408601359250606086013567ffffffffffffffff80821115613028578283fd5b818801915088601f83011261303b578283fd5b813581811115613049578384fd5b89602082850101111561305a578384fd5b9699959850939650602001949392505050565b6000806040838503121561307f578182fd5b823561308a816139ab565b946020939093013593505050565b6000806000606084860312156130ac578283fd5b83356130b7816139ab565b92506020840135915060408401356130ce816139ab565b809150509250925092565b6000806000606084860312156130ed578283fd5b83516130f8816139ab565b602085015160409095015190969495509392505050565b600060208284031215613120578081fd5b81518015158114612154578182fd5b600060208284031215613140578081fd5b5035919050565b600060208284031215613158578081fd5b5051919050565b60008060408385031215613171578182fd5b823591506020830135613183816139ab565b809150509250929050565b6000806000606084860312156131a2578081fd5b833592506020840135612fc2816139ab565b600082516131c681846020870161394e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03949094168452602084019290925260408301521515606082015260800190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b8181101561329b5783518352928401929184019160010161327f565b50909695505050505050565b901515815260200190565b6001600160e01b031991909116815260200190565b60006020825282518060208401526132e681604085016020870161394e565b601f01601f19169190910160400192915050565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b6020808252601d908201527f4552525f5f504f4f4c5f414c52454144595f494e495449414c495a4544000000604082015260600190565b6020808252601b908201527f4552525f5f4e41544956455f5452414e534645525f4641494c45440000000000604082015260600190565b6020808252601f908201527f4552525f5f5245574152445f5045525f5345434f4e445f544f4f5f4849474800604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526019908201527f4552525f5f554e504149445f524557415244535f455849535400000000000000604082015260600190565b6020808252601b908201527f54727573746564466f727761726465722063616e277420626520300000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526018908201527f4552525f5245574152445f544f4b454e5f49535f5a45524f0000000000000000604082015260600190565b6020808252601390820152724552525f5f414d4f554e545f49535f5a45524f60681b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600f908201526e4552525f5f544f5f49535f5a45524f60881b604082015260600190565b60208082526017908201527f4552525f5f4e46545f414c52454144595f5354414b4544000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601a908201527f50617573657220416464726573732063616e6e6f742062652030000000000000604082015260600190565b60208082526019908201527f4552525f5f504f4f4c5f4e4f545f494e495449414c495a454400000000000000604082015260600190565b6020808252600e908201526d22a9292fafa727aa2fa7aba722a960911b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526011908201527011549497d7d393d517d054141493d59151607a1b604082015260600190565b60208082526017908201527f4552525f5f424153455f544f4b454e5f49535f5a45524f000000000000000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601f908201527f4552525f5f4c49515549444954595f50524f56494445525f49535f5a45524f00604082015260600190565b60208082526030908201527f4f6e6c792070617573657220697320616c6c6f77656420746f20706572666f7260408201526f36903a3434b99037b832b930ba34b7b760811b606082015260800190565b60208082526013908201527211549497d7d3919517d393d517d4d51052d151606a1b604082015260600190565b815181526020918201519181019190915260400190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b600082198211156138f3576138f3613995565b500190565b60008261391357634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561393257613932613995565b500290565b60008282101561394957613949613995565b500390565b60005b83811015613969578181015183820152602001613951565b83811115613978576000848401525b50505050565b60008161398d5761398d613995565b506000190190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610b6257600080fdfea26469706673582212201cce19402cae7aa54f66cdbbd286e062b0a2a4999011c6f34150393d634ee2ca64736f6c63430008000033