1 tx
10 calls
constructor
constructor(address _config)
functions
assimilators
viewfunction assimilators(bytes32) view returns (address)
config
viewfunction config() view returns (address)
curveFactory
viewfunction curveFactory() view returns (address)
getAssimilator
viewfunction getAssimilator(address _token, address _quote) view returns (address)
owner
viewfunction owner() view returns (address)
newAssimilator
nonpayablefunction newAssimilator(address _quote, address _oracle, address _token, uint256 _tokenDecimals) returns (address)
revokeAssimilator
nonpayablefunction revokeAssimilator(address _token, address _quote)
setCurveFactory
nonpayablefunction setCurveFactory(address _curveFactory)
events
AssimilatorRevoked
event AssimilatorRevoked(address indexed caller, bytes32 indexed id, address indexed assimilator)
CurveFactoryUpdated
event CurveFactoryUpdated(address indexed caller, address indexed curveFactory)
NewAssimilator
event NewAssimilator(address indexed caller, bytes32 indexed id, address indexed assimilator, address oracle, address token, address quote)
errors
No errors.
creation bytecode
0x6080604052348015600e575f5ffd5b50604051613388380380613388833981016040819052602b91609b565b6001600160a01b0381163b60775760405162461bcd60e51b815260206004820152600f60248201526e636f6e6669672d696e76616c69642160881b604482015260640160405180910390fd5b600280546001600160a01b0319166001600160a01b039290921691909117905560c6565b5f6020828403121560aa575f5ffd5b81516001600160a01b038116811460bf575f5ffd5b9392505050565b6132b5806100d35f395ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c8063ae6836d611610058578063ae6836d6146100e8578063b7f49a67146100fb578063d4deb6ef1461010e578063d6ff16b214610136575f5ffd5b80635cf14bc81461008957806379502c551461009e578063840d480a146100cd5780638da5cb5b146100e0575b5f5ffd5b61009c61009736600461079c565b610149565b005b6002546100b1906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100b16100db3660046107be565b610290565b6100b16102ee565b6001546100b1906001600160a01b031681565b61009c6101093660046107be565b61035e565b6100b161011c3660046107f5565b5f602081905290815260409020546001600160a01b031681565b6100b161014436600461080c565b610489565b60025f9054906101000a90046001600160a01b03166001600160a01b0316639611f3d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610199573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bd919061085a565b6001600160a01b0316336001600160a01b0316146101f65760405162461bcd60e51b81526004016101ed90610875565b60405180910390fd5b6001600160a01b0381166102455760405162461bcd60e51b815260206004820152601660248201527563757276652d666163746f72792d696e76616c69642160501b60448201526064016101ed565b600180546001600160a01b0319166001600160a01b03831690811790915560405133907f745592bfae8828fcb7e3c299eb4c60ba631f2909f77e578d4274d691c98291cb905f90a350565b5f5f83836040516020016102ba9291906001600160a01b0392831681529116602082015260400190565b60408051808303601f1901815291815281516020928301205f908152918290529020546001600160a01b0316949350505050565b60025460408051639611f3d960e01b815290515f926001600160a01b031691639611f3d99160048083019260209291908290030181865afa158015610335573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610359919061085a565b905090565b60025f9054906101000a90046001600160a01b03166001600160a01b0316639611f3d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103d2919061085a565b6001600160a01b0316336001600160a01b0316146104025760405162461bcd60e51b81526004016101ed90610875565b604080516001600160a01b038481166020808401919091528482168385015283518084038501815260609093018085528351938201939093205f8181529182905293812080546001600160a01b03198116909155909116918291849133917ff18bed8b9f807bcb996b97a9b915977d9dc0896924ff760a85450ca9bb9247d491a450505050565b6001545f906001600160a01b03163314806104bc57506104a76102ee565b6001600160a01b0316336001600160a01b0316145b6104d85760405162461bcd60e51b81526004016101ed90610875565b6001546001600160a01b03166105285760405162461bcd60e51b815260206004820152601560248201527418dd5c9d994b599858dd1bdc9e4b5b9bdd0b5cd95d605a1b60448201526064016101ed565b604080516001600160a01b0380861660208301528716918101919091525f9060600160408051601f1981840301815291815281516020928301205f818152928390529120549091506001600160a01b0316156105c65760405162461bcd60e51b815260206004820152601a60248201527f617373696d696c61746f722d616c72656164792d65786973747300000000000060448201526064016101ed565b6001546040805163f242862160e01b815290515f926001600160a01b03169163f24286219160048083019260209291908290030181865afa15801561060d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610631919061085a565b878787878a6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610671573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610695919061089b565b6040516106a190610778565b6001600160a01b0396871681529486166020860152928516604085015293166060830152608082019290925260ff90911660a082015260c001604051809103905ff0801580156106f3573d5f5f3e3d5ffd5b505f838152602081815260409182902080546001600160a01b038581166001600160a01b0319909216821790925583518b831681528a831693810193909352908b168284015291519293509091849133917f6ceadc6ec2d3ce244de4d8bbeafc02c35fc696937c765c081b3f451566dada8b9181900360600190a49695505050505050565b6129c4806108bc83390190565b6001600160a01b0381168114610799575f5ffd5b50565b5f602082840312156107ac575f5ffd5b81356107b781610785565b9392505050565b5f5f604083850312156107cf575f5ffd5b82356107da81610785565b915060208301356107ea81610785565b809150509250929050565b5f60208284031215610805575f5ffd5b5035919050565b5f5f5f5f6080858703121561081f575f5ffd5b843561082a81610785565b9350602085013561083a81610785565b9250604085013561084a81610785565b9396929550929360600135925050565b5f6020828403121561086a575f5ffd5b81516107b781610785565b6020808252600c908201526b1d5b985d5d1a1bdc9a5e995960a21b604082015260600190565b5f602082840312156108ab575f5ffd5b815160ff811681146107b7575f5ffdfe610160604052348015610010575f5ffd5b506040516129c43803806129c483398101604081905261002f916100e3565b6001600160a01b038087166101405284811660a05283811660c05260e0829052610100839052851660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015610095573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b99190610152565b60ff166101205250610179945050505050565b6001600160a01b03811681146100e0575f5ffd5b50565b5f5f5f5f5f5f60c087890312156100f8575f5ffd5b8651610103816100cc565b6020880151909650610114816100cc565b6040880151909550610125816100cc565b6060880151909450610136816100cc565b608088015160a090980151969995985093969395939492505050565b5f60208284031215610162575f5ffd5b815160ff81168114610172575f5ffd5b9392505050565b60805160a05160c05160e05161010051610120516101405161264861037c5f395f81816101d0015281816104610152610baf01525f81816103bd015281816105920152610aa801525f81816102aa015281816105df015281816106c00152818161076d01528181610b2d01528181610d0401528181610df60152818161118f0152818161130c01528181611370015281816114b5015281816117070152818161176c01528181611884015281816119320152818161197f0152611b7301525f818161040f0152818161074c01528181610b0c01528181610d2f01528181610e210152818161116e015281816112eb0152818161134f01528181611494015281816117320152818161179701528181611911015281816119aa0152611b9e01525f8181610275015281816104c60152818161050b015281816107f301528181610873015281816108b20152818161097801528181610cc001528181610d8301528181610e5f01528181610ec101528181610fca0152818161104a01528181611089015281816111cc01528181611232015281816112700152818161151101528181611591015281816115d00152818161168101528181611801015281816118e201528181611a0701528181611a8701528181611ac60152611d6d01525f818161037701526113ad01525f81816102dd0152818161062f0152610a0e01526126485ff3fe608060405260043610610147575f3560e01c8063679aefce116100b3578063e68b52e71161006d578063e68b52e7146103fe578063f09a3fc314610431578063f242862114610450578063f5e6c0ca14610483578063fa00102a146104a2578063fc0c546a146104b5575f5ffd5b8063679aefce146103335780636b677a8f146103475780637dc0d1d0146103665780637f328ecc146103995780638d288aec146103ac578063ac969a73146103df575f5ffd5b80631e9c4778116101045780631e9c4778146102545780632495a599146102675780633b97e856146102995780633de35b79146102cc578063459d5a06146102ff578063523bf25714610314575f5ffd5b8063011847a01461014b5780630271c3c81461017d57806305cf7bb414610190578063107c279f146101c2578063186e9cba146102085780631e9b2cba1461021b575b5f5ffd5b348015610156575f5ffd5b5061016a61016536600461219c565b6104e8565b6040519081526020015b60405180910390f35b61016a61018b3660046121df565b610735565b34801561019b575f5ffd5b506101af6101aa3660046121f8565b610955565b604051600f9190910b8152602001610174565b3480156101cd575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610174565b61016a61021636600461223a565b610af5565b348015610226575f5ffd5b5061023a61023536600461227e565b610cef565b60408051600f93840b81529190920b602082015201610174565b61016a6102623660046122a6565b610e5c565b348015610272575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000006101f0565b3480156102a4575f5ffd5b5061016a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102d7575f5ffd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b61031261030d3660046122fd565b611131565b005b34801561031f575f5ffd5b5061023a61032e36600461227e565b6111f9565b34801561033e575f5ffd5b5061016a6113a9565b348015610352575f5ffd5b5061016a6103613660046121df565b61147d565b348015610371575f5ffd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b61023a6103a736600461232e565b6114d9565b3480156103b7575f5ffd5b5061016a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ea575f5ffd5b506101af6103f9366004612345565b6117d3565b348015610409575f5ffd5b5061016a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561043c575f5ffd5b506101af61044b36600461227e565b6118aa565b34801561045b575f5ffd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b34801561048e575f5ffd5b506101af61049d36600461232e565b61196b565b6101af6104b036600461232e565b6119d0565b3480156104c0575f5ffd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516370a0823160e01b81526001600160a01b0383811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610550573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610574919061235e565b90505f8111610586575f91505061072d565b6105d0866105ca6105b87f00000000000000000000000000000000000000000000000000000000000000006012612389565b6105c390600a61247f565b8490611bd8565b90611bec565b90505f61069f866105ca6106057f00000000000000000000000000000000000000000000000000000000000000006012612389565b61061090600a61247f565b6040516370a0823160e01b81526001600160a01b038a811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015610675573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610699919061235e565b90611bd8565b90505f6106b3836105ca84620f4240611bd8565b90506107276107106106e67f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b6106f390620f424061248a565b61070590670de0b6b3a764000061248a565b600f88900b90611bf7565b61072283670de0b6b3a764000061248a565b611c5b565b93505050505b949350505050565b5f5f61073f6113a9565b90506107b26107106107917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612389565b61079c906012612389565b6107a790600a61247f565b600f86900b90611bf7565b91505f82116107dc5760405162461bcd60e51b81526004016107d3906124a1565b60405180910390fd5b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610840573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610864919061235e565b905061089b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086611c90565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108ff573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610923919061235e565b90505f61093083836124c7565b61093a90866124c7565b9050801561094c5761094c8582611cfb565b50505050919050565b6040516370a0823160e01b81526001600160a01b0382811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156109bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e1919061235e565b90505f81116109fb576109f35f611d95565b915050610aee565b5f610a67856105ca670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231896040518263ffffffff1660e01b815260040161065a91906001600160a01b0391909116815260200190565b90505f610a95610a83886105ca86670de0b6b3a7640000611bd8565b6105ca84670de0b6b3a7640000611bd8565b9050610ae8670de0b6b3a7640000610ace7f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610ad8848761248a565b610ae291906124ee565b90611db1565b93505050505b9392505050565b5f5f610aff6113a9565b9050610b72610710610b517f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612389565b610b5c906012612389565b610b6790600a61247f565b600f87900b90611bf7565b91505f8211610b935760405162461bcd60e51b81526004016107d3906124a1565b8215610cb357604051632e1a7d4d60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015610bf8575f5ffd5b505af1158015610c0a573d5f5f3e3d5ffd5b505050505f856001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610c57576040519150601f19603f3d011682016040523d82523d5f602084013e610c5c565b606091505b5050905080610cad5760405162461bcd60e51b815260206004820152601f60248201527f417373696d696c61746f722f5472616e7366657220455448204661696c65640060448201526064016107d3565b50610ce7565b610ce76001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168684611de6565b509392505050565b5f5f5f610cfa6113a9565b9050610d5f610d2a7f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610d557f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610ad8848861248a565b6040516370a0823160e01b81526001600160a01b0387811660048301529194505f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610dc8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dec919061235e565b9050610e51610e1c7f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610e477f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610ad8858561248a565b925050509250929050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610e9d575084610ea0565b50815b5f8111610ebf5760405162461bcd60e51b81526004016107d3906124a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610f58578781118015610f075750868111155b610f535760405162461bcd60e51b815260206004820181905260248201527f417373696d696c61746f722f4c5020526174696f20696d62616c616e6365642160448201526064016107d3565b610fb3565b8481118015610f675750838111155b610fb35760405162461bcd60e51b815260206004820181905260248201527f417373696d696c61746f722f4c5020526174696f20696d62616c616e6365642160448201526064016107d3565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611017573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103b919061235e565b90506110726001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611c90565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156110d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110fa919061235e565b90505f61110783836124c7565b61111190856124c7565b90508015611123576111238482611cfb565b505050979650505050505050565b5f61113a6113a9565b90505f83600f0b1215611153576111508361250d565b92505b5f61116682670de0b6b3a764000061248a565b6111b3610b517f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612389565b6111bd91906124ee565b90506111f36001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611de6565b50505050565b5f5f5f831161121a5760405162461bcd60e51b81526004016107d3906124a1565b5f6112236113a9565b90506112596001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168686611de6565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156112bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e1919061235e565b90506113456113307f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612389565b61133b90600a61247f565b610ae2848861248a565b9350610e516113947f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612389565b61139f90600a61247f565b610ae2848461248a565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611407573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142b919061254a565b5050509150505f8112156114785760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964207072696365206f7261636c6560601b60448201526064016107d3565b919050565b5f5f6114876113a9565b9050610aee6107106107917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612389565b5f5f5f83116114fa5760405162461bcd60e51b81526004016107d3906124a1565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561155e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611582919061235e565b90506115b96001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333087611c90565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561161d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611641919061235e565b90505f61164e83836124c7565b61165890876124c7565b9050801561166a5761166a8682611cfb565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156116ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116f2919061235e565b90505f6116fd6113a9565b905061176261172d7f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b6117587f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610ad8848661248a565b95506117c76117927f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b6117bd7f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610ad8848c61248a565b96505050505050915091565b5f5f6117dd6113a9565b6040516370a0823160e01b81526001600160a01b0385811660048301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015611846573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186a919061235e565b90505f811161187c5761072d5f611d95565b61072d610e1c7f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b5f5f82116118ca5760405162461bcd60e51b81526004016107d3906124a1565b5f6118d36113a9565b90506119096001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585611de6565b61072d6119567f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612389565b61196190600a61247f565b610ae2838661248a565b5f5f6119756113a9565b9050610aee6119a57f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610ace7f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b5f5f82116119f05760405162461bcd60e51b81526004016107d3906124a1565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611a54573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a78919061235e565b9050611aaf6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086611c90565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611b13573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b37919061235e565b90505f611b4483836124c7565b611b4e90866124c7565b90508015611b6057611b608582611cfb565b5f611b696113a9565b9050611bce611b997f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b611bc47f0000000000000000000000000000000000000000000000000000000000000000600a61247f565b610ad8848a61248a565b9695505050505050565b5f611be3828461248a565b90505b92915050565b5f611be382846124ee565b5f815f03611c0657505f611be6565b5f83600f0b1215611c15575f5ffd5b600f83900b6001600160801b038316810260401c90608084901c026001600160c01b03811115611c43575f5ffd5b60401b8119811115611c53575f5ffd5b019392505050565b5f8215611c885781611c6e6001856124c7565b611c7891906124ee565b611c83906001612389565b611be3565b505f92915050565b6040516001600160a01b03808516602483015283166044820152606481018290526111f39085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e1b565b5f8211611d1a5760405162461bcd60e51b81526004016107d3906124a1565b5f611d376001611d31856105ca86620186a0611bd8565b90611eee565b90505f611d4782620186a06124c7565b611d5484620186a061248a565b611d5e91906124ee565b90506111f36001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084611c90565b5f677fffffffffffffff821115611daa575f5ffd5b5060401b90565b5f815f03611dbd575f5ffd5b5f611dc88484611ef9565b905060016001607f1b036001600160801b0382161115611be3575f5ffd5b6040516001600160a01b038316602482015260448101829052611e1690849063a9059cbb60e01b90606401611cc4565b505050565b5f611e6f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120589092919063ffffffff16565b905080515f1480611e8f575080806020019051810190611e8f9190612598565b611e165760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107d3565b5f611be38284612389565b5f815f03611f05575f5ffd5b5f6001600160c01b038411611f2f5782604085901b81611f2757611f276124da565b049050612045565b60c084811c6401000000008110611f48576020918201911c5b620100008110611f5a576010918201911c5b6101008110611f6b576008918201911c5b60108110611f7b576004918201911c5b60048110611f8b576002918201911c5b60028110611f9a576001820191505b60bf820360018603901c6001018260ff0387901b81611fbb57611fbb6124da565b0492506001600160801b03831115611fd1575f5ffd5b608085901c83026001600160801b038616840260c088901c604089901b82811015611ffd576001820391505b608084901b92900382811015612014576001820391505b829003608084901c821461202a5761202a6125b3565b888181612039576120396124da565b04870196505050505050505b6001600160801b03811115611be3575f5ffd5b606061072d84845f85855f5f866001600160a01b0316858760405161207d91906125c7565b5f6040518083038185875af1925050503d805f81146120b7576040519150601f19603f3d011682016040523d82523d5f602084013e6120bc565b606091505b50915091506120cd878383876120d8565b979650505050505050565b606083156121465782515f0361213f576001600160a01b0385163b61213f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107d3565b508161072d565b61072d838381511561215b5781518083602001fd5b8060405162461bcd60e51b81526004016107d391906125dd565b80356001600160a01b0381168114611478575f5ffd5b8035600f81900b8114611478575f5ffd5b5f5f5f5f608085870312156121af575f5ffd5b84359350602085013592506121c660408601612175565b91506121d46060860161218b565b905092959194509250565b5f602082840312156121ef575f5ffd5b611be38261218b565b5f5f5f6060848603121561220a575f5ffd5b833592506020840135915061222160408501612175565b90509250925092565b8015158114612237575f5ffd5b50565b5f5f5f6060848603121561224c575f5ffd5b61225584612175565b92506122636020850161218b565b915060408401356122738161222a565b809150509250925092565b5f5f6040838503121561228f575f5ffd5b61229883612175565b946020939093013593505050565b5f5f5f5f5f5f5f60e0888a0312156122bc575f5ffd5b873596506020880135955060408801359450606088013593506080880135925060a088013591506122ef60c08901612175565b905092959891949750929550565b5f5f6040838503121561230e575f5ffd5b6123178361218b565b915061232560208401612175565b90509250929050565b5f6020828403121561233e575f5ffd5b5035919050565b5f60208284031215612355575f5ffd5b611be382612175565b5f6020828403121561236e575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611be657611be6612375565b6001815b60018411156123d7578085048111156123bb576123bb612375565b60018416156123c957908102905b60019390931c9280026123a0565b935093915050565b5f826123ed57506001611be6565b816123f957505f611be6565b816001811461240f576002811461241957612435565b6001915050611be6565b60ff84111561242a5761242a612375565b50506001821b611be6565b5060208310610133831016604e8410600b8410161715612458575081810a611be6565b6124645f19848461239c565b805f190482111561247757612477612375565b029392505050565b5f611be383836123df565b8082028115828204841417611be657611be6612375565b6020808252600c908201526b7a65726f20616d6f756e742160a01b604082015260600190565b81810381811115611be657611be6612375565b634e487b7160e01b5f52601260045260245ffd5b5f8261250857634e487b7160e01b5f52601260045260245ffd5b500490565b5f81600f0b60016001607f1b0319810361252957612529612375565b5f0392915050565b805169ffffffffffffffffffff81168114611478575f5ffd5b5f5f5f5f5f60a0868803121561255e575f5ffd5b61256786612531565b6020870151604088015160608901519297509095509350915061258c60808701612531565b90509295509295909350565b5f602082840312156125a8575f5ffd5b8151611be38161222a565b634e487b7160e01b5f52600160045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea2646970667358221220369650901e20a582e525bb462d4f804f6fa93c6e035767a78355ccac69942b2f64736f6c634300081b0033a264697066735822122068fb9368388c221bb25c1dc5869ff5d25ef27dfc2769627a34b245426b45641c64736f6c634300081b003300000000000000000000000090a3913ff4c5149e6c4eb808687e595f258ce499