UNPKG

@daostack/arc-experimental

Version:

A platform for building DAOs

497 lines (496 loc) 43 kB
{ "contractName": "FundingRequest", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_avatar", "type": "address" }, { "indexed": true, "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" }, { "indexed": false, "internalType": "address payable", "name": "_beneficiary", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "_descriptionHash", "type": "string" } ], "name": "NewFundingProposal", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_avatar", "type": "address" }, { "indexed": true, "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" }, { "indexed": false, "internalType": "bool", "name": "_decision", "type": "bool" } ], "name": "ProposalExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_avatar", "type": "address" }, { "indexed": true, "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "_beneficiary", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Redeem", "type": "event" }, { "inputs": [], "name": "FUNDED_BEFORE_DEADLINE_KEY", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FUNDED_BEFORE_DEADLINE_VALUE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "avatar", "outputs": [ { "internalType": "contract Avatar", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "balanceOfStakingToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "burnReputation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" }, { "internalType": "int256", "name": "_decision", "type": "int256" } ], "name": "executeProposal", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "fundingToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "getTotalReputationSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract Avatar", "name": "_avatar", "type": "address" }, { "internalType": "contract IntVoteInterface", "name": "_votingMachine", "type": "address" }, { "internalType": "uint256[11]", "name": "_votingParams", "type": "uint256[11]" }, { "internalType": "address", "name": "_voteOnBehalf", "type": "address" }, { "internalType": "bytes32", "name": "_voteParamsHash", "type": "bytes32" }, { "internalType": "contract IERC20", "name": "_fundingToken", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "mintReputation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "proposals", "outputs": [ { "internalType": "address payable", "name": "beneficiary", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "string", "name": "descriptionHash", "type": "string" }, { "internalType": "uint256", "name": "executionTime", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "proposalsBlockNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "_beneficiary", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "string", "name": "_descriptionHash", "type": "string" } ], "name": "propose", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "redeem", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "reputationOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "stakingTokenTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "voteParamsHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "votingMachine", "outputs": [ { "internalType": "contract IntVoteInterface", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50611f80806100206000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80639588378e116100a2578063bea75f2811610071578063bea75f281461046c578063d29b5d2f146104a8578063e4392dbb146104da578063eda1122c146104e2578063f81f8bf6146104ff57610116565b80639588378e1461039d578063985e313f146103c95780639d4c162d14610418578063b551c3731461044f57610116565b80636b8eb403116100e95780636b8eb4031461021457806378065f27146102405780637a5cb92c146102485780637b166f60146102655780639537ba0c1461032057610116565b806332ed5b121461011b5780633edf7ca1146101ce5780634ea2c7ec146101f25780635aef7de61461020c575b600080fd5b6101386004803603602081101561013157600080fd5b5035610531565b60405180856001600160a01b0316815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610190578181015183820152602001610178565b50505050905090810190601f1680156101bd5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6101d66105ed565b604080516001600160a01b039092168252519081900360200190f35b6101fa6105fc565b60408051918252519081900360200190f35b6101d6610602565b6101fa6004803603604081101561022a57600080fd5b506001600160a01b038135169060200135610611565b6101d66106eb565b6101fa6004803603602081101561025e57600080fd5b50356106fa565b6101fa6004803603606081101561027b57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102ab57600080fd5b8201836020820111156102bd57600080fd5b803590602001918460018302840111640100000000831117156102df57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061070c945050505050565b610328610b68565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036257818101518382015260200161034a565b50505050905090810190601f16801561038f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fa600480360360408110156103b357600080fd5b506001600160a01b038135169060200135610b88565b61041660048036036102008110156103e057600080fd5b506001600160a01b038135811691602081013582169160408201916101a08101358216916101c0820135916101e0013516610cb9565b005b61043b6004803603604081101561042e57600080fd5b5080359060200135610d17565b604080519115158252519081900360200190f35b6101fa6004803603602081101561046557600080fd5b5035610e1c565b61043b6004803603608081101561048257600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356110b8565b61043b600480360360608110156104be57600080fd5b508035906001600160a01b03602082013516906040013561121c565b610328611377565b610416600480360360208110156104f857600080fd5b50356113a9565b61043b6004803603606081101561051557600080fd5b508035906001600160a01b0360208201351690604001356117f4565b60376020908152600091825260409182902080546001808301546002808501805488516101009582161595909502600019011691909104601f81018790048702840187019097528683526001600160a01b039093169590949192918301828280156105dd5780601f106105b2576101008083540402835291602001916105dd565b820191906000526020600020905b8154815290600101906020018083116105c057829003601f168201915b5050505050908060030154905084565b6034546001600160a01b031681565b60355481565b6033546001600160a01b031681565b60345460009082906001600160a01b0316331461066a576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b1580156106b757600080fd5b505afa1580156106cb573d6000803e3d6000fd5b505050506040513d60208110156106e157600080fd5b5051949350505050565b6038546001600160a01b031681565b60366020526000908152604090205481565b6040805180820182526004808252635452554560e01b60208084019190915260335484518086018652601681527546554e4445445f4245464f52455f444541444c494e4560501b81840190815295516358cb548b60e01b81529384019283528051602485015280516000966108fb96956001600160a01b03909416946358cb548b9490928392604490920191908083838d5b838110156107b657818101518382015260200161079e565b50505050905090810190601f1680156107e35780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b15801561080057600080fd5b505afa158015610814573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561083d57600080fd5b810190808051604051939291908464010000000082111561085d57600080fd5b90830190602082018581111561087257600080fd5b825164010000000081118282018810171561088c57600080fd5b82525081516020918201929091019080838360005b838110156108b95781810151838201526020016108a1565b50505050905090810190601f1680156108e65780820380516001836020036101000a031916815260200191505b5060405250505061191a90919063ffffffff16565b61094c576040805162461bcd60e51b815260206004820152601a60248201527f66756e64696e67206973206e6f7420616c6c6f77656420796574000000000000604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b1580156109b757600080fd5b505af11580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b50519050846001600160a01b0381166109f75750335b6109ff611d9f565b50604080516080810182526001600160a01b03838116825260208083018981528385018981526000606086018190528881526037845295909520845181546001600160a01b03191694169390931783555160018301559251805192938493610a6d9260028501920190611dd0565b506060820151816003015590505082603360009054906101000a90046001600160a01b03166001600160a01b03167f5521e19c8b6a114aa1b48b207fe948b6adb2c015a14db582702484d4ed847bf984898960405180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b11578181015183820152602001610af9565b50505050905090810190601f168015610b3e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a350506000818152603660205260409020439055949350505050565b604051806040016040528060048152602001635452554560e01b81525081565b60345460009082906001600160a01b03163314610be1576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2f57600080fd5b505afa158015610c43573d6000803e3d6000fd5b505050506040513d6020811015610c5957600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b1580156106b757600080fd5b610cf086868487600b806020026040519081016040528092919082600b60200280828437600092019190915250899150611a139050565b603880546001600160a01b0319166001600160a01b03929092169190911790555050505050565b60345460009083906001600160a01b03163314610d70576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b60008481526037602052604090206003015415610d8c57600080fd5b6000848152603760205260409020546001600160a01b0316610dad57600080fd5b8260011415610dcc576000848152603760205260409020426003909101555b60335460408051600186148152905186926001600160a01b0316917fd8b58d7c4ba1519b89f0a4b59f85c776d1bb2876a5087a4e604403c4c3c69f6d919081900360200190a35060019392505050565b60345460009082906001600160a01b03163314610e75576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec357600080fd5b505afa158015610ed7573d6000803e3d6000fd5b505050506040513d6020811015610eed57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b158015610f3757600080fd5b505afa158015610f4b573d6000803e3d6000fd5b505050506040513d6020811015610f6157600080fd5b5051610fb4576040805162461bcd60e51b815260206004820152601860248201527f736368656d65206973206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d602081101561102c57600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561108557600080fd5b505afa158015611099573d6000803e3d6000fd5b505050506040513d60208110156110af57600080fd5b50519392505050565b60345460009082906001600160a01b03163314611111576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561115f57600080fd5b505afa158015611173573d6000803e3d6000fd5b505050506040513d602081101561118957600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b1580156111e657600080fd5b505af11580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b50519695505050505050565b60345460009082906001600160a01b03163314611275576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112c357600080fd5b505afa1580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b15801561134257600080fd5b505af1158015611356573d6000803e3d6000fd5b505050506040513d602081101561136c57600080fd5b505195945050505050565b6040518060400160405280601681526020017546554e4445445f4245464f52455f444541444c494e4560501b81525081565b6113b1611d9f565b600082815260376020908152604091829020825160808101845281546001600160a01b03168152600180830154828501526002808401805487516101009482161594909402600019011691909104601f8101869004860283018601875280835292959394938601939192909183018282801561146e5780601f106114435761010080835404028352916020019161146e565b820191906000526020600020905b81548152906001019060200180831161145157829003601f168201915b5050509183525050600391820154602091820152600085815260379091526040902090810154919250906114d35760405162461bcd60e51b8152600401808060200182810382526027815260200180611eab6027913960400191505060405180910390fd5b600060038201556038546001600160a01b031661162757603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561153857600080fd5b505afa15801561154c573d6000803e3d6000fd5b505050506040513d602081101561156257600080fd5b505160208381015184516040805163658b6a5160e11b815260048101939093526001600160a01b0391821660248401525193169263cb16d4a2926044808401939192918290030181600087803b1580156115bb57600080fd5b505af11580156115cf573d6000803e3d6000fd5b505050506040513d60208110156115e557600080fd5b50516116225760405162461bcd60e51b8152600401808060200182810382526029815260200180611ed26029913960400191505060405180910390fd5b611769565b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561167557600080fd5b505afa158015611689573d6000803e3d6000fd5b505050506040513d602081101561169f57600080fd5b505160385483516020858101516040805163dab0efff60e01b81526001600160a01b0395861660048201529385166024850152604484019190915251929093169263dab0efff926064808401938290030181600087803b15801561170257600080fd5b505af1158015611716573d6000803e3d6000fd5b505050506040513d602081101561172c57600080fd5b50516117695760405162461bcd60e51b8152600401808060200182810382526022815260200180611f296022913960400191505060405180910390fd5b815160335460208085015160408051918252516001600160a01b0394851694889416927f075749b8acc7384f25535cc6f8f122e4d5129595395cb6fbcbf8b15006069eda928290030190a4600083815260376020526040812080546001600160a01b031916815560018101829055906117e56002830182611e4e565b60038201600090555050505050565b60345460009082906001600160a01b0316331461184d576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b15801561134257600080fd5b6000815183511461192d57506000611a0d565b816040516020018082805190602001908083835b602083106119605780518252601f199092019160209182019101611941565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106119ce5780518252601f1990920191602091820191016119af565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490505b92915050565b6001600160a01b038416611a6e576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b611a7785611c80565b603480546001600160a01b0319166001600160a01b03861617905582611c73576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b83811015611ae1578181015183820152602001611ac9565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b158015611b1357600080fd5b505afa158015611b27573d6000803e3d6000fd5b505050506040513d6020811015611b3d57600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b158015611b8f57600080fd5b505afa158015611ba3573d6000803e3d6000fd5b505050506040513d6101a0811015611bba57600080fd5b5051905080611c6c57604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b83811015611c0b578181015183820152602001611bf3565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b158015611c3f57600080fd5b505af1158015611c53573d6000803e3d6000fd5b505050506040513d6020811015611c6957600080fd5b50505b5050611c79565b60358390555b5050505050565b600054610100900460ff1680611c995750611c99611d99565b80611ca7575060005460ff16155b611ce25760405162461bcd60e51b815260040180806020018281038252602e815260200180611efb602e913960400191505060405180910390fd5b600054610100900460ff16158015611d0d576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216611d68576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015611d95576000805461ff00191690555b5050565b303b1590565b604051806080016040528060006001600160a01b031681526020016000815260200160608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e1157805160ff1916838001178555611e3e565b82800160010185558215611e3e579182015b82811115611e3e578251825591602001919060010190611e23565b50611e4a929150611e95565b5090565b50805460018160011615610100020316600290046000825580601f10611e745750611e92565b601f016020900490600052602060002090810190611e929190611e95565b50565b5b80821115611e4a5760008155600101611e9656fe70726f706f73616c20646f6573206e6f74206578697374206f72206e6f7420617070726f7665646661696c656420746f207472616e73666572206e6574776f726b20746f6b656e2066726f6d2044414f436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65646661696c656420746f207472616e7366657220746f6b656e732066726f6d2044414fa26469706673582212205198cd526db957ff12e9e23b7b94d6275e0bf4d8d943d617214f973d39fc3ead64736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80639588378e116100a2578063bea75f2811610071578063bea75f281461046c578063d29b5d2f146104a8578063e4392dbb146104da578063eda1122c146104e2578063f81f8bf6146104ff57610116565b80639588378e1461039d578063985e313f146103c95780639d4c162d14610418578063b551c3731461044f57610116565b80636b8eb403116100e95780636b8eb4031461021457806378065f27146102405780637a5cb92c146102485780637b166f60146102655780639537ba0c1461032057610116565b806332ed5b121461011b5780633edf7ca1146101ce5780634ea2c7ec146101f25780635aef7de61461020c575b600080fd5b6101386004803603602081101561013157600080fd5b5035610531565b60405180856001600160a01b0316815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610190578181015183820152602001610178565b50505050905090810190601f1680156101bd5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6101d66105ed565b604080516001600160a01b039092168252519081900360200190f35b6101fa6105fc565b60408051918252519081900360200190f35b6101d6610602565b6101fa6004803603604081101561022a57600080fd5b506001600160a01b038135169060200135610611565b6101d66106eb565b6101fa6004803603602081101561025e57600080fd5b50356106fa565b6101fa6004803603606081101561027b57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156102ab57600080fd5b8201836020820111156102bd57600080fd5b803590602001918460018302840111640100000000831117156102df57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061070c945050505050565b610328610b68565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036257818101518382015260200161034a565b50505050905090810190601f16801561038f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fa600480360360408110156103b357600080fd5b506001600160a01b038135169060200135610b88565b61041660048036036102008110156103e057600080fd5b506001600160a01b038135811691602081013582169160408201916101a08101358216916101c0820135916101e0013516610cb9565b005b61043b6004803603604081101561042e57600080fd5b5080359060200135610d17565b604080519115158252519081900360200190f35b6101fa6004803603602081101561046557600080fd5b5035610e1c565b61043b6004803603608081101561048257600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356110b8565b61043b600480360360608110156104be57600080fd5b508035906001600160a01b03602082013516906040013561121c565b610328611377565b610416600480360360208110156104f857600080fd5b50356113a9565b61043b6004803603606081101561051557600080fd5b508035906001600160a01b0360208201351690604001356117f4565b60376020908152600091825260409182902080546001808301546002808501805488516101009582161595909502600019011691909104601f81018790048702840187019097528683526001600160a01b039093169590949192918301828280156105dd5780601f106105b2576101008083540402835291602001916105dd565b820191906000526020600020905b8154815290600101906020018083116105c057829003601f168201915b5050505050908060030154905084565b6034546001600160a01b031681565b60355481565b6033546001600160a01b031681565b60345460009082906001600160a01b0316331461066a576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b1580156106b757600080fd5b505afa1580156106cb573d6000803e3d6000fd5b505050506040513d60208110156106e157600080fd5b5051949350505050565b6038546001600160a01b031681565b60366020526000908152604090205481565b6040805180820182526004808252635452554560e01b60208084019190915260335484518086018652601681527546554e4445445f4245464f52455f444541444c494e4560501b81840190815295516358cb548b60e01b81529384019283528051602485015280516000966108fb96956001600160a01b03909416946358cb548b9490928392604490920191908083838d5b838110156107b657818101518382015260200161079e565b50505050905090810190601f1680156107e35780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b15801561080057600080fd5b505afa158015610814573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561083d57600080fd5b810190808051604051939291908464010000000082111561085d57600080fd5b90830190602082018581111561087257600080fd5b825164010000000081118282018810171561088c57600080fd5b82525081516020918201929091019080838360005b838110156108b95781810151838201526020016108a1565b50505050905090810190601f1680156108e65780820380516001836020036101000a031916815260200191505b5060405250505061191a90919063ffffffff16565b61094c576040805162461bcd60e51b815260206004820152601a60248201527f66756e64696e67206973206e6f7420616c6c6f77656420796574000000000000604482015290519081900360640190fd5b60345460355460335460408051634439bdaf60e11b81526002600482015260248101939093523360448401526001600160a01b0391821660648401525160009391909116916388737b5e91608480830192602092919082900301818787803b1580156109b757600080fd5b505af11580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b50519050846001600160a01b0381166109f75750335b6109ff611d9f565b50604080516080810182526001600160a01b03838116825260208083018981528385018981526000606086018190528881526037845295909520845181546001600160a01b03191694169390931783555160018301559251805192938493610a6d9260028501920190611dd0565b506060820151816003015590505082603360009054906101000a90046001600160a01b03166001600160a01b03167f5521e19c8b6a114aa1b48b207fe948b6adb2c015a14db582702484d4ed847bf984898960405180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b11578181015183820152602001610af9565b50505050905090810190601f168015610b3e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a350506000818152603660205260409020439055949350505050565b604051806040016040528060048152602001635452554560e01b81525081565b60345460009082906001600160a01b03163314610be1576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2f57600080fd5b505afa158015610c43573d6000803e3d6000fd5b505050506040513d6020811015610c5957600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b1580156106b757600080fd5b610cf086868487600b806020026040519081016040528092919082600b60200280828437600092019190915250899150611a139050565b603880546001600160a01b0319166001600160a01b03929092169190911790555050505050565b60345460009083906001600160a01b03163314610d70576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b60008481526037602052604090206003015415610d8c57600080fd5b6000848152603760205260409020546001600160a01b0316610dad57600080fd5b8260011415610dcc576000848152603760205260409020426003909101555b60335460408051600186148152905186926001600160a01b0316917fd8b58d7c4ba1519b89f0a4b59f85c776d1bb2876a5087a4e604403c4c3c69f6d919081900360200190a35060019392505050565b60345460009082906001600160a01b03163314610e75576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec357600080fd5b505afa158015610ed7573d6000803e3d6000fd5b505050506040513d6020811015610eed57600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b158015610f3757600080fd5b505afa158015610f4b573d6000803e3d6000fd5b505050506040513d6020811015610f6157600080fd5b5051610fb4576040805162461bcd60e51b815260206004820152601860248201527f736368656d65206973206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d602081101561102c57600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561108557600080fd5b505afa158015611099573d6000803e3d6000fd5b505050506040513d60208110156110af57600080fd5b50519392505050565b60345460009082906001600160a01b03163314611111576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561115f57600080fd5b505afa158015611173573d6000803e3d6000fd5b505050506040513d602081101561118957600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b1580156111e657600080fd5b505af11580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b50519695505050505050565b60345460009082906001600160a01b03163314611275576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112c357600080fd5b505afa1580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b15801561134257600080fd5b505af1158015611356573d6000803e3d6000fd5b505050506040513d602081101561136c57600080fd5b505195945050505050565b6040518060400160405280601681526020017546554e4445445f4245464f52455f444541444c494e4560501b81525081565b6113b1611d9f565b600082815260376020908152604091829020825160808101845281546001600160a01b03168152600180830154828501526002808401805487516101009482161594909402600019011691909104601f8101869004860283018601875280835292959394938601939192909183018282801561146e5780601f106114435761010080835404028352916020019161146e565b820191906000526020600020905b81548152906001019060200180831161145157829003601f168201915b5050509183525050600391820154602091820152600085815260379091526040902090810154919250906114d35760405162461bcd60e51b8152600401808060200182810382526027815260200180611eab6027913960400191505060405180910390fd5b600060038201556038546001600160a01b031661162757603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561153857600080fd5b505afa15801561154c573d6000803e3d6000fd5b505050506040513d602081101561156257600080fd5b505160208381015184516040805163658b6a5160e11b815260048101939093526001600160a01b0391821660248401525193169263cb16d4a2926044808401939192918290030181600087803b1580156115bb57600080fd5b505af11580156115cf573d6000803e3d6000fd5b505050506040513d60208110156115e557600080fd5b50516116225760405162461bcd60e51b8152600401808060200182810382526029815260200180611ed26029913960400191505060405180910390fd5b611769565b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561167557600080fd5b505afa158015611689573d6000803e3d6000fd5b505050506040513d602081101561169f57600080fd5b505160385483516020858101516040805163dab0efff60e01b81526001600160a01b0395861660048201529385166024850152604484019190915251929093169263dab0efff926064808401938290030181600087803b15801561170257600080fd5b505af1158015611716573d6000803e3d6000fd5b505050506040513d602081101561172c57600080fd5b50516117695760405162461bcd60e51b8152600401808060200182810382526022815260200180611f296022913960400191505060405180910390fd5b815160335460208085015160408051918252516001600160a01b0394851694889416927f075749b8acc7384f25535cc6f8f122e4d5129595395cb6fbcbf8b15006069eda928290030190a4600083815260376020526040812080546001600160a01b031916815560018101829055906117e56002830182611e4e565b60038201600090555050505050565b60345460009082906001600160a01b0316331461184d576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b15801561134257600080fd5b6000815183511461192d57506000611a0d565b816040516020018082805190602001908083835b602083106119605780518252601f199092019160209182019101611941565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106119ce5780518252601f1990920191602091820191016119af565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490505b92915050565b6001600160a01b038416611a6e576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b611a7785611c80565b603480546001600160a01b0319166001600160a01b03861617905582611c73576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b83811015611ae1578181015183820152602001611ac9565b50505050905001826001600160a01b031681526020019250505060206040518083038186803b158015611b1357600080fd5b505afa158015611b27573d6000803e3d6000fd5b505050506040513d6020811015611b3d57600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b158015611b8f57600080fd5b505afa158015611ba3573d6000803e3d6000fd5b505050506040513d6101a0811015611bba57600080fd5b5051905080611c6c57604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b83811015611c0b578181015183820152602001611bf3565b50505050905001826001600160a01b0316815260200192505050602060405180830381600087803b158015611c3f57600080fd5b505af1158015611c53573d6000803e3d6000fd5b505050506040513d6020811015611c6957600080fd5b50505b5050611c79565b60358390555b5050505050565b600054610100900460ff1680611c995750611c99611d99565b80611ca7575060005460ff16155b611ce25760405162461bcd60e51b815260040180806020018281038252602e815260200180611efb602e913960400191505060405180910390fd5b600054610100900460ff16158015611d0d576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216611d68576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015611d95576000805461ff00191690555b5050565b303b1590565b604051806080016040528060006001600160a01b031681526020016000815260200160608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e1157805160ff1916838001178555611e3e565b82800160010185558215611e3e579182015b82811115611e3e578251825591602001919060010190611e23565b50611e4a929150611e95565b5090565b50805460018160011615610100020316600290046000825580601f10611e745750611e92565b601f016020900490600052602060002090810190611e929190611e95565b50565b5b80821115611e4a5760008155600101611e9656fe70726f706f73616c20646f6573206e6f74206578697374206f72206e6f7420617070726f7665646661696c656420746f207472616e73666572206e6574776f726b20746f6b656e2066726f6d2044414f436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65646661696c656420746f207472616e7366657220746f6b656e732066726f6d2044414fa26469706673582212205198cd526db957ff12e9e23b7b94d6275e0bf4d8d943d617214f973d39fc3ead64736f6c634300060c0033", "linkReferences": {}, "deployedLinkReferences": {} }