@alys-chain/verto-v2-core
Version:
Core Smart Contracts of Verto V2
25 lines (24 loc) • 40.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "CodeHash",
"sourceName": "contracts/CodeHash.sol",
"abi": [
{
"inputs": [],
"name": "getCodeHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x608060405234801561000f575f80fd5b5061274c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806383dd41c61461002d575b5f80fd5b610035610047565b60405190815260200160405180910390f35b5f6040518060200161005890610078565b6020820181038252601f19601f8201166040525080519060200120905090565b6126ba806100868339019056fe60c0604052600360809081526256544b60e81b60a0525f90620000239082620001bc565b506001600d5534801562000035575f80fd5b5060408051808201825260078152662b16aa37b5b2b760c91b6020918201528151808301835260018152603160f81b9082015281517fab6d3ce18390ed682b2211c5dee3e280c923b1815b0c74efbfa26b352dd33441818301527f36a9e967f936581a967b7a5fe078eecaa4373cf231ad1c07d1f07b2dc5e0467f818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c09091019092528151910120600455600680546001600160a01b0319163317905562000284565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200014557607f821691505b6020821081036200016457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001b7575f81815260208120601f850160051c81016020861015620001925750805b601f850160051c820191505b81811015620001b3578281556001016200019e565b5050505b505050565b81516001600160401b03811115620001d857620001d86200011c565b620001f081620001e9845462000130565b846200016a565b602080601f83116001811462000226575f84156200020e5750858301515b5f19600386901b1c1916600185901b178555620001b3565b5f85815260208120601f198616915b82811015620002565788860151825594840194600190910190840162000235565b50858210156200027457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b61242880620002925f395ff3fe608060405234801561000f575f80fd5b50600436106101a1575f3560e01c80636a627842116100f3578063ba9a7a5611610093578063d21220a71161006e578063d21220a7146103a3578063d505accf146103b6578063dd62ed3e146103c9578063fff6cae914610401575f80fd5b8063ba9a7a5614610374578063bc25cf771461037d578063c45a015514610390575f80fd5b80637ecebe00116100ce5780637ecebe001461031e57806389afcb441461033157806395d89b4114610359578063a9059cbb14610361575f80fd5b80636a627842146102da57806370a08231146102ed5780637464fc3d14610315575f80fd5b806323b872dd1161015e5780633644e515116101395780633644e515146102ad578063485cc955146102b55780635909c0d5146102c85780635a3d5493146102d1575f80fd5b806323b872dd1461028357806330adf81f14610296578063313ce5671461029e575f80fd5b8063022c0d9f146101a557806306fdde03146101ba5780630902f1ac146101ef578063095ea7b3146102235780630dfe16811461024657806318160ddd14610271575b5f80fd5b6101b86101b3366004611df7565b610409565b005b6040805180820190915260078152662b16aa37b5b2b760c91b60208201525b6040516101e69190611ea7565b60405180910390f35b6101f76108e9565b604080516001600160701b03948516815293909216602084015263ffffffff16908201526060016101e6565b610236610231366004611ed9565b610913565b60405190151581526020016101e6565b600754610259906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b6001545b6040519081526020016101e6565b610236610291366004611f03565b610929565b6102756109b9565b604051601281526020016101e6565b610275610a1f565b6101b86102c3366004611f41565b610a5c565b610275600a5481565b610275600b5481565b6102756102e8366004611f78565b610be0565b6102756102fb366004611f78565b6001600160a01b03165f9081526002602052604090205490565b610275600c5481565b61027561032c366004611f78565b610e99565b61034461033f366004611f78565b610f00565b604080519283526020830191909152016101e6565b6101d9611254565b61023661036f366004611ed9565b6112e3565b6102756103e881565b6101b861038b366004611f78565b6112ef565b600654610259906001600160a01b031681565b600854610259906001600160a01b031681565b6101b86103c4366004611f93565b611400565b6102756103d7366004611f41565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b6101b861148a565b600d546001146104345760405162461bcd60e51b815260040161042b90612004565b60405180910390fd5b5f600d558415158061044557505f84115b61049d5760405162461bcd60e51b815260206004820152602360248201527f566572746f56323a20494e53554646494349454e545f4f55545055545f414d4f60448201526215539560ea1b606482015260840161042b565b5f806104a76108e9565b5091509150816001600160701b0316871080156104cc5750806001600160701b031686105b6105185760405162461bcd60e51b815260206004820152601f60248201527f566572746f56323a20494e53554646494349454e545f4c495155494449545900604482015260640161042b565b6007546008545f9182916001600160a01b039182169190811690891682148015906105555750806001600160a01b0316896001600160a01b031614155b6105975760405162461bcd60e51b8152602060048201526013602482015272566572746f56323a20494e56414c49445f544f60681b604482015260640161042b565b8a156105a8576105a8828a8d6115a9565b89156105b9576105b9818a8c6115a9565b861561062157604051633f1f1ba360e21b81526001600160a01b038a169063fc7c6e8c906105f39033908f908f908e908e9060040161202d565b5f604051808303815f87803b15801561060a575f80fd5b505af115801561061c573d5f803e3d5ffd5b505050505b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610663573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106879190612078565b6040516370a0823160e01b81523060048201529094506001600160a01b038216906370a0823190602401602060405180830381865afa1580156106cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f09190612078565b925050505f89856001600160701b031661070a91906120a3565b8311610716575f610733565b6107298a6001600160701b0387166120a3565b61073390846120a3565b90505f6107498a6001600160701b0387166120a3565b8311610755575f610772565b6107688a6001600160701b0387166120a3565b61077290846120a3565b90505f82118061078157505f81115b6107d85760405162461bcd60e51b815260206004820152602260248201527f566572746f56323a20494e53554646494349454e545f494e5055545f414d4f55604482015261139560f21b606482015260840161042b565b5f6107f96107e78460036116ef565b6107f3876103e86116ef565b90611755565b90505f61080a6107e78460036116ef565b905061082f620f42406108296001600160701b038b8116908b166116ef565b906116ef565b61083983836116ef565b10156108745760405162461bcd60e51b815260206004820152600a602482015269566572746f56323a204b60b01b604482015260640161042b565b5050610882848488886117aa565b60408051838152602081018390529081018c9052606081018b90526001600160a01b038a169033907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229060800160405180910390a350506001600d55505050505050505050565b6009546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b5f61091f33848461198f565b5060015b92915050565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f19146109a4576001600160a01b0384165f9081526003602090815260408083203384529091529020546109809083611755565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b6109af8484846119f0565b5060019392505050565b5f306001600160a01b03166330adf81f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a9190612078565b905090565b5f306001600160a01b0316633644e5156040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b6006546001600160a01b03163314610aab5760405162461bcd60e51b81526020600482015260126024820152712b32b93a37ab191d102327a92124a22222a760711b604482015260640161042b565b600780546001600160a01b038085166001600160a01b031992831681179093556008805491851691909216179055604080516395d89b4160e01b815290516395d89b41916004808201925f929091908290030181865afa158015610b11573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b3891908101906120ca565b60085f9054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610b87573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bae91908101906120ca565b604051602001610bbf929190612172565b6040516020818303038152906040525f9081610bdb919061222b565b505050565b5f600d54600114610c035760405162461bcd60e51b815260040161042b90612004565b5f600d81905580610c126108e9565b506007546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610c61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c859190612078565b6008546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610cd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf49190612078565b90505f610d0a836001600160701b038716611755565b90505f610d20836001600160701b038716611755565b90505f610d2d8787611a93565b6001549091505f819003610d6657610d536103e86107f3610d4e87876116ef565b611bc6565b9850610d615f6103e8611c34565b610dad565b610daa6001600160701b038916610d7d86846116ef565b610d8791906122fb565b6001600160701b038916610d9b86856116ef565b610da591906122fb565b611cc2565b98505b5f8911610e0b5760405162461bcd60e51b815260206004820152602660248201527f566572746f56323a20494e53554646494349454e545f4c49515549444954595f60448201526513525395115160d21b606482015260840161042b565b610e158a8a611c34565b610e2186868a8a6117aa565b8115610e4b57600954610e47906001600160701b0380821691600160701b9004166116ef565b600c555b604080518581526020810185905233917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f910160405180910390a250506001600d5550949695505050505050565b604051623f675f60e91b81526001600160a01b03821660048201525f903090637ecebe0090602401602060405180830381865afa158015610edc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109239190612078565b5f80600d54600114610f245760405162461bcd60e51b815260040161042b90612004565b5f600d81905580610f336108e9565b506007546008546040516370a0823160e01b81523060048201529395509193506001600160a01b03908116929116905f9083906370a0823190602401602060405180830381865afa158015610f8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fae9190612078565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190612078565b305f908152600260205260408120549192506110358888611a93565b6001549091508061104684876116ef565b61105091906122fb565b9a508061105d84866116ef565b61106791906122fb565b99505f8b11801561107757505f8a115b6110d15760405162461bcd60e51b815260206004820152602560248201527f5377617056323a20494e53554646494349454e545f4c49515549444954595f42604482015264155493915160da1b606482015260840161042b565b6110db3084611cd9565b6110e6878d8d6115a9565b6110f1868d8c6115a9565b6040516370a0823160e01b81523060048201526001600160a01b038816906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612078565b6040516370a0823160e01b81523060048201529095506001600160a01b038716906370a0823190602401602060405180830381865afa15801561119c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c09190612078565b93506111ce85858b8b6117aa565b81156111f8576009546111f4906001600160701b0380821691600160701b9004166116ef565b600c555b604080518c8152602081018c90526001600160a01b038e169133917fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496910160405180910390a35050505050505050506001600d81905550915091565b60605f8054611262906121ac565b80601f016020809104026020016040519081016040528092919081815260200182805461128e906121ac565b80156112d95780601f106112b0576101008083540402835291602001916112d9565b820191905f5260205f20905b8154815290600101906020018083116112bc57829003601f168201915b5050505050905090565b5f61091f3384846119f0565b600d546001146113115760405162461bcd60e51b815260040161042b90612004565b5f600d556007546008546009546040516370a0823160e01b81523060048201526001600160a01b0393841693909216916113a991849186916113a4916001600160701b039091169084906370a08231906024015b602060405180830381865afa158015611380573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f39190612078565b6115a9565b6009546040516370a0823160e01b81523060048201526113f691839186916113a491600160701b9091046001600160701b0316906001600160a01b038516906370a0823190602401611365565b50506001600d5550565b60405163d505accf60e01b81526001600160a01b03808916600483015287166024820152604481018690526064810185905260ff8416608482015260a4810183905260c48101829052309063d505accf9060e4015f604051808303815f87803b15801561146b575f80fd5b505af115801561147d573d5f803e3d5ffd5b5050505050505050505050565b600d546001146114ac5760405162461bcd60e51b815260040161042b90612004565b5f600d556007546040516370a0823160e01b81523060048201526115a2916001600160a01b0316906370a0823190602401602060405180830381865afa1580156114f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061151c9190612078565b6008546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611562573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115869190612078565b6009546001600160701b0380821691600160701b9004166117aa565b6001600d55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17905291515f928392871691611634919061230e565b5f604051808303815f865af19150503d805f811461166d576040519150601f19603f3d011682016040523d82523d5f602084013e611672565b606091505b509150915081801561169c57508051158061169c57508080602001905181019061169c9190612329565b6116e85760405162461bcd60e51b815260206004820152601860248201527f566572746f56323a205452414e534645525f4641494c45440000000000000000604482015260640161042b565b5050505050565b5f811580611712575082826117048183612348565b925061171090836122fb565b145b6109235760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015260640161042b565b5f8261176183826120a3565b91508111156109235760405162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015260640161042b565b6001600160701b0384118015906117c857506001600160701b038311155b6118085760405162461bcd60e51b8152602060048201526011602482015270566572746f56323a204f564552464c4f5760781b604482015260640161042b565b5f6118186401000000004261235f565b6009549091505f9061183790600160e01b900463ffffffff1683612372565b90505f8163ffffffff1611801561185657506001600160701b03841615155b801561186a57506001600160701b03831615155b156118f7578063ffffffff166118928561188386611d60565b6001600160e01b031690611d78565b6001600160e01b03166118a59190612348565b600a5f8282546118b59190612396565b909155505063ffffffff81166118ce8461188387611d60565b6001600160e01b03166118e19190612348565b600b5f8282546118f19190612396565b90915550505b6009805463ffffffff8416600160e01b026001600160e01b036001600160701b03898116600160701b9081026001600160e01b03199095168c83161794909417918216831794859055604080519382169282169290921783529290930490911660208201527f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a1505050505050565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383165f90815260026020526040902054611a129082611755565b6001600160a01b038085165f908152600260205260408082209390935590841681522054611a409082611d8c565b6001600160a01b038084165f8181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119e39085815260200190565b5f8060065f9054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ae5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0991906123a9565b600c546001600160a01b038216158015945091925090611bb3578015611bae575f611b43610d4e6001600160701b038881169088166116ef565b90505f611b4f83611bc6565b905080821115611bab575f611b70611b678484611755565b600154906116ef565b90505f611b8883611b828660056116ef565b90611d8c565b90505f611b9582846122fb565b90508015611ba757611ba78782611c34565b5050505b50505b611bbe565b8015611bbe575f600c555b505092915050565b5f6003821115611c255750805f611bde6002836122fb565b611be9906001612396565b90505b81811015611c1f57905080600281611c0481866122fb565b611c0e9190612396565b611c1891906122fb565b9050611bec565b50919050565b8115611c2f575060015b919050565b600154611c419082611d8c565b6001556001600160a01b0382165f90815260026020526040902054611c669082611d8c565b6001600160a01b0383165f818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cb69085815260200190565b60405180910390a35050565b5f818310611cd05781611cd2565b825b9392505050565b6001600160a01b0382165f90815260026020526040902054611cfb9082611755565b6001600160a01b0383165f90815260026020526040902055600154611d209082611755565b6001556040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611cb6565b5f610923600160701b6001600160701b0384166123c4565b5f611cd26001600160701b038316846123f6565b5f82611d988382612396565b91508110156109235760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015260640161042b565b6001600160a01b0381168114611df4575f80fd5b50565b5f805f805f60808688031215611e0b575f80fd5b85359450602086013593506040860135611e2481611de0565b9250606086013567ffffffffffffffff80821115611e40575f80fd5b818801915088601f830112611e53575f80fd5b813581811115611e61575f80fd5b896020828501011115611e72575f80fd5b9699959850939650602001949392505050565b5f5b83811015611e9f578181015183820152602001611e87565b50505f910152565b602081525f8251806020840152611ec5816040850160208701611e85565b601f01601f19169190910160400192915050565b5f8060408385031215611eea575f80fd5b8235611ef581611de0565b946020939093013593505050565b5f805f60608486031215611f15575f80fd5b8335611f2081611de0565b92506020840135611f3081611de0565b929592945050506040919091013590565b5f8060408385031215611f52575f80fd5b8235611f5d81611de0565b91506020830135611f6d81611de0565b809150509250929050565b5f60208284031215611f88575f80fd5b8135611cd281611de0565b5f805f805f805f60e0888a031215611fa9575f80fd5b8735611fb481611de0565b96506020880135611fc481611de0565b95506040880135945060608801359350608088013560ff81168114611fe7575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b6020808252600f908201526e15995c9d1bd58c8e881313d0d2d151608a1b604082015260600190565b60018060a01b038616815284602082015283604082015260806060820152816080820152818360a08301375f81830160a090810191909152601f909201601f19160101949350505050565b5f60208284031215612088575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156109235761092361208f565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156120da575f80fd5b815167ffffffffffffffff808211156120f1575f80fd5b818401915084601f830112612104575f80fd5b815181811115612116576121166120b6565b604051601f8201601f19908116603f0116810190838211818310171561213e5761213e6120b6565b81604052828152876020848701011115612156575f80fd5b612167836020830160208801611e85565b979650505050505050565b5f8351612183818460208801611e85565b835190830190612197818360208801611e85565b605360f81b9101908152600101949350505050565b600181811c908216806121c057607f821691505b602082108103611c1f57634e487b7160e01b5f52602260045260245ffd5b601f821115610bdb575f81815260208120601f850160051c810160208610156122045750805b601f850160051c820191505b8181101561222357828155600101612210565b505050505050565b815167ffffffffffffffff811115612245576122456120b6565b6122598161225384546121ac565b846121de565b602080601f83116001811461228c575f84156122755750858301515b5f19600386901b1c1916600185901b178555612223565b5f85815260208120601f198616915b828110156122ba5788860151825594840194600190910190840161229b565b50858210156122d757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601260045260245ffd5b5f82612309576123096122e7565b500490565b5f825161231f818460208701611e85565b9190910192915050565b5f60208284031215612339575f80fd5b81518015158114611cd2575f80fd5b80820281158282048414176109235761092361208f565b5f8261236d5761236d6122e7565b500690565b63ffffffff82811682821603908082111561238f5761238f61208f565b5092915050565b808201808211156109235761092361208f565b5f602082840312156123b9575f80fd5b8151611cd281611de0565b6001600160e01b038281168282168181028316929181158285048214176123ed576123ed61208f565b50505092915050565b5f6001600160e01b038381168061240f5761240f6122e7565b9216919091049291505056fea164736f6c6343000814000aa164736f6c6343000814000a",
"deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c806383dd41c61461002d575b5f80fd5b610035610047565b60405190815260200160405180910390f35b5f6040518060200161005890610078565b6020820181038252601f19601f8201166040525080519060200120905090565b6126ba806100868339019056fe60c0604052600360809081526256544b60e81b60a0525f90620000239082620001bc565b506001600d5534801562000035575f80fd5b5060408051808201825260078152662b16aa37b5b2b760c91b6020918201528151808301835260018152603160f81b9082015281517fab6d3ce18390ed682b2211c5dee3e280c923b1815b0c74efbfa26b352dd33441818301527f36a9e967f936581a967b7a5fe078eecaa4373cf231ad1c07d1f07b2dc5e0467f818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c09091019092528151910120600455600680546001600160a01b0319163317905562000284565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200014557607f821691505b6020821081036200016457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001b7575f81815260208120601f850160051c81016020861015620001925750805b601f850160051c820191505b81811015620001b3578281556001016200019e565b5050505b505050565b81516001600160401b03811115620001d857620001d86200011c565b620001f081620001e9845462000130565b846200016a565b602080601f83116001811462000226575f84156200020e5750858301515b5f19600386901b1c1916600185901b178555620001b3565b5f85815260208120601f198616915b82811015620002565788860151825594840194600190910190840162000235565b50858210156200027457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b61242880620002925f395ff3fe608060405234801561000f575f80fd5b50600436106101a1575f3560e01c80636a627842116100f3578063ba9a7a5611610093578063d21220a71161006e578063d21220a7146103a3578063d505accf146103b6578063dd62ed3e146103c9578063fff6cae914610401575f80fd5b8063ba9a7a5614610374578063bc25cf771461037d578063c45a015514610390575f80fd5b80637ecebe00116100ce5780637ecebe001461031e57806389afcb441461033157806395d89b4114610359578063a9059cbb14610361575f80fd5b80636a627842146102da57806370a08231146102ed5780637464fc3d14610315575f80fd5b806323b872dd1161015e5780633644e515116101395780633644e515146102ad578063485cc955146102b55780635909c0d5146102c85780635a3d5493146102d1575f80fd5b806323b872dd1461028357806330adf81f14610296578063313ce5671461029e575f80fd5b8063022c0d9f146101a557806306fdde03146101ba5780630902f1ac146101ef578063095ea7b3146102235780630dfe16811461024657806318160ddd14610271575b5f80fd5b6101b86101b3366004611df7565b610409565b005b6040805180820190915260078152662b16aa37b5b2b760c91b60208201525b6040516101e69190611ea7565b60405180910390f35b6101f76108e9565b604080516001600160701b03948516815293909216602084015263ffffffff16908201526060016101e6565b610236610231366004611ed9565b610913565b60405190151581526020016101e6565b600754610259906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b6001545b6040519081526020016101e6565b610236610291366004611f03565b610929565b6102756109b9565b604051601281526020016101e6565b610275610a1f565b6101b86102c3366004611f41565b610a5c565b610275600a5481565b610275600b5481565b6102756102e8366004611f78565b610be0565b6102756102fb366004611f78565b6001600160a01b03165f9081526002602052604090205490565b610275600c5481565b61027561032c366004611f78565b610e99565b61034461033f366004611f78565b610f00565b604080519283526020830191909152016101e6565b6101d9611254565b61023661036f366004611ed9565b6112e3565b6102756103e881565b6101b861038b366004611f78565b6112ef565b600654610259906001600160a01b031681565b600854610259906001600160a01b031681565b6101b86103c4366004611f93565b611400565b6102756103d7366004611f41565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b6101b861148a565b600d546001146104345760405162461bcd60e51b815260040161042b90612004565b60405180910390fd5b5f600d558415158061044557505f84115b61049d5760405162461bcd60e51b815260206004820152602360248201527f566572746f56323a20494e53554646494349454e545f4f55545055545f414d4f60448201526215539560ea1b606482015260840161042b565b5f806104a76108e9565b5091509150816001600160701b0316871080156104cc5750806001600160701b031686105b6105185760405162461bcd60e51b815260206004820152601f60248201527f566572746f56323a20494e53554646494349454e545f4c495155494449545900604482015260640161042b565b6007546008545f9182916001600160a01b039182169190811690891682148015906105555750806001600160a01b0316896001600160a01b031614155b6105975760405162461bcd60e51b8152602060048201526013602482015272566572746f56323a20494e56414c49445f544f60681b604482015260640161042b565b8a156105a8576105a8828a8d6115a9565b89156105b9576105b9818a8c6115a9565b861561062157604051633f1f1ba360e21b81526001600160a01b038a169063fc7c6e8c906105f39033908f908f908e908e9060040161202d565b5f604051808303815f87803b15801561060a575f80fd5b505af115801561061c573d5f803e3d5ffd5b505050505b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610663573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106879190612078565b6040516370a0823160e01b81523060048201529094506001600160a01b038216906370a0823190602401602060405180830381865afa1580156106cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f09190612078565b925050505f89856001600160701b031661070a91906120a3565b8311610716575f610733565b6107298a6001600160701b0387166120a3565b61073390846120a3565b90505f6107498a6001600160701b0387166120a3565b8311610755575f610772565b6107688a6001600160701b0387166120a3565b61077290846120a3565b90505f82118061078157505f81115b6107d85760405162461bcd60e51b815260206004820152602260248201527f566572746f56323a20494e53554646494349454e545f494e5055545f414d4f55604482015261139560f21b606482015260840161042b565b5f6107f96107e78460036116ef565b6107f3876103e86116ef565b90611755565b90505f61080a6107e78460036116ef565b905061082f620f42406108296001600160701b038b8116908b166116ef565b906116ef565b61083983836116ef565b10156108745760405162461bcd60e51b815260206004820152600a602482015269566572746f56323a204b60b01b604482015260640161042b565b5050610882848488886117aa565b60408051838152602081018390529081018c9052606081018b90526001600160a01b038a169033907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229060800160405180910390a350506001600d55505050505050505050565b6009546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b5f61091f33848461198f565b5060015b92915050565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f19146109a4576001600160a01b0384165f9081526003602090815260408083203384529091529020546109809083611755565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b6109af8484846119f0565b5060019392505050565b5f306001600160a01b03166330adf81f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1a9190612078565b905090565b5f306001600160a01b0316633644e5156040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f6573d5f803e3d5ffd5b6006546001600160a01b03163314610aab5760405162461bcd60e51b81526020600482015260126024820152712b32b93a37ab191d102327a92124a22222a760711b604482015260640161042b565b600780546001600160a01b038085166001600160a01b031992831681179093556008805491851691909216179055604080516395d89b4160e01b815290516395d89b41916004808201925f929091908290030181865afa158015610b11573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610b3891908101906120ca565b60085f9054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610b87573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bae91908101906120ca565b604051602001610bbf929190612172565b6040516020818303038152906040525f9081610bdb919061222b565b505050565b5f600d54600114610c035760405162461bcd60e51b815260040161042b90612004565b5f600d81905580610c126108e9565b506007546040516370a0823160e01b81523060048201529294509092505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610c61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c859190612078565b6008546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610cd0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf49190612078565b90505f610d0a836001600160701b038716611755565b90505f610d20836001600160701b038716611755565b90505f610d2d8787611a93565b6001549091505f819003610d6657610d536103e86107f3610d4e87876116ef565b611bc6565b9850610d615f6103e8611c34565b610dad565b610daa6001600160701b038916610d7d86846116ef565b610d8791906122fb565b6001600160701b038916610d9b86856116ef565b610da591906122fb565b611cc2565b98505b5f8911610e0b5760405162461bcd60e51b815260206004820152602660248201527f566572746f56323a20494e53554646494349454e545f4c49515549444954595f60448201526513525395115160d21b606482015260840161042b565b610e158a8a611c34565b610e2186868a8a6117aa565b8115610e4b57600954610e47906001600160701b0380821691600160701b9004166116ef565b600c555b604080518581526020810185905233917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f910160405180910390a250506001600d5550949695505050505050565b604051623f675f60e91b81526001600160a01b03821660048201525f903090637ecebe0090602401602060405180830381865afa158015610edc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109239190612078565b5f80600d54600114610f245760405162461bcd60e51b815260040161042b90612004565b5f600d81905580610f336108e9565b506007546008546040516370a0823160e01b81523060048201529395509193506001600160a01b03908116929116905f9083906370a0823190602401602060405180830381865afa158015610f8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fae9190612078565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610ff5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110199190612078565b305f908152600260205260408120549192506110358888611a93565b6001549091508061104684876116ef565b61105091906122fb565b9a508061105d84866116ef565b61106791906122fb565b99505f8b11801561107757505f8a115b6110d15760405162461bcd60e51b815260206004820152602560248201527f5377617056323a20494e53554646494349454e545f4c49515549444954595f42604482015264155493915160da1b606482015260840161042b565b6110db3084611cd9565b6110e6878d8d6115a9565b6110f1868d8c6115a9565b6040516370a0823160e01b81523060048201526001600160a01b038816906370a0823190602401602060405180830381865afa158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612078565b6040516370a0823160e01b81523060048201529095506001600160a01b038716906370a0823190602401602060405180830381865afa15801561119c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c09190612078565b93506111ce85858b8b6117aa565b81156111f8576009546111f4906001600160701b0380821691600160701b9004166116ef565b600c555b604080518c8152602081018c90526001600160a01b038e169133917fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496910160405180910390a35050505050505050506001600d81905550915091565b60605f8054611262906121ac565b80601f016020809104026020016040519081016040528092919081815260200182805461128e906121ac565b80156112d95780601f106112b0576101008083540402835291602001916112d9565b820191905f5260205f20905b8154815290600101906020018083116112bc57829003601f168201915b5050505050905090565b5f61091f3384846119f0565b600d546001146113115760405162461bcd60e51b815260040161042b90612004565b5f600d556007546008546009546040516370a0823160e01b81523060048201526001600160a01b0393841693909216916113a991849186916113a4916001600160701b039091169084906370a08231906024015b602060405180830381865afa158015611380573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f39190612078565b6115a9565b6009546040516370a0823160e01b81523060048201526113f691839186916113a491600160701b9091046001600160701b0316906001600160a01b038516906370a0823190602401611365565b50506001600d5550565b60405163d505accf60e01b81526001600160a01b03808916600483015287166024820152604481018690526064810185905260ff8416608482015260a4810183905260c48101829052309063d505accf9060e4015f604051808303815f87803b15801561146b575f80fd5b505af115801561147d573d5f803e3d5ffd5b5050505050505050505050565b600d546001146114ac5760405162461bcd60e51b815260040161042b90612004565b5f600d556007546040516370a0823160e01b81523060048201526115a2916001600160a01b0316906370a0823190602401602060405180830381865afa1580156114f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061151c9190612078565b6008546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611562573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115869190612078565b6009546001600160701b0380821691600160701b9004166117aa565b6001600d55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17905291515f928392871691611634919061230e565b5f604051808303815f865af19150503d805f811461166d576040519150601f19603f3d011682016040523d82523d5f602084013e611672565b606091505b509150915081801561169c57508051158061169c57508080602001905181019061169c9190612329565b6116e85760405162461bcd60e51b815260206004820152601860248201527f566572746f56323a205452414e534645525f4641494c45440000000000000000604482015260640161042b565b5050505050565b5f811580611712575082826117048183612348565b925061171090836122fb565b145b6109235760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015260640161042b565b5f8261176183826120a3565b91508111156109235760405162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015260640161042b565b6001600160701b0384118015906117c857506001600160701b038311155b6118085760405162461bcd60e51b8152602060048201526011602482015270566572746f56323a204f564552464c4f5760781b604482015260640161042b565b5f6118186401000000004261235f565b6009549091505f9061183790600160e01b900463ffffffff1683612372565b90505f8163ffffffff1611801561185657506001600160701b03841615155b801561186a57506001600160701b03831615155b156118f7578063ffffffff166118928561188386611d60565b6001600160e01b031690611d78565b6001600160e01b03166118a59190612348565b600a5f8282546118b59190612396565b909155505063ffffffff81166118ce8461188387611d60565b6001600160e01b03166118e19190612348565b600b5f8282546118f19190612396565b90915550505b6009805463ffffffff8416600160e01b026001600160e01b036001600160701b03898116600160701b9081026001600160e01b03199095168c83161794909417918216831794859055604080519382169282169290921783529290930490911660208201527f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a1505050505050565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383165f90815260026020526040902054611a129082611755565b6001600160a01b038085165f908152600260205260408082209390935590841681522054611a409082611d8c565b6001600160a01b038084165f8181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119e39085815260200190565b5f8060065f9054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ae5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0991906123a9565b600c546001600160a01b038216158015945091925090611bb3578015611bae575f611b43610d4e6001600160701b038881169088166116ef565b90505f611b4f83611bc6565b905080821115611bab575f611b70611b678484611755565b600154906116ef565b90505f611b8883611b828660056116ef565b90611d8c565b90505f611b9582846122fb565b90508015611ba757611ba78782611c34565b5050505b50505b611bbe565b8015611bbe575f600c555b505092915050565b5f6003821115611c255750805f611bde6002836122fb565b611be9906001612396565b90505b81811015611c1f57905080600281611c0481866122fb565b611c0e9190612396565b611c1891906122fb565b9050611bec565b50919050565b8115611c2f575060015b919050565b600154611c419082611d8c565b6001556001600160a01b0382165f90815260026020526040902054611c669082611d8c565b6001600160a01b0383165f818152600260205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611cb69085815260200190565b60405180910390a35050565b5f818310611cd05781611cd2565b825b9392505050565b6001600160a01b0382165f90815260026020526040902054611cfb9082611755565b6001600160a01b0383165f90815260026020526040902055600154611d209082611755565b6001556040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611cb6565b5f610923600160701b6001600160701b0384166123c4565b5f611cd26001600160701b038316846123f6565b5f82611d988382612396565b91508110156109235760405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015260640161042b565b6001600160a01b0381168114611df4575f80fd5b50565b5f805f805f60808688031215611e0b575f80fd5b85359450602086013593506040860135611e2481611de0565b9250606086013567ffffffffffffffff80821115611e40575f80fd5b818801915088601f830112611e53575f80fd5b813581811115611e61575f80fd5b896020828501011115611e72575f80fd5b9699959850939650602001949392505050565b5f5b83811015611e9f578181015183820152602001611e87565b50505f910152565b602081525f8251806020840152611ec5816040850160208701611e85565b601f01601f19169190910160400192915050565b5f8060408385031215611eea575f80fd5b8235611ef581611de0565b946020939093013593505050565b5f805f60608486031215611f15575f80fd5b8335611f2081611de0565b92506020840135611f3081611de0565b929592945050506040919091013590565b5f8060408385031215611f52575f80fd5b8235611f5d81611de0565b91506020830135611f6d81611de0565b809150509250929050565b5f60208284031215611f88575f80fd5b8135611cd281611de0565b5f805f805f805f60e0888a031215611fa9575f80fd5b8735611fb481611de0565b96506020880135611fc481611de0565b95506040880135945060608801359350608088013560ff81168114611fe7575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b6020808252600f908201526e15995c9d1bd58c8e881313d0d2d151608a1b604082015260600190565b60018060a01b038616815284602082015283604082015260806060820152816080820152818360a08301375f81830160a090810191909152601f909201601f19160101949350505050565b5f60208284031215612088575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156109235761092361208f565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156120da575f80fd5b815167ffffffffffffffff808211156120f1575f80fd5b818401915084601f830112612104575f80fd5b815181811115612116576121166120b6565b604051601f8201601f19908116603f0116810190838211818310171561213e5761213e6120b6565b81604052828152876020848701011115612156575f80fd5b612167836020830160208801611e85565b979650505050505050565b5f8351612183818460208801611e85565b835190830190612197818360208801611e85565b605360f81b9101908152600101949350505050565b600181811c908216806121c057607f821691505b602082108103611c1f57634e487b7160e01b5f52602260045260245ffd5b601f821115610bdb575f81815260208120601f850160051c810160208610156122045750805b601f850160051c820191505b8181101561222357828155600101612210565b505050505050565b815167ffffffffffffffff811115612245576122456120b6565b6122598161225384546121ac565b846121de565b602080601f83116001811461228c575f84156122755750858301515b5f19600386901b1c1916600185901b178555612223565b5f85815260208120601f198616915b828110156122ba5788860151825594840194600190910190840161229b565b50858210156122d757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601260045260245ffd5b5f82612309576123096122e7565b500490565b5f825161231f818460208701611e85565b9190910192915050565b5f60208284031215612339575f80fd5b81518015158114611cd2575f80fd5b80820281158282048414176109235761092361208f565b5f8261236d5761236d6122e7565b500690565b63ffffffff82811682821603908082111561238f5761238f61208f565b5092915050565b808201808211156109235761092361208f565b5f602082840312156123b9575f80fd5b8151611cd281611de0565b6001600160e01b038281168282168181028316929181158285048214176123ed576123ed61208f565b50505092915050565b5f6001600160e01b038381168061240f5761240f6122e7565b9216919091049291505056fea164736f6c6343000814000aa164736f6c6343000814000a",
"linkReferences": {},
"deployedLinkReferences": {}
}