1.2k txs
67.1k calls
constructor
constructor(address del, address cfg)
functions
account
viewfunction account() view returns (string)
accountRegistry
viewfunction accountRegistry() view returns (address)
config
viewfunction config() view returns (address)
delegator
viewfunction delegator() view returns (address)
getAccountAddress
viewfunction getAccountAddress(string name) view returns (address)
getNextVaultId
viewfunction getNextVaultId() view returns (uint256)
getNumVaults
viewfunction getNumVaults() view returns (uint256)
getVault
viewfunction getVault(uint256 vaultId) view returns (tuple res)
hasAccountPermission
viewfunction hasAccountPermission(address operator, string name) view returns (bool)
initialised
viewfunction initialised() view returns (bool)
isCheckpoint
viewfunction isCheckpoint(bytes32 hash) view returns (bool)
owner
viewfunction owner() view returns (address)
uncheckpointedHeight
viewfunction uncheckpointedHeight() view returns (uint256)
wchi
viewfunction wchi() view returns (address)
createVault
nonpayablefunction createVault(string founder, string asset, uint256 initialBalance) returns (uint256)
maybeCreateCheckpoint
nonpayablefunction maybeCreateCheckpoint()
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256 tokenId, bytes) returns (bytes4)
renounceOwnership
nonpayablefunction renounceOwnership()
sendFromVault
nonpayablefunction sendFromVault(uint256 vaultId, string recipient, uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
CheckpointCreated
event CheckpointCreated(bytes32 hash)
Initialised
event Initialised(string account)
Move
event Move(string mv)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SentFromVault
event SentFromVault(string controller, uint256 id, string recipient, string asset, uint256 amount)
VaultChanged
event VaultChanged(string controller, uint256 id, string asset, uint256 balance)
VaultCreated
event VaultCreated(string controller, uint256 id, string founder, string asset, uint256 initialBalance)
VaultEmptied
event VaultEmptied(string controller, uint256 id)
errors
No errors.
creation bytecode
0x61010060405234801561001157600080fd5b506040516133cf3803806133cf833981016040819052610030916102a7565b81806001600160a01b031660c0816001600160a01b031681525050806001600160a01b03166368cd03f66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610089573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ad91906102e1565b6001600160a01b031660a081905260408051633e538f2b60e21b8152905163f94e3cac9160048082019260209290919082900301816000875af11580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c91906102e1565b6001600160a01b03908116608081905260a05160405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af1158015610174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101989190610305565b5060805160c05160405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156101ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102139190610305565b5061021f90503361023d565b6001600160a01b031660e05250600380546001018155600052610327565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811681146102a457600080fd5b50565b600080604083850312156102ba57600080fd5b82516102c58161028f565b60208401519092506102d68161028f565b809150509250929050565b6000602082840312156102f357600080fd5b81516102fe8161028f565b9392505050565b60006020828403121561031757600080fd5b815180151581146102fe57600080fd5b60805160a05160c05160e051612fff6103d0600039600081816102960152818161087201528181610d4101528181611211015281816113c401528181611457015281816115a7015261183301526000818161033001526116d101526000818161035701528181610407015281816104b00152818161073001528181610f2901528181610ff1015281816110b9015281816111360152611cc3015260006101f20152612fff6000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806379502c55116100cd578063b5eb627a11610081578063ce9b793011610066578063ce9b79301461032b578063d089e11a14610352578063f2fde38b1461037957600080fd5b8063b5eb627a1461030f578063c564ad5b1461032257600080fd5b80639403b634116100b25780639403b634146102c957806399d12bfd146102e9578063a3b1b3a4146102fc57600080fd5b806379502c55146102915780638da5cb5b146102b857600080fd5b8063615deb1611610124578063715018a611610109578063715018a61461025e57806376a89bca146102665780637811c6d01461026e57600080fd5b8063615deb161461024157806363a99d971461025457600080fd5b8063150b7a0211610155578063150b7a02146101a9578063439a7da7146101ed5780635dab24201461022c57600080fd5b806303aaee111461017157806307003bb41461018c575b600080fd5b61017961038c565b6040519081526020015b60405180910390f35b6000546101999060ff1681565b6040519015158152602001610183565b6101bc6101b7366004612475565b6103a3565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610183565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610183565b61023461066f565b6040516101839190612566565b61021461024f366004612645565b6106fd565b61025c610813565b005b61025c610953565b600354610179565b61019961027c366004612682565b60009081526004602052604090205460ff1690565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b0316610214565b6102dc6102d7366004612682565b610967565b604051610183919061269b565b61025c6102f73660046126eb565b610af7565b61019961030a36600461273c565b610f24565b61017961031d36600461278c565b6111d7565b61017960055481565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b61025c6103873660046127e1565b61179c565b60035460009061039e90600190612814565b905090565b6000805460ff16156103fc5760405162461bcd60e51b815260206004820152601f60248201527f636f6e747261637420697320616c726561647920696e697469616c697365640060448201526064015b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104745760405162461bcd60e51b815260206004820152601f60248201527f6f6e6c792058617961206e616d65732063616e2062652072656365697665640060448201526064016103f3565b6040517fda2bfdb10000000000000000000000000000000000000000000000000000000081526004810185905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063da2bfdb190602401600060405180830381865afa1580156104f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261051f919081019061286c565b91509150600060405160200161053c90600760fc1b815260010190565b604051602081830303815290604052805190602001209050808360405160200161056691906128cb565b60405160208183030381529060405280519060200120146105ef5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792058617961206163636f756e74732063616e2062652072656365697660448201527f656400000000000000000000000000000000000000000000000000000000000060648201526084016103f3565b6000805460ff19166001908117909155610609838261296f565b507fcda74f9fa6b7248042dc94120da051c5fcd2e4174dc85bc51ff2906746a55ce2826040516106399190612566565b60405180910390a1507f150b7a020000000000000000000000000000000000000000000000000000000098975050505050505050565b6001805461067c906128e7565b80601f01602080910402602001604051908101604052809291908181526020018280546106a8906128e7565b80156106f55780601f106106ca576101008083540402835291602001916106f5565b820191906000526020600020905b8154815290600101906020018083116106d857829003601f168201915b505050505081565b6040517fd89d75d80000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90829063d89d75d89061076d908790600401612a2e565b602060405180830381865afa15801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190612a61565b6040518263ffffffff1660e01b81526004016107cc91815260200190565b602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d9190612a7a565b92915050565b6005548015806108235750438110155b1561082b5750565b6000610838600143612814565b6040517ffbb8cdba0000000000000000000000000000000000000000000000000000000081529091508140906108f6906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fbb8cdba906108ac9060019087908790600401612b1a565b600060405180830381865afa1580156108c9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108f19190810190612b3f565b61182c565b600081815260046020526040808220805460ff19166001179055600591909155517f7c227868581c9e69f872d1a6e6f0564be45e470d78a1ad1d72d918f6a8085e8e906109469083815260200190565b60405180910390a1505050565b61095b6118f2565b610965600061194c565b565b61098b60405180606001604052806060815260200160608152602001600081525090565b600354821015610af257600382815481106109a8576109a8612b74565b90600052602060002090600302016040518060600160405290816000820180546109d1906128e7565b80601f01602080910402602001604051908101604052809291908181526020018280546109fd906128e7565b8015610a4a5780601f10610a1f57610100808354040283529160200191610a4a565b820191906000526020600020905b815481529060010190602001808311610a2d57829003601f168201915b50505050508152602001600182018054610a63906128e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8f906128e7565b8015610adc5780601f10610ab157610100808354040283529160200191610adc565b820191906000526020600020905b815481529060010190602001808311610abf57829003601f168201915b5050505050815260200160028201548152505090505b919050565b610aff6118f2565b60008111610b4f5760405162461bcd60e51b815260206004820152601a60248201527f747279696e6720746f2073656e64207a65726f20616d6f756e7400000000000060448201526064016103f3565b600060038481548110610b6457610b64612b74565b9060005260206000209060030201604051806060016040529081600082018054610b8d906128e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb9906128e7565b8015610c065780601f10610bdb57610100808354040283529160200191610c06565b820191906000526020600020905b815481529060010190602001808311610be957829003601f168201915b50505050508152602001600182018054610c1f906128e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4b906128e7565b8015610c985780601f10610c6d57610100808354040283529160200191610c98565b820191906000526020600020905b815481529060010190602001808311610c7b57829003601f168201915b5050505050815260200160028201548152505090508181604001511015610d015760405162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f7567682066756e647320696e207661756c740000000000000060448201526064016103f3565b610d09610813565b60208101516040517f6974ad7f0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636974ad7f91610d7e916001918a918a91908a90600401612b8a565b600060405180830381865afa158015610d9b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dc39190810190612b3f565b9050610dce8161182c565b7fb7f2e9894cd352e8659a98d8bcf92014804cffea576f7f998ea98d500246862360018686856020015187604051610e0a959493929190612b8a565b60405180910390a16000838360400151610e249190612814565b90507f280526d7eddc9a79c396abc4b9162bfebe5157dc9c2258dc94b80dd0533ee7ed600187856020015184604051610e609493929190612bdc565b60405180910390a18015610e9c578060038781548110610e8257610e82612b74565b906000526020600020906003020160020181905550610f1c565b60038681548110610eaf57610eaf612b74565b60009182526020822060039091020190610ec98282612412565b610ed7600183016000612412565b600282016000905550507f8821c4cea1df4d2499b634ea7912e0f4db628e62f33a288a171d3362b8bb17ac600187604051610f13929190612c19565b60405180910390a15b505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d89d75d8846040518263ffffffff1660e01b8152600401610f739190612a2e565b602060405180830381865afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb49190612a61565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018290529091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015611038573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105c9190612a7a565b9050806001600160a01b0316856001600160a01b0316148061112457506040517fe985e9c50000000000000000000000000000000000000000000000000000000081526001600160a01b03828116600483015286811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063e985e9c590604401602060405180830381865afa158015611100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190612c3b565b806111ce5750846001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663081812fc846040518263ffffffff1660e01b815260040161118291815260200190565b602060405180830381865afa15801561119f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c39190612a7a565b6001600160a01b0316145b95945050505050565b60006111e16118f2565b6040517f9c6047de0000000000000000000000000000000000000000000000000000000081526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639c6047de90611246908690600401612566565b602060405180830381865afa158015611263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112879190612c3b565b6112d35760405162461bcd60e51b815260206004820152601760248201527f696e76616c696420617373657420666f72207661756c7400000000000000000060448201526064016103f3565b600082116113235760405162461bcd60e51b815260206004820181905260248201527f696e697469616c2062616c616e6365206d75737420626520706f73697469766560448201526064016103f3565b61132b610813565b43600555600061133a60035490565b600380546001810182556000829052919250027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018061137a878261296f565b5060018101611389868261296f565b50600281018490556040517f9d7564990000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639d756499906114029060019087908c908c908c90600401612b8a565b600060405180830381865afa15801561141f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114479190810190612b3f565b90506114528161182c565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663993869596001878c8c8c6040518663ffffffff1660e01b81526004016114aa959493929190612b8a565b600060405180830381865afa1580156114c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114ef9190810190612c5d565b915091506000825160026115039190612d47565b67ffffffffffffffff81111561151b5761151b612580565b60405190808252806020026020018201604052801561154e57816020015b60608152602001906001900390816115395790505b5090506040518060400160405280600181526020017f67000000000000000000000000000000000000000000000000000000000000008152508160008151811061159a5761159a612b74565b60200260200101819052507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d7c81b556040518163ffffffff1660e01b8152600401600060405180830381865afa158015611603573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261162b9190810190612b3f565b8160018151811061163e5761163e612b74565b602002602001018190525060005b83518110156116a05783818151811061166757611667612b74565b60200260200101518282600261167d9190612d47565b8151811061168d5761168d612b74565b602090810291909101015260010161164c565b506040517f347d6a220000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063347d6a229061170a908d9085908790600401612d5a565b6020604051808303816000875af1158015611729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174d9190612a61565b507fdc47543c15971acdfa21e8c79ae022552c02f70e0a183530c8384f03e17545486001878c8c8c604051611786959493929190612b8a565b60405180910390a1509398975050505050505050565b6117a46118f2565b6001600160a01b0381166118205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103f3565b6118298161194c565b50565b60006118bc7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d7c81b556040518163ffffffff1660e01b8152600401600060405180830381865afa15801561188f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118b79190810190612b3f565b6119b6565b9050600081836040516020016118d3929190612e06565b60405160208183030381529060405290506118ed81611c41565b505050565b6002546001600160a01b031633146109655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f3565b600280546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b805160609082906000906119cb90600c612eb1565b6119d6906002612d47565b67ffffffffffffffff8111156119ee576119ee612580565b6040519080825280601f01601f191660200182016040528015611a18576020820181803683370190505b5090506000601160f91b8282611a2d81612ec8565b935081518110611a3f57611a3f612b74565b60200101906001600160f81b031916908160001a90535060005b8351811015611bee576000611a6e8583611d82565b92509050602263ffffffff82161480611a8d57508063ffffffff16605c145b15611b25577f5c000000000000000000000000000000000000000000000000000000000000008484611abe81612ec8565b955081518110611ad057611ad0612b74565b60200101906001600160f81b031916908160001a9053508060f81b848480611af790612ec8565b955081518110611b0957611b09612b74565b60200101906001600160f81b031916908160001a905350611be8565b60208163ffffffff1610158015611b425750607f8163ffffffff16105b15611b57578060f81b848480611af790612ec8565b6000611b6282612204565b905060005b8151811015611be557818181518110611b8257611b82612b74565b01602001517fff00000000000000000000000000000000000000000000000000000000000000168686611bb481612ec8565b975081518110611bc657611bc6612b74565b60200101906001600160f81b031916908160001a905350600101611b67565b50505b50611a59565b83518114611bfe57611bfe612ee1565b601160f91b8383611c0e81612ec8565b945081518110611c2057611c20612b74565b60200101906001600160f81b031916908160001a9053505081529392505050565b60005460ff16611c935760405162461bcd60e51b815260206004820152601b60248201527f636f6e7472616374206973206e6f7420696e697469616c69736564000000000060448201526064016103f3565b6040517f901132820000000000000000000000000000000000000000000000000000000081526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639011328290611d04906001908590600019906000908190600401612ef7565b6020604051808303816000875af1158015611d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d479190612a61565b507f4493368c0c09f137f314d739bd20651bd8b0f802a7dd3943b0cd2bc136d3cd8e81604051611d779190612566565b60405180910390a150565b60008083518310611dd55760405162461bcd60e51b815260206004820152601d60248201527f6e6f206d6f726520696e70757420627974657320617661696c61626c6500000060448201526064016103f3565b6000848481518110611de957611de9612b74565b016020015160f81c90506080811015611e185780611e08856001612d47565b8160ff16915092509250506121fd565b60c08160ff161015611e925760405162461bcd60e51b815260206004820152602b60248201527f6d69642d73657175656e6365206368617261637465722061742073746172742060448201527f6f662073657175656e636500000000000000000000000000000000000000000060648201526084016103f3565b60008060e08360ff161015611eb6575050600681811b6107c0169350600290611f41565b60f08360ff161015611ed7575050600c81811b61f000169350600390611f41565b60f88360ff161015611ef9575050601281811b621c0000169350600490611f41565b60405162461bcd60e51b815260206004820152601b60248201527f696e76616c69642073657175656e63652073746172742062797465000000000060448201526064016103f3565b611f4c866001612d47565b93505b60ff8116156120445786518410611fa85760405162461bcd60e51b815260206004820152601f60248201527f656f6620696e20746865206d6964646c65206f6620612073657175656e63650060448201526064016103f3565b868481518110611fba57611fba612b74565b016020015160f81c9250611fcf600185612d47565b9350608060c08416146120245760405162461bcd60e51b815260206004820152601e60248201527f65787065637465642073657175656e636520636f6e74696e756174696f6e000060448201526064016103f3565b61202f600682612f65565b603f841660ff82161b95909517949050611f4f565b8160ff166002036120b25760808563ffffffff161015801561206d57506108008563ffffffff16105b6120ad5760405162461bcd60e51b81526020600482015260116024820152706f7665726c6f6e672073657175656e636560781b60448201526064016103f3565b612190565b8160ff1660030361211c576108008563ffffffff161015801561206d5750620100008563ffffffff16106120ad5760405162461bcd60e51b81526020600482015260116024820152706f7665726c6f6e672073657175656e636560781b60448201526064016103f3565b8160ff1660041461212f5761212f612ee1565b620100008563ffffffff16101580156121505750621100008563ffffffff16105b6121905760405162461bcd60e51b81526020600482015260116024820152706f7665726c6f6e672073657175656e636560781b60448201526064016103f3565b61d8008563ffffffff1610806121ad575061dfff8563ffffffff16115b6121f95760405162461bcd60e51b815260206004820181905260248201527f737572726f676174652d7061697220636861726163746572206465636f64656460448201526064016103f3565b5050505b9250929050565b606061d8008263ffffffff161080612237575061e0008263ffffffff16101580156122375750620100008263ffffffff16105b156122455761080d82612310565b620100008263ffffffff16101580156122665750621100008263ffffffff16105b6122b25760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420636f6465706f696e7400000000000000000000000000000060448201526064016103f3565b6122bf6201000083612f7e565b91506122d8600a8363ffffffff16901c61d80017612310565b6122e9836103ff1661dc0017612310565b6040516020016122fa929190612f9a565b6040516020818303038152906040529050919050565b60408051808201909152600681527f5c75585858580000000000000000000000000000000000000000000000000000602082015260609060005b600481101561240b576040805180820190915260108082527f30313233343536373839414243444546000000000000000000000000000000006020830152600f861690811061239b5761239b612b74565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016826123ce836005612814565b815181106123de576123de612b74565b60200101906001600160f81b031916908160001a90535060048461ffff16901c935080600101905061234a565b5092915050565b50805461241e906128e7565b6000825580601f1061242e575050565b601f01602090049060005260206000209081019061182991905b8082111561245c5760008155600101612448565b5090565b6001600160a01b038116811461182957600080fd5b60008060008060006080868803121561248d57600080fd5b853561249881612460565b945060208601356124a881612460565b935060408601359250606086013567ffffffffffffffff8111156124cb57600080fd5b8601601f810188136124dc57600080fd5b803567ffffffffffffffff8111156124f357600080fd5b88602082840101111561250557600080fd5b959894975092955050506020019190565b60005b83811015612531578181015183820152602001612519565b50506000910152565b60008151808452612552816020860160208601612516565b601f01601f19169290920160200192915050565b602081526000612579602083018461253a565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156125bf576125bf612580565b604052919050565b600067ffffffffffffffff8211156125e1576125e1612580565b50601f01601f191660200190565b600082601f83011261260057600080fd5b813561261361260e826125c7565b612596565b81815284602083860101111561262857600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561265757600080fd5b813567ffffffffffffffff81111561266e57600080fd5b61267a848285016125ef565b949350505050565b60006020828403121561269457600080fd5b5035919050565b6020815260008251606060208401526126b7608084018261253a565b90506020840151601f198483030160408501526126d4828261253a565b915050604084015160608401528091505092915050565b60008060006060848603121561270057600080fd5b83359250602084013567ffffffffffffffff81111561271e57600080fd5b61272a868287016125ef565b93969395505050506040919091013590565b6000806040838503121561274f57600080fd5b823561275a81612460565b9150602083013567ffffffffffffffff81111561277657600080fd5b612782858286016125ef565b9150509250929050565b6000806000606084860312156127a157600080fd5b833567ffffffffffffffff8111156127b857600080fd5b6127c4868287016125ef565b935050602084013567ffffffffffffffff81111561271e57600080fd5b6000602082840312156127f357600080fd5b813561257981612460565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080d5761080d6127fe565b600082601f83011261283857600080fd5b815161284661260e826125c7565b81815284602083860101111561285b57600080fd5b61267a826020830160208701612516565b6000806040838503121561287f57600080fd5b825167ffffffffffffffff81111561289657600080fd5b6128a285828601612827565b925050602083015167ffffffffffffffff8111156128bf57600080fd5b61278285828601612827565b600082516128dd818460208701612516565b9190910192915050565b600181811c908216806128fb57607f821691505b60208210810361291b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156118ed57806000526020600020601f840160051c810160208510156129485750805b601f840160051c820191505b818110156129685760008155600101612954565b5050505050565b815167ffffffffffffffff81111561298957612989612580565b61299d8161299784546128e7565b84612921565b6020601f8211600181146129d157600083156129b95750848201515b600019600385901b1c1916600184901b178455612968565b600084815260208120601f198516915b82811015612a0157878501518255602094850194600190920191016129e1565b5084821015612a1f5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b604081526000612a4f6040830160018152600760fc1b602082015260400190565b828103602084015261267a818561253a565b600060208284031215612a7357600080fd5b5051919050565b600060208284031215612a8c57600080fd5b815161257981612460565b60008154612aa4816128e7565b808552600182168015612abe5760018114612ada57612b11565b60ff1983166020870152602082151560051b8701019350612b11565b84600052602060002060005b83811015612b085781546020828a010152600182019150602081019050612ae6565b87016020019450505b50505092915050565b606081526000612b2d6060830186612a97565b60208301949094525060400152919050565b600060208284031215612b5157600080fd5b815167ffffffffffffffff811115612b6857600080fd5b61267a84828501612827565b634e487b7160e01b600052603260045260246000fd5b60a081526000612b9d60a0830188612a97565b8660208401528281036040840152612bb5818761253a565b90508281036060840152612bc9818661253a565b9150508260808301529695505050505050565b608081526000612bef6080830187612a97565b8560208401528281036040840152612c07818661253a565b91505082606083015295945050505050565b604081526000612c2c6040830185612a97565b90508260208301529392505050565b600060208284031215612c4d57600080fd5b8151801515811461257957600080fd5b60008060408385031215612c7057600080fd5b825167ffffffffffffffff811115612c8757600080fd5b8301601f81018513612c9857600080fd5b805167ffffffffffffffff811115612cb257612cb2612580565b8060051b612cc260208201612596565b91825260208184018101929081019088841115612cde57600080fd5b6020850192505b83831015612d2557825167ffffffffffffffff811115612d0457600080fd5b612d138a602083890101612827565b83525060209283019290910190612ce5565b8096505050505050602083015167ffffffffffffffff8111156128bf57600080fd5b8082018082111561080d5761080d6127fe565b608081526000612d7b6080830160018152600760fc1b602082015260400190565b8281036020840152612d8d818761253a565b9050828103604084015280855180835260208301915060208160051b8401016020880160005b83811015612de557601f19868403018552612dcf83835161253a565b6020958601959093509190910190600101612db3565b50508581036060870152612df9818861253a565b9998505050505050505050565b7f7b2267223a7b0000000000000000000000000000000000000000000000000000815260008351612e3e816006850160208801612516565b7f3a000000000000000000000000000000000000000000000000000000000000006006918401918201528351612e7b816007840160208801612516565b7f7d7d00000000000000000000000000000000000000000000000000000000000060079290910191820152600901949350505050565b808202811582820484141761080d5761080d6127fe565b600060018201612eda57612eda6127fe565b5060010190565b634e487b7160e01b600052600160045260246000fd5b60c081526000612f1860c0830160018152600760fc1b602082015260400190565b8281036020840152612f2a8189612a97565b90508281036040840152612f3e818861253a565b6060840196909652505060808101929092526001600160a01b031660a09091015292915050565b60ff828116828216039081111561080d5761080d6127fe565b63ffffffff828116828216039081111561080d5761080d6127fe565b60008351612fac818460208801612516565b835190830190612fc0818360208801612516565b0194935050505056fea264697066735822122061357feb9bd9e304690d33b6a85e780d9761a4cb712007bc84f71b994aef6d9a64736f6c634300081c0033000000000000000000000000eb4c2ef7874628b646b8a59e4a309b94e14c2a6b00000000000000000000000075a7719caba6702ae3393d9a3c3298413d522cc1